1 #include "SeldonFlag.hxx"
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
7 #include "SeldonDistributedHeader.hxx"
8 #include "SeldonDistributedInline.hxx"
11 #ifndef SELDON_WITH_COMPILED_LIBRARY
12 #include "computation/interfaces/direct/Mumps.cxx"
17 SELDON_EXTERN
template class MatrixMumps<double>;
18 SELDON_EXTERN
template class MatrixMumps<complex<double> >;
21 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FindOrdering(Matrix<complex<double> , Symmetric, RowSymSparse>&, IVect&,
bool);
23 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FindOrdering(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&, IVect&,
bool);
25 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FindOrdering(Matrix<complex<double> , General, RowSparse>&, IVect&,
bool);
27 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FindOrdering(Matrix<complex<double> , General, ArrayRowSparse>&, IVect&,
bool);
30 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FactorizeMatrix(Matrix<complex<double> , Symmetric, RowSymSparse>&,
bool);
32 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FactorizeMatrix(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&,
bool);
34 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FactorizeMatrix(Matrix<complex<double> , General, RowSparse>&,
bool);
36 SELDON_EXTERN
template void MatrixMumps<complex<double> >::FactorizeMatrix(Matrix<complex<double> , General, ArrayRowSparse>&,
bool);
39 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformAnalysis(Matrix<complex<double> , Symmetric, RowSymSparse>&);
41 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformAnalysis(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&);
43 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformAnalysis(Matrix<complex<double> , General, RowSparse>&);
45 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformAnalysis(Matrix<complex<double> , General, ArrayRowSparse>&);
48 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformFactorization(Matrix<complex<double> , Symmetric, RowSymSparse>&);
50 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformFactorization(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&);
52 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformFactorization(Matrix<complex<double> , General, RowSparse>&);
54 SELDON_EXTERN
template void MatrixMumps<complex<double> >::PerformFactorization(Matrix<complex<double> , General, ArrayRowSparse>&);
56 SELDON_EXTERN
template void MatrixMumps<double>::GetSchurMatrix(Matrix<double, Symmetric, RowSymSparse>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
57 SELDON_EXTERN
template void MatrixMumps<complex<double> >
::GetSchurMatrix(Matrix<complex<double> , Symmetric, RowSymSparse>&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
58 SELDON_EXTERN
template void MatrixMumps<double>::GetSchurMatrix(Matrix<double, Symmetric, ArrayRowSymSparse>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
59 SELDON_EXTERN
template void MatrixMumps<complex<double> >
::GetSchurMatrix(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
60 SELDON_EXTERN
template void MatrixMumps<double>::GetSchurMatrix(Matrix<double, General, RowSparse>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
61 SELDON_EXTERN
template void MatrixMumps<complex<double> >
::GetSchurMatrix(Matrix<complex<double> , General, RowSparse>&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
62 SELDON_EXTERN
template void MatrixMumps<double>::GetSchurMatrix(Matrix<double, General, ArrayRowSparse>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
63 SELDON_EXTERN
template void MatrixMumps<complex<double> >
::GetSchurMatrix(Matrix<complex<double> , General, ArrayRowSparse>&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
69 SELDON_EXTERN
template void MatrixMumps<complex<double> >::Solve(Vector<complex<double> >&);
70 SELDON_EXTERN
template void MatrixMumps<complex<double> >::Solve(
const SeldonTranspose&, Vector<complex<double> >&);
71 SELDON_EXTERN
template void MatrixMumps<complex<double> >::Solve(
const SeldonTranspose&, Matrix<complex<double> , General, ColMajor>&);
73 SELDON_EXTERN
template void GetLU(Matrix<double, Symmetric, RowSymSparse>&, MatrixMumps<double>&,
bool);
74 SELDON_EXTERN
template void GetLU(Matrix<complex<double> , Symmetric, RowSymSparse>&, MatrixMumps<complex<double> >&,
bool);
75 SELDON_EXTERN
template void GetLU(Matrix<double, Symmetric, ArrayRowSymSparse>&, MatrixMumps<double>&,
bool);
76 SELDON_EXTERN
template void GetLU(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&, MatrixMumps<complex<double> >&,
bool);
78 SELDON_EXTERN
template void GetLU(Matrix<double, General, RowSparse>&, MatrixMumps<double>&,
bool);
79 SELDON_EXTERN
template void GetLU(Matrix<complex<double> , General, RowSparse>&, MatrixMumps<complex<double> >&,
bool);
80 SELDON_EXTERN
template void GetLU(Matrix<double, General, ArrayRowSparse>&, MatrixMumps<double>&,
bool);
81 SELDON_EXTERN
template void GetLU(Matrix<complex<double> , General, ArrayRowSparse>&, MatrixMumps<complex<double> >&,
bool);
83 SELDON_EXTERN
template void GetSchurMatrix(Matrix<double, Symmetric, RowSymSparse>&, MatrixMumps<double>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
84 SELDON_EXTERN
template void GetSchurMatrix(Matrix<complex<double> , Symmetric, RowSymSparse>&, MatrixMumps<complex<double> >&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
85 SELDON_EXTERN
template void GetSchurMatrix(Matrix<double, Symmetric, ArrayRowSymSparse>&, MatrixMumps<double>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
86 SELDON_EXTERN
template void GetSchurMatrix(Matrix<complex<double> , Symmetric, ArrayRowSymSparse>&, MatrixMumps<complex<double> >&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
88 SELDON_EXTERN
template void GetSchurMatrix(Matrix<double, General, RowSparse>&, MatrixMumps<double>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
89 SELDON_EXTERN
template void GetSchurMatrix(Matrix<complex<double> , General, RowSparse>&, MatrixMumps<complex<double> >&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
90 SELDON_EXTERN
template void GetSchurMatrix(Matrix<double, General, ArrayRowSparse>&, MatrixMumps<double>&,
const IVect&, Matrix<double, General, ColMajor>&,
bool);
91 SELDON_EXTERN
template void GetSchurMatrix(Matrix<complex<double> , General, ArrayRowSparse>&, MatrixMumps<complex<double> >&,
const IVect&, Matrix<complex<double> , General, ColMajor>&,
bool);
93 SELDON_EXTERN
template void SolveLU(MatrixMumps<double>&, Vector<double>&);
94 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<double>&, Vector<double>&);
95 SELDON_EXTERN
template void SolveLU(MatrixMumps<double>&, Matrix<double, General, ColMajor>&);
97 SELDON_EXTERN
template void SolveLU(MatrixMumps<double>&, Vector<complex<double> >&);
98 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<double>&, Vector<complex<double> >&);
99 SELDON_EXTERN
template void SolveLU(MatrixMumps<double>&, Matrix<complex<double> , General, ColMajor>&);
100 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<double>&, Matrix<complex<double> , General, ColMajor>&);
102 SELDON_EXTERN
template void SolveLU(MatrixMumps<complex<double> >&, Vector<double>&);
103 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<complex<double> >&, Vector<double>&);
104 SELDON_EXTERN
template void SolveLU(MatrixMumps<complex<double> >&, Matrix<double, General, ColMajor>&);
105 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<complex<double> >&, Matrix<double, General, ColMajor>&);
107 SELDON_EXTERN
template void SolveLU(MatrixMumps<complex<double> >&, Vector<complex<double> >&);
108 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<complex<double> >&, Vector<complex<double> >&);
109 SELDON_EXTERN
template void SolveLU(MatrixMumps<complex<double> >&, Matrix<complex<double> , General, ColMajor>&);
110 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, MatrixMumps<complex<double> >&, Matrix<complex<double> , General, ColMajor>&);
112 #ifdef SELDON_WITH_MPI
113 SELDON_EXTERN
template void MatrixMumps<double >
114 ::SolveDistributed(MPI_Comm&,
const SeldonTranspose&, Vector<double >&,
const IVect&);
116 SELDON_EXTERN
template void MatrixMumps<double >
117 ::SolveDistributed(MPI_Comm&,
const SeldonTranspose&,
118 Matrix<double, General, ColMajor>&,
const Vector<int>&);
120 SELDON_EXTERN
template void MatrixMumps<complex<double> >
121 ::SolveDistributed(MPI_Comm&,
const SeldonTranspose&, Vector<complex<double> >&,
const IVect&);
123 SELDON_EXTERN
template void MatrixMumps<complex<double> >
124 ::SolveDistributed(MPI_Comm&,
const SeldonTranspose&,
125 Matrix<complex<double>, General, ColMajor>&,
const Vector<int>&);