19 #ifndef ACTION_TRISOLVE 
   20 #define ACTION_TRISOLVE 
   21 #include "utilities.h" 
   30 template<
class Interface>
 
   39     MESSAGE(
"Action_trisolve Ctor");
 
   42     init_matrix<pseudo_random>(L_stl,_size);
 
   43     init_vector<pseudo_random>(B_stl,_size);
 
   44     init_vector<null_function>(X_stl,_size);
 
   45     for (
int j=0; 
j<_size; ++
j)
 
   47       for (
int i=0; 
i<
j; ++
i)
 
   52     init_vector<null_function>(resu_stl,_size);
 
   55     Interface::matrix_from_stl(
L,L_stl);
 
   56     Interface::vector_from_stl(
X,X_stl);
 
   57     Interface::vector_from_stl(
B,B_stl);
 
   60     for (
int j=0; 
j<_size; ++
j)
 
   70     INFOS(
"illegal call to Action_trisolve Copy Ctor");
 
   78     MESSAGE(
"Action_trisolve Dtor");
 
   81     Interface::free_matrix(
L,_size);
 
   82     Interface::free_vector(
B);
 
   83     Interface::free_vector(
X);
 
   88   static inline std::string 
name( 
void )
 
  102       Interface::trisolve_lower(
L,
B,
X,_size);
 
  106     if (_size>128) 
return;
 
  108     Interface::vector_to_stl(
X,resu_stl);
 
  112     typename Interface::real_type 
error=
 
  116       INFOS(
"WRONG CALCULATION...residual=" << 
error);
 
  124   typename Interface::stl_matrix 
L_stl;
 
  125   typename Interface::stl_vector 
X_stl;
 
  126   typename Interface::stl_vector 
B_stl;
 
  129   typename Interface::gene_matrix 
L;
 
  130   typename Interface::gene_vector 
X;
 
  131   typename Interface::gene_vector 
B;