
    g&
                     L    d Z ddlmZ ddlmZmZmZmZmZ ddl	Z
ddlmZ d ZdS )aL  
unit test describing the hyperbolic half-plane with the Poincare metric. This
is a basic model of hyperbolic geometry on the (positive) half-space

{(x,y) \in R^2 | y > 0}

with the Riemannian metric

ds^2 = (dx^2 + dy^2)/y^2

It has constant negative scalar curvature = -2

https://en.wikipedia.org/wiki/Poincare_half-plane_model
    )diag)twoform_to_matrixmetric_to_Christoffel_1stmetric_to_Christoffel_2ndmetric_to_Riemann_componentsmetric_to_Ricci_componentsN)ImmutableDenseNDimArrayc                  ~   t           j        j        } t           j        j        j        }|j        }|j        }|j        } | ||           | ||          z   |dz  z  }t          |          }t          |dz  |dz            }||k    sJ t          |          }|d         dk    sJ |d         |dz   k    sJ |d         |dz   k    sJ |d         dk    sJ |d         |dz   k    sJ |d	         dk    sJ |d
         dk    sJ |d         |dz  k    sJ t          |          }	|	d         dk    sJ |	d         |dz   k    sJ |	d         |dz   k    sJ |	d         dk    sJ |	d         |dz   k    sJ |	d	         dk    sJ |	d
         dk    sJ |	d         |dz  k    sJ t          |          }
|
d         dk    sJ |
d         dk    sJ |
d         dk    sJ |
d         dk    sJ |
d         dk    sJ |
d         |dz   k    sJ |
d         |dz  k    sJ |
d         dk    sJ |
d         dk    sJ |
d         |dz  k    sJ |
d         |dz   k    sJ |
d         dk    sJ |
d         dk    sJ |
d         dk    sJ |
d         dk    sJ |
d         dk    sJ t          |          }|d         |dz   k    sJ |d         dk    sJ |d         dk    sJ |d         |dz   k    sJ |t          |dz   dd|dz   gd           k    sJ |d         |d!         z   |d"z  z  }|dk    sJ |d"z  dk    sJ d S )#N)r   r   r   r   )r   r      )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   )r   r   )r   r   )   r   )r   r   r   )sympydiffgeomTensorProductrnR2ydydxr   r   r   r   r   r   r	   )TPr   r   r   r   gautomatmatgamma1gamma2RmRicRs                f/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/diffgeom/tests/test_hyperbolic_space.pytest_H2r"      sd   		%B			B
A	B	B	BbbRjj	 !b')A""G
q2wB
 
 C'>>>>&q))F'?a'?q2wh&&&&'?q2wh&&&&'?a'?q2wh&&&&'?a'?a'?a"g%%%%&q))F'?a'?q2wh&&&&'?q2wh&&&&'?a'?q2wh&&&&'?a'?a'?a"g%%%%	%a	(	(Bj>Qj>Qj>Qj>Qj>Qj>a"gX%%%%j>QW$$$$j>Qj>Qj>QW$$$$j>a"gX%%%%j>Qj>Qj>Qj>Qj>Q
$Q
'
'Ct9R    t9>>>>t9>>>>t9R    )AG8QAG8*DfMMMMMM 
TSY	1$A7777 Q3"999999    )__doc__sympy.matrices.denser   sympy.diffgeomr   r   r   r   r   sympy.diffgeom.rnr   sympy.tensor.arrayr	   r"    r#   r!   <module>r*      s     & % % % % %V V V V V V V V V V V V V V     6 6 6 6 6 6D D D D Dr#   