U
    9%e{                     @   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   s^   t | } t |}t| | |k r$dS t|t| krFt| | | }nt| | |  }||kS )NT)floatabs)abZmax_relative_errorZmax_absolute_errorZrelative_error r   `/var/www/html/Darija-Ai-API/env/lib/python3.8/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 ]2\}}tt||tt |||f  dkst	qd 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   AssertionError)r   Rnlr   r   r   test_wavefunction   s@     42.(.:*>.$.
:r2   c                  C   sT   d} t | d D ]>}t |D ]0}tt||td td  tdtfdkstqqd S )Nr   r   r   )ranger   r   r,   r   r.   )Zn_maxr0   r1   r   r   r   	test_norm4   s    r4   c                  C   s  t d} t d}t d}tddd| ||t|  tt ks@ttddd| ||t jt|  d  |  t|tt |  dtt   kst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std S )Nr,   phithetar   r   r   r    r   r!   r%   )
r   r   r   r	   r   r.   r-   r   r   r
   )r,   r5   r6   r   r   r   test_psi_nlm;   s0    (& 
"


r9   c                   C   s
  t tttd  dtd   ks$tt tddtd   ks@tt ddtdd  d ks`tt ddtdd  d kstt dtj d kstt dtj d kstt dtj d kstt dtj d	 kstt d
tj d kstttdd  d S )Nr   r7   r   /   r#   r      r        d   i N  c                   S   s   t dS Nr   )r   r   r   r   r   <lambda>S       z(test_hydrogen_energies.<locals>.<lambda>)r   r0   r+   r.   r   ZOner   
ValueErrorr   r   r   r   test_hydrogen_energiesF   s    $  rB   c                  C   s  t ddddddtd d ks$ttt ddddddtd d tdtd d  d	  dkshttt dddddd
td d tdtd d  d  dksttt dddddddtd  tddtd   d  dksttt dddddddtd  tddtd   d  dks6ttddD ]^} t| D ]N}tt | |t| ddsnt|dkrLtt | |dt| ddsLtqLq@d}tddD ]h} t| D ]X}tt | ||dt| |ddst|dkrtt | |d|t| |ddstqqd}tddD ]h} t| D ]X}tt | ||dt| |ddsZt|dkr2tt | |d|t| |dds2tq2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?   |   r@   z.test_hydrogen_energies_relat.<locals>.<lambda>c                   S   s
   t ddS )Nr   r7   rJ   r   r   r   r   r?   }   r@   c                   S   s   t dddS )Nr   r   FrJ   r   r   r   r   r?   ~   r@   )	r   r	   r.   r   r3   r   r   r   rA   )r0   r1   r+   r   r   r   test_hydrogen_energies_relatV   sj    $

($
,$
,rK   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   r0   r,   r+   r   r2   r4   r9   rB   rK   r   r   r   r   <module>   s    
