1 #include "SeldonFlag.hxx"
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
6 #ifndef SELDON_WITH_COMPILED_LIBRARY
7 #include "computation/solver/SparseCholeskyFactorisation.cxx"
9 #include "computation/solver/DistributedCholeskySolver.cxx"
15 SELDON_EXTERN
template void
16 GetCholesky(Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
int);
18 SELDON_EXTERN
template void
19 SolveCholesky(
const SeldonTranspose&,
20 const Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Real_wp>&);
22 SELDON_EXTERN
template void
23 SolveCholesky(
const SeldonTranspose&,
24 const Matrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Real_wp>&);
26 SELDON_EXTERN
template void
27 SolveCholesky(
const SeldonTranspose&,
28 const Matrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&);
30 SELDON_EXTERN
template void
31 MltCholesky(
const SeldonTranspose&,
32 const Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Real_wp>&);
34 SELDON_EXTERN
template void
35 MltCholesky(
const SeldonTranspose&,
36 const Matrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Real_wp>&);
38 SELDON_EXTERN
template void MltCholesky(
const SeldonTranspose&,
const Matrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&);
40 SELDON_EXTERN
template class SparseCholeskySolver<Real_wp>;
43 Factorize(Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
bool);
46 Solve(
const SeldonTranspose&, Vector<Real_wp>&,
bool);
49 Mlt(
const SeldonTranspose&, Vector<Real_wp>&,
bool);
51 #ifdef SELDON_WITH_MPI
52 SELDON_EXTERN
template class DistributedCholeskySolver<Real_wp>;
54 SELDON_EXTERN
template void DistributedCholeskySolver<Real_wp>::
55 Factorize(Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
bool);
57 SELDON_EXTERN
template void DistributedCholeskySolver<Real_wp>::
58 Factorize(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
bool);
60 SELDON_EXTERN
template void DistributedCholeskySolver<Real_wp>::
61 Solve(
const SeldonTranspose&, Vector<Real_wp>&,
bool);
63 SELDON_EXTERN
template void DistributedCholeskySolver<Real_wp>::
64 Mlt(
const SeldonTranspose&, Vector<Real_wp>&,
bool);