IlutPreconditioning.cpp
1 #include "SeldonFlag.hxx"
2 
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
5 
6 #ifndef SELDON_WITH_COMPILED_LIBRARY
7 #include "computation/solver/preconditioner/IlutPreconditioning.cxx"
8 #include "computation/solver/preconditioner/SymmetricIlutPreconditioning.cxx"
9 #endif
10 
11 namespace Seldon
12 {
13  SELDON_EXTERN template class IlutPreconditioning<Real_wp>;
14  SELDON_EXTERN template class IlutPreconditioning<Complex_wp >;
15 
16  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::FactorizeSymMatrix(const IVect&, Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&, bool);
17  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::FactorizeUnsymMatrix(const IVect&, Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&, bool);
18  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::FactorizeUnsymMatrix(const IVect&, Matrix<Real_wp, General, ArrayRowSparse>&, bool);
19  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::FactorizeSymMatrix(const IVect&, Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, bool);
20  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::FactorizeUnsymMatrix(const IVect&, Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, bool);
21  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::FactorizeUnsymMatrix(const IVect&, Matrix<Complex_wp, General, ArrayRowSparse>&, bool);
22 
23  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::FactorizeMatrix(const IVect&, Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&, bool);
24  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::FactorizeMatrix(const IVect&, Matrix<Real_wp, General, ArrayRowSparse>&, bool);
25  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::FactorizeMatrix(const IVect&, Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, bool);
26  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::FactorizeMatrix(const IVect&, Matrix<Complex_wp, General, ArrayRowSparse>&, bool);
27 
28  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::Solve(Vector<Real_wp>&);
29  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::Solve(const SeldonTranspose&, Vector<Real_wp>&);
30  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::Solve(Vector<Complex_wp>&);
31  SELDON_EXTERN template void IlutPreconditioning<Real_wp>::Solve(const SeldonTranspose&, Vector<Complex_wp>&);
32 
33  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::Solve(Vector<Complex_wp >&);
34  SELDON_EXTERN template void IlutPreconditioning<Complex_wp >::Solve(const SeldonTranspose&, Vector<Complex_wp >&);
35 
36  SELDON_EXTERN template void GetLU(Matrix<Real_wp, General, ArrayRowSparse>&,
37  IlutPreconditioning<Real_wp>&, IVect&, bool);
38 
39  SELDON_EXTERN template void GetLU(Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
40  IlutPreconditioning<Real_wp>&, IVect&, bool);
41 
42  SELDON_EXTERN template void GetLU(Matrix<Complex_wp, General, ArrayRowSparse>&,
43  IlutPreconditioning<Complex_wp >&, IVect&, bool);
44 
45  SELDON_EXTERN template void GetLU(Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
46  IlutPreconditioning<Complex_wp >&, IVect&, bool);
47 
48 
49  SELDON_EXTERN template void GetLU(Matrix<Real_wp, General, RowSparse>&,
50  IlutPreconditioning<Real_wp>&, IVect&, bool);
51 
52  SELDON_EXTERN template void GetLU(Matrix<Real_wp, Symmetric, RowSymSparse>&,
53  IlutPreconditioning<Real_wp>&, IVect&, bool);
54 
55  SELDON_EXTERN template void GetLU(Matrix<Complex_wp, General, RowSparse>&,
56  IlutPreconditioning<Complex_wp >&, IVect&, bool);
57 
58  SELDON_EXTERN template void GetLU(Matrix<Complex_wp, Symmetric, RowSymSparse>&,
59  IlutPreconditioning<Complex_wp >&, IVect&, bool);
60 
61 }
Seldon::IlutPreconditioning::Solve
void Solve(const Matrix1 &A, const Vector1 &r, Vector1 &z)
Applies ilut preconditioning.
Definition: IlutPreconditioning.cxx:418
Seldon::GetLU
void GetLU(Matrix< T0, Prop0, Storage0, Allocator0 > &A)
Returns the LU factorization of a matrix.
Definition: Functions_Matrix.cxx:2073
Seldon
Seldon namespace.
Definition: Array.cxx:24