
    g{                         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#dS )    )IRationaloopi)S)symbols)exp)sqrt)cossin)	integrate)simplify)R_nlE_nl
E_nl_diracPsi_nlm)raiseszn r Z-q=c                    t          |           } t          |          }t          | |z
            |k     rdS t          |          t          |           k    rt          | |z
  |z            }nt          | |z
  | z            }||k    S )NT)floatabs)abmax_relative_errormax_absolute_errorrelative_errors        ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/tests/test_hydrogen.pyfeqr      s|    aAaA
1q5zz&&&t
1vv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 ]?\  }}t          t          ||t          t                     |||f         z
            dk    sJ @d S )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_wavefunctionr7      s   	!A$qAv,,aRT*Q!Q$Z  3r1Q3x==0A1Q3K@a1a4j)))CAaCMM9A=a?Aa1a4j!1!11CAaCMMA	
QqS!A#Y!RAaC!83	35B$q!AqD&z"2"22S!QqS]]B	
Q!WB$q"QT'{"3"33c1"ac(mmCqsQhNAa1f-QB!H=	
QqS!A#Y!Q1Q3(2	2Xa5E5E1q5P	PRB$q!AqD&z"2"22S!QqS]]B	
Q!Wx2!A#1	1367c;B$q!AqD&z"2"22S!QqS]]B	
Q1XA#"C  42ad7#4#44sA2qs8}}D!axO	 	A"  ; ;1Q1a((1aV9455:::::; ;r   c            	          d} t          | dz             D ]Y}t          |          D ]G}t          t          ||t                    dz  t          dz  z  t          dt          f          dk    sJ HZd S )Nr"   r!   r   )ranger   r   r2   r   )n_maxr5   r6   s      r   	test_normr;   4   s    E519 G Gq 	G 	GAT!Q]]A-14q!RjAAQFFFFF	GG Gr   c            	      H   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 d S )Nr2   phithetar!   r   r"   r&   r#   r'   r+   )	r   r   r	   r
   r   r3   r   r   r   )r2   r=   r>   s      r   test_psi_nlmrA   ;   s   ffA	%C
G**EAq!QU++sA2wwb/AAAAAAq"ae,,#qbAh--1G!1Ku::QBH%T"XX628 8 8 8 8Aq!QUA..477(SZZ2Gq3w<<3e**3%()DHH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            d S )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    tAww r   )r   r5   r1   r   Oner   
ValueErrorrI   r   r   test_hydrogen_energiesrM   F   sX   1::!Q$!Q$''''77b!AqD&k!!!!2;;1R55!8)V,,,,,2;;1R55!8)V,,,,,77quffo%%%%77quffo%%%%77quffo%%%%77quffo%%%%99)))))
:'''''r   c                  J   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 ]y} t          |           D ]g}t	          t          | |          t          |           dd          sJ |dk    r0t	          t          | |d          t          |           dd          sJ hzd}t          dd          D ]~} t          |           D ]l}t	          t          | ||          t          | |          dd          sJ |dk    r2t	          t          | |d|          t          | |          dd          sJ md}t          dd          D ]~} t          |           D ]l}t	          t          | ||          t          | |          dd          sJ |dk    r2t	          t          | |d|          t          | |          dd          sJ mt          t          d             t          t          d!            t          t          d"            d S )#Nr"   r   r!   )r1   cr)   r#   r+   rE   r&   6   r'   l      	      iKid i  iB)i9iQI  R   iY<' i/  ixN r,   gh㈵>F)r1   g-C6?gMbP?c                  "    t          dd          S rH   r   rI   r   r   rJ   z.test_hydrogen_energies_relat.<locals>.<lambda>|   s    z!Q// r   c                  "    t          dd          S )Nr!   r?   rW   rI   r   r   rJ   z.test_hydrogen_energies_relat.<locals>.<lambda>}   s    z!R00 r   c                  $    t          ddd          S )Nr!   r   FrW   rI   r   r   rJ   z.test_hydrogen_energies_relat.<locals>.<lambda>~   s    z!Q66 r   )r   r
   r   r9   r   r   r   rL   )r5   r6   r1   s      r   test_hydrogen_energies_relatrZ   V   sM   aa1%%%477Q6666Jq!qA...Ad1ggINr$q''zB''4(*+4, - . .123 3 3 3Jq!qA...BtAwwJOs477{S())4*,-4. / 0 0345 5 5 5
 Jq!qC000i(T

C 79x$t**'<<==6>@E6F G H HKLM M M MJq!rS111y7UD 8IU(;;<<7=?D7E F G GJKL L L L
 1a[[ I Iq 	I 	IAz!Q''a$=====1uu:aE22DGGT4HHHHH	I
 	
A1a[[ O Oq 	O 	OAz!Q!,,,d1ajj$EEEEE1uu:aE155tAqzz4NNNNN	O
 	
A1a[[ O Oq 	O 	OAz!Q!,,,d1ajj$EEEEE1uu:aE155tAqzz4NNNNN	O ://000
:00111
:6677777r   N)r   r   )$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   r5   r2   r1   r   r7   r;   rA   rM   rZ   rI   r   r   <module>re      sd   4 4 4 4 4 4 4 4 4 4 4 4 " " " " " " % % % % % % 6 6 6 6 6 6 9 9 9 9 9 9 ? ? ? ? ? ? ? ? / / / / / / , , , , , , B B B B B B B B B B B B ' ' ' ' ' '
''

1a0 0 0 0; ; ;.G G G	? 	? 	?( ( ( (8 (8 (8 (8 (8r   