o
    GZh{                     @   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bZmax_relative_errorZmax_absolute_errorZrelative_error r   P/var/www/auris/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.(.:*>.$.
:,r1   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   )Zn_maxr/   r0   r   r   r   	test_norm4   s   .r3   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   r-   r   r   r
   )r,   r4   r5   r   r   r   test_psi_nlm;   s0   (& 
"


r8   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   r6   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   r/   r+   r   ZOner   
ValueErrorr   r   r   r   test_hydrogen_energiesF   s   $  r@   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 r=   r   r   r   r   r   r>   |      
 z.test_hydrogen_energies_relat.<locals>.<lambda>c                   S   s
   t ddS )Nr   r6   rH   r   r   r   r   r>   }   rI   c                   S   s   t dddS )Nr   r   FrH   r   r   r   r   r>   ~   s    )r   r	   r   r2   r   r   r   r?   )r/   r0   r+   r   r   r   test_hydrogen_energies_relatV   sv   $""$
$rJ   N)r   r   )$Zsympy.core.numbersr   r   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr	   Z(sympy.functions.elementary.trigonometricr
   r   Zsympy.integrals.integralsr   Zsympy.simplify.simplifyr   Zsympy.physics.hydrogenr   r   r   r   Zsympy.testing.pytestr   r/   r,   r+   r   r1   r3   r8   r@   rJ   r   r   r   r   <module>   s"    
