1 #ifndef SUPER_SUPER_LU_HPP 2 #define SUPER_SUPER_LU_HPP 4 #include "supermatrix.hpp" 6 #ifdef USE_SUPERLU_DIST 7 # include "superlu_zdefs.h" 9 # include "slu_zdefs.h" 17 std::unique_ptr<SuperMatrix> A;
20 return reinterpret_cast<NCformat*
>(A->Store);};
21 NCformat
const * Astore()
const{
22 return reinterpret_cast<NCformat*
>(A->Store);};
27 std::unique_ptr<SuperMatrix> a);
31 fail(
"Insert not valid in Baked Phase!\n");};
35 void Apply(
const complex*,
37 void Apply( complex*)
const;
38 void Output(std::ostream& os)
const;
40 status my_status()
const{
return Baked;};
42 std::unique_ptr<SuperMatrix> release(){
return A;};
51 #ifdef USE_SUPERLU_DIST 59 std::unique_ptr<int> perm_c;
60 std::unique_ptr<int> perm_r;
61 std::unique_ptr<SuperMatrix> A;
64 superlu_options_t options;
67 ScalePermstruct_t ScalePermstruct;
77 std::unique_ptr<SuperMatrix>);
81 fail(
"Insert not valid in Factorized dist Phase!\n");};
83 fail(
"Add not valid in Factorized dist Phase!\n");};
85 fail(
"Get not valid in Factorized dist Phase!\n");
return complex(0.,0.);};
87 void Apply(
const complex* phi,
88 complex* result)
const;
89 void Apply( complex* result)
const;
90 void Output(std::ostream& os)
const {
91 fail(
"Output not valid in Factorized dist Phase!\n");};
93 status my_status()
const{
return Factorized_dist;};
104 std::unique_ptr<SuperMatrix> L;
105 std::unique_ptr<SuperMatrix> U;
106 std::unique_ptr<int> perm_c;
107 std::unique_ptr<int> perm_r;
109 superlu_options_t options;
115 std::unique_ptr<SuperMatrix>);
119 fail(
"Insert not valid in Factorized Phase!\n");};
121 fail(
"Add not valid in Factorized Phase!\n");};
123 fail(
"Get not valid in Factorized Phase!\n");
return complex(0.,0.);};
125 void Apply(
const complex* phi,
126 complex* result)
const;
127 void Apply( complex* result)
const;
128 void Output(std::ostream& os)
const {
129 fail(
"Output not valid in Factorized Phase!\n");};
131 status my_status()
const{
return Factorized;};
Definition: supermatrix_MUMPS.hpp:304
General interface to inversion of large, sparse Matrices.
Definition: supermatrix.hpp:106
Definition: supermatrix_MUMPS.hpp:247
Definition: supermatrix.hpp:209
Definition: supermatrix_MUMPS.hpp:200
Definition: supermatrix.hpp:23