;ò
…Rã?c           @   sZ  d  k  Z  d  k Z d k l Z d f  d „  ƒ  YZ d „  Z d „  Z d „  Z e d j oü e d d	 d d
 g ƒ Z	 d Z
 e	 e
 ƒ Gd
 e
 d e
 d	 e
 d GHe	 i ƒ  Z x e D] Z e Ge	 e ƒ GHq´ We d d	 g d d g g ƒ Z d	 Z e e
 e ƒ Gd d	 e d e
 d e
 e GHe d d d d d g d d d d g ƒ Z e i GHn d  S(   N(   s   index_expressions
   Polynomialc           B   s}   t  Z d  Z d „  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 d „ Z d
 d „ Z d „  Z RS(   sç  Multivariate polynomial

    Instances of this class represent polynomials of any order and
    in any number of variables. They can be evaluated like functions.

    Constructor: Polynomial(|coefficients|), where |coefficients| is
    an array whose dimension defines the number of variables and whose
    length along each axis defines the order in the corresponding
    variable. The coefficients are ordered according to increasing
    powers, i.e.\ [1., 2.] stands for 1.+2.*x.
    c         C   s+   t  i | ƒ |  _ t |  i i ƒ |  _ d  S(   N(   s   Numerics   arrays   coefficientss   selfs   coeffs   lens   shapes   dim(   s   selfs   coefficients(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __init__   s    i   c         G   s\   t  | ƒ |  i j o t d ‚ n t | |  i i ƒ } t	 i
 i t	 i | |  i ƒ ƒ Sd  S(   Ns   Wrong number of arguments(   s   lens   argss   selfs   dims	   TypeErrors   _powerss   coeffs   shapes   ps   Numerics   adds   reduces   ravel(   s   selfs   argss   p(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __call__    s    c         C   s@   |  i d j o d t t |  i ƒ ƒ Sn d t |  i ƒ Sd  S(   Ni   s   Polynomial(%s)(   s   selfs   dims   reprs   lists   coeff(   s   self(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __repr__&   s    c         C   sM   t  | d ƒ o |  | f Sn, t  | d ƒ o t Sn |  t | g ƒ f Sd  S(   Ns   is_polynomials   is_rational_function(   s   hasattrs   others   selfs   Nones
   Polynomial(   s   selfs   other(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys
   __coerce__,   s
    c         C   s(  t  |  i | i ƒ } t i | f t i ƒ } |  i i | |  i *t i	 | | i  | i i ƒ | | i *t i | |  i i
 ƒ  ƒ } t t d „  |  i i ƒ | |  i d g ƒ } |  i | | <t i | | i i
 ƒ  ƒ } t t d „  | i i ƒ | | i d g ƒ } | i | | <t | | ƒ Sd  S(   Nc         C   s   t  d |  ƒ S(   Ni    (   s   slices   d(   s   d(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   <lambda>;   s    i    (   s   maxs   selfs   dims   others   Numerics   zeross   Ints   shapes   coeffs   maximums   typecodes   coeff1s   tuples   maps   indexs   coeff2s
   Polynomial(   s   selfs   others   dims   indexs   shapes   coeff2s   coeff1(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __add__4   s    00c         C   sÕ   |  i d j p | i d j o t d ‚ n t i i |  i | i ƒ } t i	 | t i
 d | i d f ƒ f d ƒ } t i | ƒ | i d  } | i d | i d | i d d f | _ t t i | ƒ ƒ Sd  S(   Ni   s   not implementedi   i    (   s   selfs   dims   others
   ValueErrors   Numerics   multiplys   outers   coeffs   cs   concatenates   zeross   shapes   temps   ravels
   Polynomials   sum(   s   selfs   others   cs   temp(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __mul__D   s     /,c         C   s}   |  i d j p | i d j o t d ‚ n t | i ƒ d j o t |  i | i d ƒ Sn d k l } | |  | ƒ Sd  S(   Ni   s   not implementedi    (   s   RationalFunction(	   s   selfs   dims   others
   ValueErrors   lens   coeffs
   Polynomials   Rationals   RationalFunction(   s   selfs   others   RationalFunction(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __div__M   s     c         C   s   d k  l } | | |  ƒ Sd  S(   N(   s   RationalFunction(   s   Rationals   RationalFunctions   others   self(   s   selfs   others   RationalFunction(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   __rdiv__U   s    i    c         C   sÍ   |  i i | } | d j o$ t t t i |  i	 d f ƒ ƒ Sn | t
 d d d … t
 d d d … t
 d } t i d | ƒ } | t
 d d d … |  i	 | d t
 t i } t | |  i | ƒ Sd S(   s2   Returns the derivative with respect to |variable|.i   N.f1.0(   s   selfs   coeffs   shapes   variables   ns
   Polynomials   applys	   Numericals   zeross   dims   index_expressions   indexs   Numerics   aranges   factors   NewAxis(   s   selfs   variables   indexs   ns   factor(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys
   derivativeY   s     $01c         C   s¿   |  i i | } d t i d | d ƒ } | t d d d … |  i	 | d t t i
 } t t |  i i ƒ } d | | <t t i t | ƒ ƒ } t i | | |  i f | ƒ } t | ƒ Sd S(   s;   Returns the indefinite integral with respect to |variable|.f1.0i   N(   s   selfs   coeffs   shapes   variables   ns   Numerics   aranges   factors   index_expressions   dims   NewAxiss   maps   Nones   ss   applys   zeross   tuples   zs   concatenates   intcoeffs
   Polynomial(   s   selfs   variables   ns   ss   factors   intcoeffs   z(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   integralf   s     1
c         C   sí   |  i d j o t d ‚ n t |  i ƒ d } | d j o t i g  ƒ Sn t i | | f |  i i	 ƒ  ƒ } | d j o- t i | d ƒ | d d … d d … f <n |  i d  |  i d | d d … d f <d k l } | | ƒ Sd S(   s:   Returns an array containing the zeros (one variable only).i   s   not implementedi    Niÿÿÿÿ(   s   eigenvalues(   s   selfs   dims
   ValueErrors   lens   coeffs   ns   Numerics   arrays   zeross   typecodes   as   identitys   LinearAlgebras   eigenvalues(   s   selfs   as   ns   eigenvalues(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   zeross   s     !-)(   s   __name__s
   __module__s   __doc__s   __init__s   is_polynomials   __call__s   __repr__s
   __coerce__s   __add__s   __mul__s   __div__s   __rdiv__s
   derivatives   integrals   zeros(    (    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys
   Polynomial   s    									c         C   sw  t  | ƒ t  | ƒ j o t d ‚ n t |  ƒ t f  ƒ j o |  f }  n t t d „  |  ƒ ƒ }  t | d ƒ o t d „  | ƒ } n t  |  ƒ t  | d ƒ j o t d ‚ n t	 i
 i |  ƒ t  | ƒ j o t d ‚ n g  } x- | D]% } | i t	 i t | |  ƒ ƒ ƒ qï Wt	 i | ƒ } t	 i | ƒ } t i | ƒ } t	 i | | ƒ } t	 i | |  ƒ } t | ƒ Sd  S(   Ns   Inconsistent argumentsc         C   s   |  d S(   Ni   (   s   n(   s   n(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   <lambda>ˆ   s    i    c         C   s   |  f S(   N(   s   p(   s   p(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   <lambda>Š   s    s   Not enough points(   s   lens   pointss   valuess
   ValueErrors   types   orders   tuples   maps   _isSequences   Numerics   multiplys   reduces   matrixs   ps   appends   ravels   _powerss   arrays   LinearAlgebras   generalized_inverses   invs   dots   coeffs   reshapes
   Polynomial(   s   orders   pointss   valuess   invs   matrixs   coeffs   p(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   fitPolynomialƒ   s*     #c         C   s¬   d } t d  d  d  … t |  ƒ d t t i } xo t t |  ƒ ƒ D][ } t i	 i
 t i d g | | d |  | g ƒ ƒ } | | | } | d | d  } qE W| Sd  S(   Nf1.0i   iÿÿÿÿ(   s   ps   index_expressions   lens   xs   Numerics   NewAxiss   indexs   ranges   is   multiplys
   accumulates   arrays   ns   pi(   s   xs   ns   indexs   is   ps   pi(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   _powersœ   s    , 5c         C   s.   d } y t |  ƒ } Wn n X| d j Sd  S(   Niÿÿÿÿi    (   s   ns   lens   object(   s   objects   n(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   _isSequence¦   s      s   __main__f1.0f0.29999999999999999f0.40000000000000002f-1.8999999999999999f0.20000000000000001f0.5i   f2.0f3.0f4.0f8.0f14.0(   s   LinearAlgebras   Numerics   Scientific.indexings   index_expressions
   Polynomials   fitPolynomials   _powerss   _isSequences   __name__s   p1s   xs   zeross   zs   p2s   ys   fits   coeff(   s   p2s   p1s   zeross   fits   _powerss   zs   Numerics   ys   LinearAlgebras   index_expressions   xs
   Polynomials   _isSequences   fitPolynomial(    (    sJ   /mit/python/lib/python2.3/site-packages/Scientific/Functions/Polynomial.pys   ?   s$   w		
	( .*