o
    GZh&
                     @   sL   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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                  C   s  t jj} t jjj}|j}|j}|j}| ||| || |d  }t|}t	|d |d }||ks3J t
|}|d dks?J |d |d  ksJJ |d |d  ksUJ |d dks]J |d |d  kshJ |d	 dkspJ |d
 dksxJ |d |d ksJ t|}	|	d dksJ |	d |d  ksJ |	d |d  ksJ |	d dksJ |	d |d  ksJ |	d	 dksJ |	d
 dksJ |	d |d ksJ t|}
|
d dksJ |
d dksJ |
d dksJ |
d dksJ |
d dksJ |
d |d  ks	J |
d |d ksJ |
d dksJ |
d dks&J |
d |d ks1J |
d |d  ks=J |
d dksFJ |
d dksOJ |
d dksXJ |
d dksaJ |
d dksjJ t|}|d |d  kszJ |d dksJ |d dksJ |d |d  ksJ |t|d  dd|d  gd ksJ |d |d!  |d"  }|dksJ |d" dksJ 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   )sympyZdiffgeomZTensorProductZrnR2ydydxr   r   r   r   r   r   r   )ZTPr   r   r   r   gZautomatmatZgamma1Zgamma2ZRmZRicR r   Y/var/www/auris/lib/python3.10/site-packages/sympy/diffgeom/tests/test_hyperbolic_space.pytest_H2   sj   
(r   )__doc__Zsympy.matrices.denser   Zsympy.diffgeomr   r   r   r   r   Zsympy.diffgeom.rnr   Zsympy.tensor.arrayr   r   r   r   r   r   <module>   s    