o
    jg{                     @   s   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dZdd Zdd Z dd Z!dd Z"d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                 C   sd   t | } t |}t| | |k rdS t|t| kr&t| | | }||kS t| | |  }||kS )NT)floatabs)abmax_relative_errormax_absolute_errorrelative_error r   Y/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/physics/tests/test_hydrogen.pyfeq   s   r   c                  C   s  dt  } dtd| d   tt |   tdd| d   tt d|    dtd|     tjtdd| d    tt d|    t |  tddtdd| d    tt d|    ddt d|    tddt|  d    tddtdd| d    tt d|    dtd|     t |  tddtdd| d    tt d|    t|  d  tddtd| d   tt d|    ddt d|    tdd	t|  d   tdd
t|  d    tddtdd| d    tt d|    dtd|    tddt|  d    t|   tddtdd| d    tt d|    dtd|     t|  d  tddtdd| d    tt d|    t|  d  d
}|D ]\}}tt||tt |||f  dksuJ q]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lr   r   r   test_wavefunction   sB    42.(.:*>.$.
:,r4   c                  C   sT   d} t | d D ]}t |D ]}tt||td td  tdtfdks&J qqd S )Nr   r   r   )ranger   r   r/   r   )n_maxr2   r3   r   r   r   	test_norm4   s   .r7   c                  C   s  t d} t d}t d}tddd| ||t|  tt ks J tddd| ||t jt|  d  |  t|tt |  dtt   ksHJ td	dd| ||dtd t| tt|  t| dtt  t d d
 td td|  d	  | d d  ksJ d S )Nr/   phithetar   r   r   r#   r    r$   r(   )	r   r   r   r	   r   r0   r   r   r
   )r/   r8   r9   r   r   r   test_psi_nlm;   s0   (& 
"


r<   c                   C   s
  t tttd  dtd   ksJ t tddtd   ks J t ddtdd  d ks0J t ddtdd  d ks@J t dtj d ksLJ t dtj d ksXJ t dtj d ksdJ t dtj d	 kspJ t d
tj d ks|J ttdd  d S )Nr   r:   r   /   r&   r       r#       d   i N  c                   S   s   t dS Nr   )r   r   r   r   r   <lambda>S   s    z(test_hydrogen_energies.<locals>.<lambda>)r   r2   r.   r   Oner   
ValueErrorr   r   r   r   test_hydrogen_energiesF   s   $  rE   c                  C   s  t ddddddtd d ksJ tt ddddddtd d tdtd d  d	  dks4J tt dddddd
td d tdtd d  d  dksVJ tt dddddddtd  tddtd   d  dksxJ tt dddddddtd  tddtd   d  dksJ tddD ]*} t| D ]#}tt | |t| ddsJ |dkrtt | |dt| ddsJ qqd}tddD ]/} t| D ](}tt | ||dt| |ddsJ |dkrtt | |d|t| |ddsJ qqd}tddD ]4} t| D ],}tt | ||dt| |dds"J |dkr9tt | |d|t| |dds9J qqttd d!  ttd"d!  ttd#d!  d S )$Nr   r   r   )r.   cr&   r    r(   r?   r#   6   r$   l      	      iKid i  iB)i9iQI  R   iY<' i/  ixN r)   gh㈵>F)r.   g-C6?gMbP?c                   S   s
   t ddS rA   r   r   r   r   r   rB   |      
 z.test_hydrogen_energies_relat.<locals>.<lambda>c                   S   s
   t ddS )Nr   r:   rM   r   r   r   r   rB   }   rN   c                   S   s   t dddS )Nr   r   FrM   r   r   r   r   rB   ~   s    )r   r	   r   r5   r   r   r   rD   )r2   r3   r.   r   r   r   test_hydrogen_energies_relatV   sv   $""$
$rO   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   r2   r/   r.   r   r4   r7   r<   rE   rO   r   r   r   r   <module>   s"    
