
    IR-e2                     	   d Z ddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. i eg dd ej/        d           ej/        d           gg d	d
dg ej/        dej0        z            ddeg dddgddgd
dgddeg dddgddgd
dgddeg dddgddgd
dgddeg dddgddgddgddeg dddgddgddgddeg dddgddgd
dgddeg dg dg dd
dgdddeddgdej0        ddgdej0        ddgd
dgddeg dg dg dd
dgdddeg dg dg dddgdddeg d g d!g d"d
dgd#dde
dgddej0        d$dgg d%d
dgddeg d&g dg d'd
dgdg d(g d)d*e,g d+d,d-diig d.g d/ddgdd0d1e)g d2d,d3diig d4g d5d6d7gdd8e.g d9d,ddd:ig d;g d<d=d7gdd8e*g d2d,d-diig d4g d>d=d7gdd8e-g d?g d@g dAdBdCgdDe+g dEd,d-diig d4g dFd6d7gdd8e&ddGdGdGdHg d.g dIdJd#gdDeg dKg d4g dLdddgddMe!g dNg dOg dPdJd#gdDeg d+g dQg dRddgddgddSe#g dTg dUg dVdGdWgdXdYgddSe$dYdgg dZg d[d\d7gdDeddgg d]d ej/        ej1                  ej1        gddgej1        dz  dGz
  deddgdej1        ej1        dz  gg d^dej1        dz  gej1        dz  dz   diZ2eg d_d,d`diid ej/        d           ej/        d           gd ej/        d           ej/        d           gddG ej3        d          dz  z  dG ej3        d          dz  z  gd
dgd
dgdej0        z  dadbdcdddeej0        dfz  gg dgddhedgddej0        d$dgdddej0        dgg d%d
dgd
dgdidje	g dkg dlg dmg dnd
dgd
dgd7ddoeg dpg dqg drg dsd
dtgd
dtgddje g d_g dug dvg dwdJd#gdJd#gddxeg dyg dzg d{g d|d
dgd
dgdd}eg d~g dg dg ddJd#gdJd#gde'ddGdGdGdg dg dg ddd7gdd7gdeg dg dlg dmg dd
dgd
dgej0        dz  ddoeg dg dlg dmg dd
dgd
dgej0        dz  ddoeg dg dg dg ddddgddgdeg ddej0        ddgej0        dddgej0        ej0        ddgd
dgd
dgddjiZ4dS )a'  
Here are all the test parameters and values for the each
`~astropy.modeling.FittableModel` defined. There is a dictionary for 1D and a
dictionary for 2D models.

Explanation of keywords of the dictionaries:

"parameters" : list or dict
    Model parameters, the model is tested with. Make sure you keep the right
    order.  For polynomials you can also use a dict to specify the
    coefficients. See examples below.

"x_values" : list
    x values where the model is evaluated.

"y_values" : list
    Reference y values for the in x_values given positions.

"z_values" : list
    Reference z values for the in x_values and y_values given positions.
    (2D model option)

"x_lim" : list
    x test range for the model fitter. Depending on the model this can differ
    e.g. the PowerLaw model should be tested over a few magnitudes.

"y_lim" : list
    y test range for the model fitter. Depending on the model this can differ
    e.g. the PowerLaw model should be tested over a few magnitudes.  (2D model
    option)

"log_fit" : bool
    PowerLaw models should be tested over a few magnitudes. So log_fit should
    be true.

"requires_scipy" : bool
    If a model requires scipy (Bessel functions etc.) set this flag.

"integral" : float
    Approximate value of the integral in the range x_lim (and y_lim).

"deriv_parameters" : list
    If given the test of the derivative will use these parameters to create a
    model (optional)

"deriv_initial" : list
    If given the test of the derivative will use these parameters as initial
    values for the fit (optional)
    N)
AiryDisk2DArcCosine1D	ArcSine1DArcTangent1DBox1DBox2DConst1DConst2DCosine1DDisk2DExponential1D
Gaussian1D
Gaussian2DKingProjectedAnalytic1DLinear1DLogarithmic1D	Lorentz1DMoffat1DMoffat2DPlanar2DRickerWavelet1DRickerWavelet2DRing2DSersic1DSersic2DSine1D	Tangent1DTrapezoid1DTrapezoidDisk2DVoigt1D)Drude1D	Plummer1D)Polynomial1DPolynomial2D)BrokenPowerLaw1DExponentialCutoffPowerLaw1DLogParabola1D
PowerLaw1DSchechter1DSmoothlyBrokenPowerLaw1D)   r   r+      )      ?ۦx\T?r.   
   T)
parametersx_valuesy_valuesx_limintegral	bbox_peak)r+   皙?r   g      @r+   )r1   r2   r3   r4   r5   g      ?            ?)r+   r   r0   )   r   r/   r0   )r+   r+   r+   r   r   *   )r   r=   r+   r9   r8   )r-   皙?r>   r9   r9   )r   r+   r=      )r-           rA   lPrB   i   )r+   r   r,   r+   )r   r+   r=         ?g      r,   r,   )r+   r+   r+   r9   r9   r   r   r?   g      E)r+   r+   r+   r+   r+   )r+   r   r+   r,   )r-         ?rE   {Gz?rF   )gffffff7@g333333?g @gffffff@)r0   r+   r+   r+   )r1   r2   r3   r4   r5   deriv_parametersderiv_initial)r+   r+   r,   fixedx_0)r+   r0   d   )r-   rF   g-C6?gGz?)r1   constraintsr2   r3   r4   log_fitr5   )r+   r+   r,   r?   x_break)r7   r+   r0   rK   )g      Y@r-   MbP?gư>r7   rK   )r1   rL   r2   r3   r4   rM   )r+   r+   r,   r9   )rN   delta)rF   r+   rK   )E__5:?r-   rR   rF   )gܝ..X@gi?glXa7?g6S<)r-   g      4g      )g      9g      7g      5g      3      1)gxeus6g|..>gV- ?gՍ8?g7"?irS   )r1   r2   r3   r4   )r+   r,   r?   r7   )gŧ y@gc@g0UJy?g0>r-   )degreec0c1c2)r?   o   iu'  r@   )r+   rC      )gYLjq@g͎T}L@gb@gB{3?)r1   r2   r3   requires_scipyr4   rM   )r   r+   r9   g?)r   r>   r9   r+   r,   rY      rC   )g6g?g\?gg;R?g.zK?grEΑ?gdp?gr9#HP?gP$?)r   r7   r9   g?)g_B?g:w5?r>   g&w3?)r1   r2   r3   r4   y_limr6   )r-          @r-   )      @r]   g      "@      $@)go?r-   g ?gDWV?g      4@rA   r_   )rO   g/$@g      @)g03@g?Nv?gԉ[j(?rO   )r   r9   r+   )r   r+   r,   )r+   r   r   r+   r+   thetag      a@gffffff@g@rD   g       @rY   )r0   r;   r;   rY   rY   r9   )r1   rL   r2   r3   z_valuesr4   r\   r5   rG   rH   r6   i  )r1   r2   r3   ra   r4   r\   r5   )r+   r   r   r0   r0   )r:   r;   r:   r;   r   r/   r0   )r:   r;   r   r   r   r/   r0   )r+   r+   r+   r+   r+   r   r   )r1   r2   r3   ra   r4   r\   r5   r6   )r+   r   r   r+   )	r   r   r   r   r   r+   r=   r?   r@   )	r   r+   r=   r?   r@   r   r   r   r   )	r-   F_Ah?rb   5裿rc   rb   rb   rc   rc      )r   r9   r   rD   )r   r9   rD   r   )r+   r+   r9   r9   )r1   r2   r3   ra   r4   r\   r6   )   r   r   r0   )r   r+   r=   r8   r8   )r   r=   r9   r9   r8   )r^   g/@g2vX@Ws}@rf   )r1   r2   r3   ra   r4   r\   rZ   )r+   r   r   r+   r,   )r   r=   r?   r+   r@   )r-   g9?q?M?rg   gmf?)r1   r2   r3   ra   r4   r\   )rT   c0_0c1_0c0_1)r+   r,   r?   )r+   r?   r,   )r?      rk   )r+   r   r   r;   )r   r   r+   r+   r+   r   r      )r+   r   r   r;   r;   )r+   r+   r+   r+   r   r   r   K   )r+   rl   rY   2   rn   r9   r=   )rA   r+   r0   rK   )r+   rK   rA   r0   )gSRD?grߤH?gƥd?g?g    _B)r1   r2   r3   ra   rZ   r4   r\   )r+   r+   r   )   )5__doc__numpynp"astropy.modeling.functional_modelsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r     astropy.modeling.physical_modelsr!   r"   astropy.modeling.polynomialr#   r$   astropy.modeling.powerlawsr%   r&   r'   r(   r)   r*   sqrtpie	models_1Dexp	models_2D     Elib/python3.11/site-packages/astropy/modeling/tests/example_models.py<module>r      s  0 0f                                                                   @ @ ? ? ? ? ? ? ? B B B B B B B B               `ii

