
[c           @` s&  d  Z  d d l m Z m Z m Z m 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 d d l m Z m Z d d l  m! Z! m" Z" m# Z# m$ Z$ m% Z% d d l& Z' i i d d d g d	 6d e' j( d  e' j( d  g d
 6d d d g d 6d d g d 6e' j( d e' j)  d 6e 6i d d d g d	 6d d g d
 6d d g d 6d d g d 6d d 6e 6i d d d g d	 6d d d d d g d
 6d d d d d g d 6d d g d 6d d 6e	 6i d d g d	 6d e' j) d d g d
 6d e' j) d d g d 6d d g d 6d d 6e
 6i d d d g d	 6d d d d d g d
 6d d d d d g d 6d d g d 6d d 6e 6i d d d g d	 6d d d d d g d
 6d d d d d g d 6d d  g d 6d d 6e 6i d d d d g d	 6d d d d! d" d d g d
 6d d d d d d d g d 6d d g d 6d d 6e 6i d g d	 6d d e' j) d# d g d
 6d d d d d g d 6d d g d 6d  d 6e 6i d d d d g d	 6d d d d d g d
 6d d$ d$ d% d% g d 6d d g d 6d d 6d& d' d( d) g d* 6d d d d g d+ 6e 6i d d d g d	 6i i e* d, 6d- 6d. 6d d d/ g d
 6d d% d0 g d 6d d g d 6e* d1 6d2 d 6e! 6i d d d d g d	 6i i e* d3 6d- 6d. 6d d d d/ g d
 6d4 d d5 d6 g d 6d d/ g d 6e* d1 6e" 6i d d d7 d d g d	 6i i e* d3 6e* d8 6d- 6d. 6d% d d/ g d
 6d9 d d9 g d 6d% d/ g d 6e* d1 6e# 6i d d d d g d	 6i i e* d, 6d- 6d. 6d d d d/ g d
 6d: d; d< d= g d 6d% d/ g d 6e* d1 6e$ 6i d d d d g d	 6i i e* d, 6d- 6d. 6d d d d/ g d
 6d> d? d@ dA g d 6d d/ g d 6e* d1 6e% 6i i d dB 6d dC 6d dD 6d dE 6d	 6d d d/ g d
 6d dF dG g d 6d d g d 6e 6i d d  dH g d	 6d d d d/ g d
 6dI dJ dK dL g d 6e* dM 6d d g d 6e* d1 6e 6i d d d dN g d	 6d d dH dO d g d
 6dP dQ dR dS dT g d 6d d g d 6e 6Z+ i i
 d d d d d g d	 6i i e* dU 6d- 6d. 6d e' j( d  e' j( d  g d
 6d e' j( d  e' j( d  g d 6d d e' j, d  d d e' j, d  d g dV 6d d g d 6d d g dW 6d e' j) d 6dX dY dZ d! d[ e' j) dH g d* 6d d d dH dH d g d+ 6e 6i d g d	 6d d e' j) d# d g d
 6d d d e' j) d g d 6d d d d d g dV 6d d g d 6d d g dW 6d\ d 6e 6i d d d d d g d	 6d d d d d d d g d
 6d d d d d d d g d 6d d d d d d d g dV 6d d g d 6d d g dW 6d/ d 6e 6i d d d d g d	 6d d d d d d d d d g	 d
 6d d d d d d d d d g	 d 6d d] d] d^ d^ d] d] d^ d^ g	 dV 6d d_ g d 6d d_ g dW 6d d 6e 6i d d d d d g d	 6d d d d! g d
 6d d d! d g d 6d d d d g dV 6d d g d 6d d g dW 6e 6i d` d d d g d	 6d d d d d g d
 6d d d d d g d 6da db dc dd dd g dV 6d d g d 6d d g dW 6e* dM 6e 6i d d d d d g d	 6d d d d d g d
 6d d d d d g d 6d de df df dg g dV 6d d g d 6d d g dW 6e 6i i d dB 6d dh 6d di 6d dj 6d	 6d d d g d
 6d d d g d 6d dk dk g dV 6d d/ g d 6d d/ g dW 6e 6i d d d d g d	 6d d d d d d d g d
 6d d d d d d d g d 6d d d d d d d g dV 6d d g d 6d d g dW 6e' j) dt d 6e 6i d d d d d g d	 6d d d d d d d g d
 6d d d d d d d g d 6d d d d d d d g dV 6d d g d 6d d g dW 6e' j) du dv d 6e 6i d dl dH dm dm d d g d	 6d d d d/ g d
 6d d/ d d g d 6dn do dp dq g dV 6e* dM 6d dr g d 6d dr g dW 6e 6i d d d g d	 6d e' j) d d g d
 6e' j) d d d g d 6e' j) e' j) ds ds g dV 6d d g d 6d d g dW 6d d 6e 6Z- d S(w   u'  
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)
i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsi   (   t
   Gaussian1Dt   Sine1Dt   Box1Dt   Linear1Dt	   Lorentz1Dt   MexicanHat1Dt   Trapezoid1Dt   Const1Dt   Moffat1Dt
   Gaussian2Dt   Const2Dt   Box2Dt   MexicanHat2Dt   TrapezoidDisk2Dt
   AiryDisk2Dt   Moffat2Dt   Disk2Dt   Ring2Dt   Sersic1Dt   Sersic2Dt   Voigt1Dt   Planar2D(   t   Polynomial1Dt   Polynomial2D(   t
   PowerLaw1Dt   BrokenPowerLaw1Dt   SmoothlyBrokenPowerLaw1Dt   ExponentialCutoffPowerLaw1Dt   LogParabola1DNi   u
   parametersu   x_valuesg      ?gۦx\T?u   y_valuesii
   u   x_limu   integralg?g      @ii   i*   ig      ?g      g?i   ig        glPii   g      ?g      g      Eg      ?g{Gz?gffffff7@g333333?g @gffffff@u   deriv_parametersu   deriv_initialu   x_0u   fixedu   constraintsid   g-C6?u   log_fitgGz?u   x_breakg      Y@gMbP?gư>iu   deltagE__5:?gܝ..X@gi?glXa7?g6S<gŧ y@gc@g0UJy?g0>u   degreeu   c0u   c1u   c2io   iu'  i   gYLjq@g͎T}L@gb@gB{3?u   requires_scipyg?i   g?gYO0?g>4`p?gʤ6 P?g_%D?u   thetau   z_valuesu   y_limg      a@gffffff@g@g       @i  gF_Ah?g5裿i   i   g      @g/@g2vX@gWs}@g9?q?gM?gmf?u   c0_0u   c1_0u   c0_1i   i   i2   gSRD?grߤH?gƥd?g?g    _Bi)   i   id   i   (.   t   __doc__t
   __future__R    R   R   R   t   functional_modelsR   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t
   polynomialR   R   t	   powerlawsR   R   R   R   R    t   numpyt   npt   sqrtt   pit   Truet	   models_1Dt   expt	   models_2D(    (    (    sD   lib/python2.7/site-packages/astropy/modeling/tests/example_models.pyt   <module>2   s  "(#
	
	
#	
##2 
""#