ó
!f Qc           @   s>  d  d d d d d d d d d	 d
 d g Z  d d d d d d d g Z d g d d d g d g d d g d d d g d g d g g Z d d  l Td d! l m Z m Z d d  l Td d" l m	 Z	 m
 Z
 d d# l m Z m Z m Z m Z m Z m Z 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 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, Z) d- Z* d Z+ d Z, d. „  Z- e. d g ƒ Z/ e. d d d g d d d g d d d g d d d g g ƒ Z0 e. d g ƒ Z1 e. d d g d d g d d g g ƒ Z2 e. d d d g d d d g d d d g d d d g g ƒ Z3 e. d g ƒ Z4 e. d g ƒ Z5 e e/ e0 e1 e2 e3 e4 e5 f ƒ Z6 e6 j7 ƒ  Z6 d d d d d d d d g Z8 d d d d d d d d g Z9 e6 d/ d/ … e8 f e9 d/ d/ … f Z: e; j e6 ƒ Z< e e: d0 e= d1 e> ƒ\ Z? Z@ eA e? ƒ d2 k  ZB e@ d/ d/ … eB f ZC y. eD d3 ƒ ZE eE d4 ZF eE d5 ZG eE d6 ZH Wn‰eI d d- f ƒ ZF eI d d- f ƒ ZG eI d ƒ ZH x½ eJ d7 d8 ƒ D]¬ ZK y8 eD d9 eL eK ƒ d: ƒ ZM eD d; eL eK ƒ d: ƒ ZN Wn
 qön XeO eM d ƒ ZP eK eQ d d eP d< e> ƒZR eS eF eM f ƒ ZF eS eG eN f ƒ ZG eT eH eR f ƒ ZH qöWeU eF d/ d/ … d d d d d d d d f f d= d ƒd> k ZV eF eV d/ d/ … f ZF eG eV d/ d/ … f ZG eH eV ZH eW d? d4 eF d@ eG d6 eH ƒn XeX eG eG d k <dA eG eG dA k  <eO eF d ƒ Z* eF d/ d/ … d d d d d d d d f f ZY eG d/ d/ … d d d d d d d d f f ZZ eY dB k e[ eY ƒ BZ\ d eY e\ <eZ eY Z] eS eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f eY d/ d/ … d f f ƒ Z^ e_ e^ ƒ Z^ eS e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ e` e] d/ d/ … d f e] d/ d/ … d f ƒ f ƒ Za eS e\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Be\ d/ d/ … d f e\ d/ d/ … d f Bf ƒ Z\ dC dD dE dF dG dH dI dJ f Zb ec ea e\ <eO e^ d ƒ Zd eO e^ d ƒ Ze dK Gee GdL Ged GdM Ge, GHdN „  Zf eg ed ƒ Zh ec eh ea d d/ d/ … f ec k <eg ed ƒ Zi d aj dO „  Zk y eD dP e) d: ƒ Zl WndQ GHe^ d d/ d/ … f Zm ef e^ ea em eh ƒ \ Zn Zo ep en d/ d/ … d f ƒ d Zq ep en d/ d/ … d f ƒ Zr d eq em er Zm en d/ d/ … d f c ep en d/ d/ … d f ƒ 8<en d/ d/ … d f c ep en d/ d/ … d f ƒ :<eT es en ƒ em f ƒ Zt e ek et ƒ Zl eu el e, ee  ee e, f ƒ Zn el e, ee Zm eS g  ev e, ƒ D] Zw em ew ^ qƒ jm Zx e^ ey en ex jm ƒ Zz ez ea :Zz e{ eA ez ƒ d= d ƒd k Z| dR GeU e| ƒ e} ed ƒ GHe{ em e| ƒ em e| <e' em d ƒ Zm em el e, ee )e ek el ƒ Zl e~ dP e) el ƒ n Xeu el e, ee  ee e, f ƒ Zn el e, ee Zm ep en d/ d/ … d f ƒ d Zq ep en d/ d/ … d f ƒ Zr d eq em er Zm en d/ d/ … d f c ep en d/ d/ … d f ƒ 8<en d/ d/ … d f c ep en d/ d/ … d f ƒ :<eS g  ev e, ƒ D] Zw em ew ^ q¾ƒ jm Zx e^ ey en ex jm ƒ Zz ez ea :Zz dA ez eA ez ƒ dA k  <ez d CZz eU d e d ez d ez d ƒ ƒ eO ez ƒ eO el ƒ Z€ dS Ge€ GHe ez ez d k <ef e^ ea em eh ƒ \ Zo Z‚ dT Z) dU Ge) GHd d d d g Zƒ d d d g Z„ eS g  ev e, ƒ D] Zw em ew ^ qÈƒ jm Zx eI dV dW dX ƒZ… e= e… e9 <eF d/ d/ … d d d d d d d g f dY Z† e( e† eg dZ d f ƒ d[ ƒ Z† e_ e† ƒ Z† e‡ d d\ d\ d] d^ d_ d_ g ƒ Zˆ eg e+ ƒ Z‰ d` „  ZŠ da „  Z‹ eI e+ ed f ƒ ZŒ xÌe e ƒ D]¾\ Zw ZŽ e† d/ d/ … ew f Z db e ew GHe‰ ew Z eˆ ew Z‘ e‡ eF d/ d/ … eŽ f dc d ƒZY e‡ eG d/ d/ … eŽ f dc d ƒZZ g  eŽ D] Z’ e  e’ ^ qFZ“ eT e‘ e es e ƒ f ƒ Zt e” et ƒ Zt e• eŽ ƒ Z* dd „  Z– y" eD de e) eL ew ƒ d: ƒ Z— Wn¹ df GHdA Z˜ d aj e• et ƒ Z™ e% ƒ  aš e e– et ƒ Z— y e e– et ƒ Z— Wn3 y" eD de e) eL ew ƒ d: ƒ Z— Wn n Xn Xdg Z˜ e e– e— ƒ Z— e~ de e) eL ew ƒ d: e— ƒ n Xq¸We• e ƒ Z+ x} ev e+ ƒ D]o Zw eD de e) eL ew ƒ d: ƒ Z— e— d  eˆ ew <e— d d !e‰ ew <eu e— d ed d f ƒ jm e† d/ d/ … ew f <q“We† jm Z† dh e† e† dh k  <di Z) dU Ge) GHeT es en ƒ eˆ e‰ em f ƒ Zt e” et ƒ Zt dj „  Z› y eD de e) d: ƒ Z— Wnç dk GHdA Z˜ d aj e• et ƒ Z™ eœ e™ dW dl ƒZ e d/ d/ d … d/ d/ … f Z e% ƒ  aš y e e› et dm e ƒZ— Wn eD de e) d: ƒ Z— n XdA Z˜ y e e› e— dm e ƒZ— Wn eD de e) d: ƒ Z— n Xe~ de e) d: e— ƒ n XeD de e) d: ƒ Zl ež el es e† jm ƒ f Zt dn Z) dU Ge) GHe” et ƒ Zt do „  ZŸ y e  eD de e) d: ƒ Z— Wndp GHdq Z˜ d aj e• et ƒ Z™ e™ GHeœ e™ dW dl ƒZ e d/ d/ d … d/ d/ … f Z e% ƒ  aš e eŸ et dm e ƒZ— y- eD de e) d: ƒ Zt e eŸ et dm e ƒZ— Wn eD de e) d: ƒ Z— n Xdr Z˜ y e eŸ e— dm e ƒZ— Wn eD de e) d: ƒ Z— n Xe~ de e) d: e— ƒ n XeD de e) d: ƒ Zl ds „  Z¡ dt „  Z¢ y eD du dv dw ƒZ£ Wn# e¢ et e¡ ƒ Z£ e~ du e£ ƒ n Xy eD dx dv dw ƒZ¤ WnÓ eO e£ d ƒ Zx eI ex ex f dW dy ƒZ¤ e¥ eG ƒ Z¦ es e¦ ƒ Z§ e£ e§ :Z£ e¨ ev ex ƒ dz ƒ Z© x[ e e© ƒ D]M \ Zw Zª ew Gdz GHey e£ e£ eª d/ d/ … f jm ƒ Z e e¤ d/ d/ … eª f <qÑW[£ e~ dx e¤ ƒ n Xy eD d{ dv dw ƒZ™ Wn‰ eO e£ d ƒ Zx e¤ j« d/ d/ ex d … c d| 7<e¤ d e+ ed d/ … d e+ ed d/ … f Z¤ e e¤ d} e> d~ e= ƒZ™ e~ d{ e™ ƒ n Xy eD d dv dw ƒZ¬ Wn¯ e™ j­ d Zx e® ex dW dy ƒZi e¨ ev ex ƒ dz ƒ Z© xd e e© ƒ D]V \ Zw Zª ew Gdz GHe e™ ei d/ d/ … eª f d€ d d} e= d e= ƒei d/ d/ … eª f <q5We~ d‚ ei ƒ n Xy eD dƒ ƒ Z§ WnE e¯ e¬ d„ e¬ ƒZ¬ e¬ d CZ¬ e eU e¬ d ƒ ƒ Z§ e~ dƒ e§ ƒ n Xeu el e, ee  ee e, f ƒ Zn el e, ee e, ee e+ !Zˆ el e, ee e+ e, ee d e+ !Zq el d e+ ed e+ ed !Zm eu el ed e+ ed e+ f ƒ jm Z° eS g  ev e, ƒ D] Z’ em e’ ^ q›ƒ jm Zx eŠ em e° ex eˆ eq en ev d- ƒ ƒ Z± e² d… ep e° d= d ƒd† d‡ ƒe² dˆ en d† d‡ ƒe² d‰ eq d† d‡ ƒe² dŠ eˆ d† d‡ ƒe§ d :Z§ e§ d e+ ed e+ ed !Z³ eu e§ ed e+ ed e+ f ƒ jm Z´ xÁ ev e+ ƒ D]³ Zw eµ e° ew d/ d/ … f ƒ Z— eµ e´ ew d/ d/ … f ƒ d e— Z¶ eµ e´ ew d/ d/ … f ƒ d e— Z· e¸ e¹ ed ƒ e— d‹ e· e¶ g dŒ d\ ƒeº e ew ƒ e» d d ƒ e¼ ƒ  q†We¸ e¹ ed ƒ em e³ dŒ d\ ƒe» dh d ƒ e¼ ƒ  eu e§ e, ee  ee e, f ƒ Z½ e§ e, ee e, ee e+ !Z¾ e§ e, ee e+ e, ee d e+ !Z¿ e§ d e+ ed e+ ed !ZÀ eu e§ ed e+ ed e+ f ƒ jm ZÁ e¹ e• em ƒ ƒ Zl e~ dŽ eH ƒ e~ d e° ƒ e~ d em ƒ d/ S(‘   t   HIt   OIt   OIIt   OIIIt   HeIt   CIIt   CIIIt   NIt   NIIt   NIIIt   Mystery1s   CIV+NIV+OIVt   Ht   Ot   Het   Ct   Nt   M1t   M2i    i   i   i   i   i   i   i   i   i	   i
   i   iÿÿÿÿ(   t   *(   t   fftt   rfft(   t   normt   lstsq(   t   qrt   invt   pinvt   eigt   choleskyt   svdt
   cho_factort   solve_triangular(   t   pearsonr(   t
   block_diag(   t   fmin_cgt   leastsqt   fmin_ncgt	   fmin_bfgst   fmin_powellt   anneal(   t
   mquantiles(   t	   nanmedian(   t   repmat(   t   time(   t   medfiltt   order_filters   vylepseny odhad y0i   c         C   sd   t  j |  ƒ }  t  j t |  ƒ ƒ } | t |  d ƒ t |  ƒ | d } t  j | ƒ r\ d S| Sd S(   s(   Hoyer's measure of sparsity for a vectori   N(   t   npt   ravelt   sqrtt   lenR   t   isnan(   t   xt   sqrt_nt   spars(    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   _sparseness%   s    %Nt   leftt   rightgíµ ÷Æ°>s   projection.npzt   projectionst   projectionsErrt   shotnumià  i<(  s   ./data/projections   .npys   ./data/projectionErrort   endpointt   axisgš™™™™™¹?t
   projectiont   projectionErrg{®Gáz„?g        s   OI/OIIs   OII/OIIIs   OI/OIIIs   CII/CIIIs   CIII/CIIs   NI/NIIs   NII/NIIIs   NI/NIIIs    m s    n s    k c         C   s§  t  t t f ƒ } t  t t f ƒ } t g  t t ƒ D] } | | ^ q4 ƒ j } t | d d ƒ\ } }	 t t t	 |	 ƒ | j ƒ ƒ }
 d } xë t
 |  | | | ƒ D]Ô \ } } } } t t t d | | ƒ | ƒ | | | ƒ \ | (} } } t | t | ƒ ƒ } t t t d | ƒ | ƒ d d ƒ\ } }	 t t t	 |	 ƒ | j ƒ ƒ }
 t t | |
 |
 j ƒ ƒ | (| | 7} q¢ W| t |  ƒ t | ƒ t | ƒ GH| | f S(   Nt   modet   economici    i   (   t   zerost   mt   kt   vstackt   ranget   TR   t   matrixt   dotR   t   zipR   t   diagt   floatR0   R/   t   size(   t   Rt   ReRF   t   Tet   coefft   coeff_errort   iR   t   qt   rt   Ft	   total_rest   ft   eR2   t   xet   rest   _t   chi2(    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt	   CalcCoeffŠ   s    ,(;+#c      
   C   s²  t  d 7a  t |  ƒ }  t |  t t  t t f ƒ } |  t } t | d  d  … d f ƒ d } t | d  d  … d f ƒ } d | | | } | d  d  … d f c t | d  d  … d f ƒ 8<| d  d  … d f c t | d  d  … d f ƒ :<t g  t t ƒ D] } | | ^ q ƒ j	 } t
 t | | j	 ƒ t } | d C} t | t d | ƒ ƒ t | ƒ t |  ƒ } t t | j	 t ƒ ƒ d }	 t  d d k r¦| G|	 GHn  t  d d k rªxñ t t ƒ D]à } t | d  d  … f t k }
 t | |
 t
 | |
 f d d d ƒt | |
 t | | j	 ƒ | |
 f j	 d d d	 d
 t | ƒt d ƒ t d t | d ƒ t d d ƒ t d d ƒ t d t | ƒ t d ƒ t ƒ  qÃWn  | |	 S(   Ni   i    i   iè  i@ t   .t
   markersizeg      à?g333333Ó?t   labels   f(T)s   ln(t   )g      ø¿i   iþÿÿÿi   s   grafy_advance/_s   .png(   t   iteratort   doublet   reshapeRC   RB   t   nt   meanRD   RE   RF   RM   RH   RN   t   sumR/   RL   R   t
   null_spacet   inft   plott   rnamest   xlabelt   ylabelt   xlimt   ylimt   savefigt   strt   namet   clf(   R2   RP   RF   t   at   bRR   R   t   ResidR\   t   boundaryt   normal(    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   f_optim1¿   s8    
 22,
.$=
t   Xs   temperature initial guesss$   part of the wrongly identified shotss   vypoÄtenÃ© chi2 s   density estimate s   name: i   t   dtypet   boolgü©ñÒMbP?ie   iZ   g      à?g      Ð¿gš™™™™™Ù¿g      à¿c   
      C   sl  d | | d k <| d  d  … d f c t  | d  d  … d f ƒ 8<| d  d  … d f c t  | d  d  … d f ƒ :<t | d ƒ } t d | f d d ƒ} t | | j ƒ | t d  d  … f <|  d  d  … t f | t d  d  … f }  |  d C}  |  | 9}  |  j }  |  | 7}  |  | t d  d  … f <t t | d  d  … f | d ƒ j }	 d |	 |	 d k <t	 |	 d	 t
 ƒS(
   Ni
   i    i   i   R{   Rc   i   g     jø@t   copy(   Rf   RL   t   emptyRH   RF   t   bound_intert   newaxist   expt   iMt   arrayt   False(
   RF   t   densityR   t   T0Rt   RP   t   indexRe   RU   R   (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   CalcIntensityc  s    22"*

	
'c         C   s7  t  t d f ƒ } t d d d ƒ }	 t t  d ƒ |	 f ƒ j }
 t |	 | |
 |  | | t | ƒ t } t | | t |  | | t | ƒ } | d  d  … t | f | | d  d  … t | f } t	 d d d ƒ } t
 t | d  d  … t | f ƒ t | ƒ ƒ \ } } t | ƒ d t | ƒ } t t t | ƒ ƒ ƒ } | | :} | d C} | t | t d | d | ƒ ƒ t | ƒ } d d d d	 g } x't t t | ƒ ƒ D]} | } t | d  d  … t | | f t | | d  d  … f ƒ ƒ } t | d  d  … t | | f t | | d  d  … f ƒ ƒ } | | d k } t | | | | | | d
 | | d d d d d d d ƒt |	 | d  d  … | f | | d t t | | ƒq£Wt d ƒ t d ƒ t d d d t ƒ } | j ƒ  j d ƒ t  t! | ƒ | j" d d d | | | f d d d d ƒt# d d ƒ t$ d  d ƒ t% d! t! | d" t& d# ƒ t' ƒ  xÅt t t | ƒ ƒ D]­} t	 d d d ƒ } t
 | d  d  … t | | f | d  d  … | f ƒ \ } } | d  d  … | f } | d  d  … t | | f } | d  d  … t | | f } | | d k } t | | | ƒ d t | ƒ } t | | | | d | | d d ƒt t( d$ d% ƒ t( d$ d% ƒ | | ƒ | j" d& d' d( | | f d d d d ƒt  t t | | ƒ t# d d ƒ t$ d d ƒ t% d) t t | | d" t& d# ƒ t' ƒ  q‚Wd  S(*   Nid   iýÿÿÿi   i   i   Ru   RT   RC   t   yt   fmtR^   t   capsizei    t	   linewidthgš™™™™™¹?R_   g      à?R`   s   f(T) [-]s   intensity [a.u.]t   locs
   upper leftt   fancyboxgffffffæ?gffffffþ¿s7   $\chi^2$ = %2.1f 
$\chi^2$ robust = %2.1f 
$r$ =  %1.2ft   horizontalalignmentR6   t   verticalalignmentt   bottomg      ø?iþÿÿÿs   grafy_advance/_t    s   .pngiöÿÿÿi
   gš™™™™™É?gš™™™™™é?s   $\chi^2$ = %2.1f 
 $r$ =  %1.2fs   grafy_advance/correl_()   t   onest	   n_elemetst   linspaceRD   RF   Rˆ   t
   ions_indexRX   R   t   subplotR   R.   R   RL   Rc   t   amaxt   absRg   R/   RE   R0   t   squeezeR   t   errorbarRj   t   namesRl   Rm   t   legendt   Truet	   get_framet	   set_alphat   titlet	   ion_namest   textRo   Rn   Rp   Rr   Rs   t   arange(   R†   Rt   R…   RF   RP   t   pt   pERR   t   density_modelt   T_modelt   N_modelt   c2R   Rv   t   axt   r_totR[   R\   t	   max_Residt   chi2_robustt   colourRC   R2   R‰   t   y_errt   noisyt   legRT   (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   plotTprofilesz  s`    &"65

0>>?;

="(&)&s   iont t   ndminc      	   C   sÀ  t  |  ƒ }  |  d  } |  d d !} t |  d t d f ƒ j } t t | t | | t t ƒ } t | t	 } t  t
 t | ƒ ƒ ƒ } | | :} | d C} | t | t d | d | ƒ ƒ t | ƒ } t | | d k d ƒ } | t | | d k  d ƒ d 7} | t | | d k d ƒ d 7} t t | ƒ d ƒ }	 t t t ƒ ƒ d k }
 d |	 d  d  … |
 f <t |	 ƒ }	 t d d k r£t ƒ  } | G|	 G| GH| a n  t d	 d k r¦t t | j ƒ d
 d ƒt t t ƒ t d d g ƒ t d t t d ƒ t ƒ  d | | f GHd Gt t GH| t t d  d  … f <t t  ƒ } t t  ƒ } | | t <| | t <t! | | t t t t" t# t ƒ t$ d t% t& t ƒ d |  ƒ n  t d 7a | |	 t' | S(   Ni   i   g      à¿g      à?iýÿÿÿi   i    iè  i'  RŒ   gš™™™™™¹?i   s   grafy_advance/densitys   .pdfs   a: %2.2f, T0: %2.2fs   profile plotsR‰   s   .npy((   Rc   Rd   Re   RF   Rˆ   R   RP   R‡   t   p_t   pE_R˜   R™   Rg   R/   RL   R   t   diffR   t   floort   shotsRb   R*   t   t0Rj   R¡   R¢   RR   Ro   Rp   Rs   t   density_allRA   R”   R³   R¥   R¦   t   saveRr   Rq   t   lam(   R2   R†   Rt   R…   R   Rv   R­   R\   Rw   t   dt	   new_shotst   t2t   a_allt   T0_all(    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   f_optim2Ö  sL    


0""		

"
R‰   s   density initial guessgš™™™™™É?iýÿÿÿs	   3. cyklusc      
   C   s>  t  |  ƒ }  t |  t t  t t f ƒ } |  t t t t t !} |  t t t t t d t !} |  t } t g  t t ƒ D] } | | ^ q~ ƒ j } t	 | d  d  … d f ƒ d } t	 | d  d  … d f ƒ } d | | | } | d  d  … d f c t	 | d  d  … d f ƒ 8<| d  d  … d f c t	 | d  d  … d f ƒ :<t
 | t | | | | t d ƒ ƒ }	 t |	 t }
 t  t t |
 ƒ ƒ ƒ } |
 | :}
 |
 d C}
 | t |
 t d | d |
 ƒ ƒ t |
 ƒ t |  ƒ t t ƒ } t | | d k d ƒ } | t | | d k  d ƒ d 7} | t | | d k d ƒ d 7} | t t | j t ƒ ƒ d 7} t d	 d k r—t ƒ  } | G| GH| a n  t d
 d k r,t | d d ƒt d d  ƒ t d t d ƒ t ƒ  x3 t t ƒ D]% } t | | t | | t t | ƒ qëWt  d t d |  ƒ n  t d 7a | | S(   Ni   i    i   i   g      à¿g      à?iýÿÿÿi   iè  iPÃ  RŒ   gš™™™™™¹?iþÿÿÿs   grafy_advance/T s   .pdfR‰   s   .npy(!   Rc   Rd   RC   RB   R”   Re   RD   RE   RF   Rf   Rˆ   t   density0R¥   R¦   R˜   R™   Rg   R/   RL   R   RH   Rh   Rb   R*   Rº   Rj   Ro   t   NoneRp   Rr   Rs   R³   R¼   (   R2   RP   R†   Rt   RF   t   jR   t   At   BR   Rv   R­   R\   Rw   RÀ   RR   (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   f_optim3O  sF    !, 22$

D"" 			#
s   temperatute second guesst   singlet   direcs   4. cyklus 2 normc      
   C   sì  t  |  ƒ }  t |  t t  t t f ƒ } |  t t t t t !} |  t t t t t d t !} |  d t t t t !} t |  t t t t f ƒ j } t g  t t ƒ D] } | | ^ q¯ ƒ j } t	 | | | | | | t d ƒ ƒ } t
 | t }	 t  t t |	 ƒ ƒ ƒ }
 t |	 ƒ d t t
 ƒ t |  ƒ } t | | d k  d ƒ d } | t | | d k d ƒ d 7} | t t | j t ƒ ƒ d 7} | t t | d  d  … d f ƒ ƒ d t t | d  d  … d f ƒ d ƒ d 7} t | d d d ƒ} t t t ƒ ƒ d k } d | d  d  … | f <t | ƒ } t t t | ƒ d ƒ ƒ d	 } d
 | | d
 k  <t d d k rÕt ƒ  } | G| G| G| Gt | d  d  … d f ƒ Gt | d  d  … d f ƒ d GH| a n  t d d k rÎt | d d ƒt d d  ƒ t d t d ƒ t  ƒ  x— t t ƒ D]‰ } t t | | d  d  … f ƒ d d ƒt d d ƒ t! t" | ƒ t d t# | ƒ t d ƒ t  ƒ  t$ | | | | | t
 t | ƒ q)Wt% d t d |  ƒ n  t d 7a | | t& | | S(   Ni   i   i   iýÿÿÿi   i    i
   R<   id   iûÿÿÿiè  iPÃ  RŒ   gš™™™™™¹?iþÿÿÿs   grafy_advance/T s   .pdfs   grafy_advance/densR‰   s   .npy('   Rc   Rd   RC   RB   R”   Re   RF   RD   RE   Rˆ   R¥   R¦   R˜   R™   R   RL   RH   Rh   Rf   R·   R¸   R¹   R.   R   Rb   R*   Rº   Rj   Ro   RÅ   Rp   Rr   Rs   R¡   R¢   Rq   R³   R¼   R½   (   R2   RP   R†   Rt   RF   R…   RÆ   R   R   Rv   R­   R\   Rw   R¾   R¿   R4   RÀ   RR   (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   f_optim4Í  sP    !!,$$" R 	I	&#
s   final step temperature+densityg¸…ëQ¸®?gìQ¸…ë±?c      	   C   sÁ   t  |  t t  t t f ƒ } |  t t t t t !} |  t t t t t d t !} |  d t t t t !} t  |  t t t t f ƒ j } t | | t | | | t d ƒ ƒ } t	 | ƒ S(   Ni   i   i   (
   Rd   RC   RB   R”   Re   RF   Rˆ   R   RE   R.   (   R2   RP   R†   Rt   RF   R…   R   (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   RetrofitFunction3  s    !!$c   	      C   sÀ   t  t ƒ } t |  ƒ } d } t | | f d d ƒ} xƒ t | ƒ D]u } t |  ƒ } | | c | 8<t |  ƒ } | | c | 7<| | ƒ | | ƒ d | | | d  d  … f <| G| GHqC W| S(   Ngíµ ÷Æ°>R{   t   float32i   (   RL   R¥   R0   RA   RE   R}   (	   t   x0t   funt   n2R   t   dxt   JRR   t   xlt   xr(    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt
   CalcJacobi?  s    .s   J.npyt	   mmap_modeRT   s   JJ.npyRÎ   id   s
   ires_L.npyg-Cëâ6?t   lowert   overwrite_as   iL.npyt   transt   overwrite_bt   iLs   err.npyt   outs   model_constants/B.txtRŠ   s   %.4fs   model_constants/C.txts   model_constants/A.txts   model_constants/T0.txtt   yerrR_   g      ø?R¹   R…   t   temperature(Â   Rœ   R¢   R–   t   numpyt	   numpy.fftR   R   t   matplotlib.pyplott   numpy.linalgR   R   t   scipy.linalgR   R   R   R   R   R   R   R   t   scipy.stats.statsR   t   scipy.sparseR    t   scipy.optimizeR!   R"   R#   R$   R%   R&   t   scipy.stats.mstatsR'   t   scipy.statsR(   t   numpy.matlibR)   R*   t   scipy.signalR+   R,   Rr   t   n_ionsR”   RC   R5   RG   R   R   t   M3t   M4t   M5t   M6t   M7t   Mt   todenset   bound_inter_it   bound_inter_jt	   M_limitedt   linalgR‚   Rž   R„   t   eigvalt   eigvecR™   t   null_indRh   t   loadt   dataR¥   R¦   R¹   RA   t   xranget   shotRq   t   ct   ceRL   t   n_spectaR•   t
   shot_spaceRD   t   hstackRg   t   st   savez_compressedt   inftyRµ   R¶   R1   t   wpt   divERM   t   logt   hypotRN   Rk   Ri   Re   RB   R]   R“   RO   t   IRb   Ry   R2   RF   RP   R[   Rf   Rt   Ru   R.   RÏ   Rd   RE   RR   R   RH   Rv   t   mediant   wrong_shotsRK   R¼   R/   R\   t   nant	   coeff_errt
   single_iont	   multi_ionR   RÄ   Rƒ   R†   t   a0Rˆ   R³   R»   t	   enumerateR‡   t	   density0_t   a0_t   T0_RÆ   t   name_RÊ   R0   RÃ   R‰   R½   t   LRº   RÉ   t   eyeRÇ   t   r_RÌ   t   ssRÍ   RÖ   RÓ   t   JJR}   t   correctedPEt   errt   array_splitt	   intervalst   intert   flatRÜ   t   shapet   identityt   absoluteR…   R   t   savetxtt   errTt
   errDensityR   t   y_err_upt
   y_err_downR›   R¤   R¡   Ro   t   showt   coeffEt   T0Et   aEt   TEt   densityE(    (    (    sH   ../includes/analysis/Radiation/1212Impurities_TO.ON/init_CalcDensTemp.pyt   <module>   s~  *?

:.	<'<!&

@
 ..

ÿ Eßÿ E
	/ 	* 22,
 22,

:	"	,
/!		H

""	8"	"'0			5	
		=				
	" .	E
!!,$
!$&%!!