algebramix_doc 0.3
ldiv_mat_series_rep< C, V, W, U > Class Template Reference

#include <series_vector.hpp>

Inheritance diagram for ldiv_mat_series_rep< C, V, W, U >:
recursive_series_rep< C, V > series_rep

List of all members.

Public Member Functions

Public Attributes

Protected Attributes


Detailed Description

template<typename C, typename V, typename W, typename U>
class mmx::ldiv_mat_series_rep< C, V, W, U >

Definition at line 359 of file series_vector.hpp.


Constructor & Destructor Documentation

ldiv_mat_series_rep ( const matrix< series< C, V >, U > &  mat2,
const vector< series< C, V >, W > &  f2 
) [inline]

Definition at line 364 of file series_vector.hpp.

                                                                          :
    recursive_series_rep<Vector,V> (get_vector_format (f2)),
    f(f2), mat(mat2) {}

Member Function Documentation

syntactic expression ( const syntactic &  z) const [inline]
virtual void Increase_order ( nat  l) [inline, virtual]

Reimplemented from recursive_series_rep< C, V >.

Definition at line 369 of file series_vector.hpp.

References mmx::cols(), ldiv_mat_series_rep< C, V, W, U >::f, mmx::increase_order(), ldiv_mat_series_rep< C, V, W, U >::mat, and mmx::N().

                                      {
    recursive_series_rep<Vector,V>::Increase_order (l);
    for (nat i = 0; i < N(f); i++) {
      increase_order (f[i],l);
      for (nat j = 0; j < cols(mat); j++)
        increase_order (mat(i,j),l);
    }
  }
C& initial ( nat  n2) [inline, inherited]
series< vector<C,W> ,V> initialize ( ) [inline, virtual]

Implements recursive_series_rep< C, V >.

Definition at line 377 of file series_vector.hpp.

References mmx::as_matrix(), mmx::as_series(), mmx::as_vector(), ldiv_mat_series_rep< C, V, W, U >::f, recursive_series_rep< C, V >::initial(), mmx::invert(), mmx::lshiftz_series_vector(), ldiv_mat_series_rep< C, V, W, U >::mat, mmx::N(), mmx::rshiftz(), mmx::ser_ldiv_sc_mat(), Series_matrix, and Vector_series.

                              {
    Series_matrix smat = as_series (mat);
    //TODO create a matrix variant helper for Matrix_series
    //matrix<C> smat0 = smat[0]; 
    this->initial (0)= invert (smat[0]) * as_series (f)[0];
    
    Vector_series v = f - 
      as_vector (lshiftz_series_vector (as_series (as_matrix (rshiftz (smat))*
                                                   as_vector (this-> me ())),
                                        N(f)));
    //Conversions series <-> vector, matrix dues à
    //-produit matrice vecteur prend en entrée matrix, vector
    //-rshiftz sur une matrice prend en entrée series
    //-appel à ser_ldiv_sc_smat prend en entrée matrix, vector
    return as_series (ser_ldiv_sc_mat (smat[0], v));
    /* Pour essayer de simplifier l'appel à ser_ldiv_sc_mat
    typedef ldiv_sc_mat_series_rep<C,V,W,matrix_naive> Div_sc_mat_rep;
    Series_vector s = (series_rep<Vector,V>*) Div_sc_mat_rep (smat0, v);
    return s; */
  }
C next ( ) [inline, inherited]

Definition at line 137 of file series.hpp.

{ return eq[this->n]; }

Member Data Documentation

series<C,V> eq [inherited]

Definition at line 126 of file series.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines