U
    9%e&
                     @   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sft
t|}|d dks~t
|d |d  kst
|d |d  kst
|d dkst
|d |d  kst
|d	 dkst
|d
 dkst
|d |d kst
t|}	|	d dks t
|	d |d  ks8t
|	d |d  ksPt
|	d dksbt
|	d |d  kszt
|	d	 dkst
|	d
 dkst
|	d |d kst
t|}
|
d dkst
|
d dkst
|
d dkst
|
d dkst
|
d dkst
|
d |d  ks.t
|
d |d ksDt
|
d dksVt
|
d dksht
|
d |d ks~t
|
d |d  kst
|
d dkst
|
d dkst
|
d dkst
|
d dkst
|
d dkst
t|}|d |d  kst
|d dks"t
|d dks4t
|d |d  ksLt
|t|d  dd|d  gd kstt
|d |d!  |d"  }|dkst
|d" dkst
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   AssertionErrorr   r   r   r   r   )ZTPr   r   r   r   gZautomatmatZgamma1Zgamma2ZRmZRicR r   i/var/www/html/Darija-Ai-API/env/lib/python3.8/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
   