ser_carry_polynomial_regular_root_op Struct Reference

#include <series_carry_naive.hpp>

List of all members.

Static Public Member Functions


Detailed Description

Definition at line 755 of file series_carry_naive.hpp.


Member Function Documentation

static series<M,V> def ( const series< M, V > &  me,
const polynomial< L > &  P 
) [inline, static]

Definition at line 795 of file series_carry_naive.hpp.

References mmx::eval(), mmx::lshiftz(), mmx::N(), R, mmx::rem(), mmx::rshiftz(), Series, and mmx::square().

00795                                                  {
00796     L y0 (* me[0]);
00797     polynomial<L> Q;
00798     polynomial<L> sqr (vec<L> (square (y0), - 2 * y0, 1)); // (X-y_O)²
00799     polynomial<L> R= rem (P, sqr, Q);
00800     Series Py0= integer_to_series_carry<M, V> (R[0]);
00801     Series dPy0= integer_to_series_carry<M, V> (R[1]);
00802     nat n = N(Q);
00803     vector<Series> vs (Series(), n);
00804     for (nat i= 0; i<n; i++)
00805       vs[i] = integer_to_series_carry<M, V> (Q[i]);
00806     polynomial<Series> sQ (vs);
00807     return ((Py0 - me[0] * dPy0 + lshiftz (square (rshiftz (me))
00808                                            * eval (sQ, me), 2)) / (-dPy0));
00809   }

static generic name (  )  [inline, static]

Definition at line 757 of file series_carry_naive.hpp.

00757 { return "polynomial_regular_root"; }

static nat nr_init (  )  [inline, static]

Definition at line 792 of file series_carry_naive.hpp.

00792 { return 1; }

static syntactic op ( const syntactic &  P  )  [inline, static]

Definition at line 781 of file series_carry_naive.hpp.

00781                           {
00782     return apply ("polynomial_regular_root", P); }

static series<M,V> op ( const polynomial< L > &  P,
const M &  init 
) [inline, static]

Definition at line 777 of file series_carry_naive.hpp.

00777                                              {
00778     return polynomial_regular_root<M,V,L> (P,init); }

static series<M,V> op ( const polynomial< L > &  P  )  [inline, static]

Definition at line 773 of file series_carry_naive.hpp.

00773                               {
00774     return polynomial_regular_root<M,V,L> (P); }

static M op ( const polynomial< M > &  P,
const M &  init 
) [inline, static]

Definition at line 769 of file series_carry_naive.hpp.

00769                                              {
00770     return init; }

static M op ( const polynomial< Lift_type(M)> &  P  )  [inline, static]

Definition at line 760 of file series_carry_naive.hpp.

References M, mmx::N(), mmx::polynomial_modular_root(), and mmx::rem().

00760                                           {
00761     typedef Lift_type (M) L;
00762     L p (* M::get_modulus());
00763     vector<M> cP (M(0), N(P));
00764     for (nat i= 0; i < N(P); i++)
00765       cP[i]= M (rem (P[i], p));
00766     return polynomial_modular_root (polynomial<M> (cP)); }

static series<M,V> op_init ( const polynomial< L > &  P,
const M &  i 
) [inline, static]

Definition at line 789 of file series_carry_naive.hpp.

00789                                                {
00790     return polynomial_regular_root_init<M,V,L> (P, i); }

static void set_op ( R &  x,
const polynomial< L > &  P 
) [inline, static]

Definition at line 785 of file series_carry_naive.hpp.

References mmx::polynomial_regular_root().

00785                                         {
00786     x= polynomial_regular_root (P); }


The documentation for this struct was generated from the following file:

Generated on 20 Mar 2013 for algebramix by  doxygen 1.6.1