
    sg{                         d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ d d	lmZmZmZmZ d d
lmZ  ed      \  ZZZddZd Zd Z d Z!d Z"d Z#y)    )IRationaloopi)S)symbols)exp)sqrt)cossin)	integrate)simplify)R_nlE_nl
E_nl_diracPsi_nlm)raiseszn r Zc                     t        |       } t        |      }t        | |z
        |k  ryt        |      t        |       kD  rt        | |z
  |z        }||k  S t        | |z
  | z        }||k  S )NT)floatabs)abmax_relative_errormax_absolute_errorrelative_errors        T/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/tests/test_hydrogen.pyfeqr      su    aAaA
1q5z&&
1vAa!eQY /// a!eQY///    c                     dt         z  } dt        d| dz  z        z  t        t         | z        z  t        dd| dz  z  z        t        t         d| z  z        z  dt        d| z  z  z
  z  t        j
                  t        dd| dz  z  z        z  t        t         d| z  z        z  t        z  | z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  ddt        z  d| z  z  z
  t        dd      t        | z  dz  z  z   z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  dt        d| z  z  z
  z  t        z  | z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  t        | z  dz  z  t        dd      t        d| dz  z        z  t        t         d| z  z        z  ddt        z  d| z  z  z
  t        dd	      t        | z  dz  z  z   t        dd
      t        | z  dz  z  z
  z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  dt        d| z  z  z
  t        dd      t        | z  dz  z  z   z  t        | z  z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  dt        d| z  z  z
  z  t        | z  dz  z  t        dd      t        dd| dz  z  z        z  t        t         d| z  z        z  t        | z  dz  z  d
}|D ]1  \  }}t        t        ||t        t               |||f   z
        dk(  r1J  y )N                  Q                  P   @      i   #   )
)r    r   )r!   r   )r!   r    )r"   r   )r"   r    )r"   r!   )r%   r   )r%   r    )r%   r!   )r%   r"   r   )	Zr
   r	   rr   Halfr   r   r   )r   Rnls       r   test_wavefunctionr6      sT   	!A$qAv,aRT*Q!Q$Z 3r1Q3x=0A1Q3K@a1a4j))CAaCM9A=a?Aa1a4j!11CAaCMA	
QqS!A#Y!RAaC!83	35B$q!AqD&z"22S!QqS]B	
Q!WB$q"QT'{"33c1"ac(mCqsQhNAa1f-QB!H=	
QqS!A#Y!Q1Q3(2	2Xa5E1q5P	PRB$q!AqD&z"22S!QqS]B	
Q!Wx2!A#1	1367c;B$q!AqD&z"22S!QqS]B	
Q1XA#"C 42ad7#44sA2qs8}D!axO	A"  ;1Q1a(1aV945:::;r   c            	          d} t        | dz         D ]J  }t        |      D ]:  }t        t        ||t              dz  t        dz  z  t        dt        f      dk(  r:J  L y )Nr!   r    r   )ranger   r   r1   r   )n_maxr4   r5   s      r   	test_normr:   4   sg    E519 Gq 	GAT!Q]A-14q!RjAQFFF	GGr   c            	         t        d      } t        d      }t        d      }t        ddd| ||      t        |        t        t              z  k(  sJ t        ddd| ||      t         j
                  t        |  dz        z  | z  t        |      t        t         |z        z  dt        t              z  z  z  k(  sJ t        d	dd| ||d      t        d       t        |      z  t        t        |z        z  t        |      z  dt        t              z  z  t        d      z  d
z  t        d      z  t        d| z  d	z        z  | dz  dz  z  k(  sJ y )Nr1   phithetar    r   r!   r%   r"   r&   r*   )	r   r   r	   r
   r   r2   r   r   r   )r1   r<   r=   s      r   test_psi_nlmr@   ;   sS   fA	%C