WRWQZZK0---rBGAI&& ` !kkHFr `  !kkHFr !`. !kkIFr /`< !kkFH =`J !kkFH K`X !kkFIr Y`f 
 jj'''#OOr g`v !fr2&r2&r w`D ii)))---r E`T ii%%%999r U`d "ll///---r e`t cBE5!,#OOr u`B "ll%%%111r111& C`T ii%/ LL'''R U`f "ll)T!23%%%***s g`v (((TD!A!AB"NN999 w`F  "ll%/%%%SSS" " (((777
 
 
 u  $nn%/%%%RRRs  !"#SDD LL#OOa	   jj%%%QQQR  &&&111	
 	
 	
 a  ii&&&<<<RR  %oo)))===tt  Sk666CCC	  !fKKrt,QT1Ws]  !fbdAg&IIRT1WT1Wq[ s` `	J %oo'41

WRWQZZK0

WRWQZZK0fbfQii1n,cFBF1IIN.BCrrI"Cc3	B...  cBE5!,2rub)#OOrr  
'''...---)))rr	 	 "ll111111

 

 

 rr# & %oo$$$$$$$$$aa  #mm***+++IIIrr  %oo%%%%%%@@@aa  !"CcJJIIIIIISS  "ll...---)))rrEDL	 	 %oo...---)))rrE\*	 	 111%%%%%%LLLTT  iir2&UAr2&UBE2r*rr g|			r~   