G*EAq!QU+sA2wb/AABAAq"ae,#qbAh-1G!1Ku:QBH%T"X628 8 8 8Aq!QUA.47(SZ2Gq3w<3e*3%()DH3689!3=?A3B
z
3 a1.3/23a%A3> > ? >r   c                     t        t        t              t        dz   dt        dz  z  z  k(  sJ t        t              ddt        dz  z  z  k(  sJ t        dd      t        d      dz   dz  k(  sJ t        dd      t        d      dz   dz  k(  sJ t        d      t        j                   dz  k(  sJ t        d      t        j                   dz  k(  sJ t        d      t        j                   dz  k(  sJ t        d      t        j                   d	z  k(  sJ t        d
      t        j                   dz  k(  sJ t        t        d        y )Nr!   r>   r    /   r(   r"      r%       d   i N  c                      t        d      S Nr   )r    r   r   <lambda>z(test_hydrogen_energies.<locals>.<lambda>S   s
    tAw r   )r   r4   r0   r   Oner   
ValueErrorrH   r   r   test_hydrogen_energiesrL   F   s#   1:!Q$!Q$'''7b!AqD&k!!!2;1R5!8)V,,,,2;1R5!8)V,,,,7quuffo%%%7quuffo%%%7quuffo%%%7quuffo%%%9))))
:'r   c                     t        dddd      dt        d      z  dz
  k(  sJ t        t        dddd      dt        d      z  dz   t        dt        d      z  dz         z  d	z
  z
        dk(  sJ t        t        dddd      d
t        d      z  dz   t        dt        d      z  dz         z  dz
  z
        dk(  sJ t        t        dddd      ddt        d      z  z   t        ddt        d      z  z         z  dz
  z
        dk(  sJ t        t        dddd      ddt        d      z  z   t        ddt        d      z  z         z  dz
  z
        dk(  sJ t        dd      D ]_  } t        |       D ]O  }t	        t        | |      t        |       dd      sJ |dkD  s,t	        t        | |d      t        |       dd      rOJ  a d}t        dd      D ]d  } t        |       D ]T  }t	        t        | ||      t        | |      dd      sJ |dkD  s/t	        t        | |d|      t        | |      dd      rTJ  f d}t        dd      D ]d  } t        |       D ]T  }t	        t        | ||      t        | |      dd      sJ |dkD  s/t	        t        | |d|      t        | |      dd      rTJ  f t        t        d         t        t        d!        t        t        d"        y )#Nr!   r   r    )r0   cr(   r"   r*   rD   r%   6   r&   l      	      iKid i  iB)i9iQI  R   iY<' i/  ixN r+   gh㈵>F)r0   g-C6?gMbP?c                      t        dd      S rG   r   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>|   s    z!Q/ r   c                      t        dd      S )Nr    r>   rV   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>}   s    z!R0 r   c                      t        ddd      S )Nr    r   FrV   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>~   s    z!Q6 r   )r   r
   r   r8   r   r   r   rK   )r4   r5   r0   s      r   test_hydrogen_energies_relatrY   V   sR   aa1%47Q666Jq!qA.Ad1gINr$q'zB'4(*+4, - .123 3 3Jq!qA.BtAwJOs47{S()4*,-4. / 0345 5 5
 Jq!qC0i(T
C 79x$t*'<<=6>@E6F G HKLM M MJq!rS1y7UD 8IU(;;<7=?D7E F GJKL L L
 1a[ Iq 	IAz!Q'a$===1u:aE2DGT4HHH	II 	
A1a[ Oq 	OAz!Q!,d1aj$EEE1u:aE15tAqz4NNN	OO 	
A1a[ Oq 	OAz!Q!,d1aj$EEE1u:aE15tAqz4NNN	OO :/0
:01
:67r   N)-q=rZ   )$sympy.core.numbersr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   &sympy.functions.elementary.exponentialr	   (sympy.functions.elementary.miscellaneousr
   (sympy.functions.elementary.trigonometricr   r   sympy.integrals.integralsr   sympy.simplify.simplifyr   sympy.physics.hydrogenr   r   r   r   sympy.testing.pytestr   r4   r1   r0   r   r6   r:   r@   rL   rY   rH   r   r   <module>re      sX    4 4 " % 6 9 ? / , B B '
'
1a0;.G	?( (8r   