1 #include "SeldonFlag.hxx"
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
6 #include "SeldonComplexMatrixHeader.hxx"
7 #include "SeldonComplexMatrixInline.hxx"
10 #include "SeldonDistributedHeader.hxx"
11 #include "SeldonDistributedInline.hxx"
14 #ifndef SELDON_WITH_COMPILED_LIBRARY
15 #include "matrix_sparse/DistributedMatrix.cxx"
16 #include "matrix_sparse/DistributedMatrixFunction.cxx"
22 SELDON_EXTERN
template class DistributedMatrix_Base<Real_wp>;
23 SELDON_EXTERN
template class DistributedMatrix_Base<Complex_wp>;
34 SELDON_EXTERN
template class DistributedMatrix<Real_wp, General, ArrayRowSparse>;
45 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
46 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
47 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
48 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
49 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
50 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
51 SELDON_EXTERN
template void MltVector(
const Real_wp&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
52 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
53 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
54 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
55 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, IVect&, IVect&);
56 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, IVect&, IVect&);
57 SELDON_EXTERN
template void MltMin(
const Matrix<Real_wp, General, ArrayRowSparse>&,
58 const IVect&, IVect&, IVect&);
59 SELDON_EXTERN
template void MltMin(
const Matrix<Complex_wp, General, ArrayRowSparse>&,
60 const IVect&, IVect&, IVect&);
62 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
63 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
65 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
66 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
67 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
68 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
69 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
70 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
72 SELDON_EXTERN
template void Transpose(DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
73 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
74 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
75 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
76 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
78 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
int, Vector<Real_wp, VectSparse>&);
79 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
int, Vector<Real_wp, VectSparse>&);
80 SELDON_EXTERN
template void SetRow(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
81 SELDON_EXTERN
template void SetCol(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
83 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<int>&,
const Vector<int>&);
84 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<int>&,
const Vector<int>&);
86 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
87 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
88 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
89 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
91 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
92 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
93 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
95 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
96 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&);
97 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&);
98 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
100 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
101 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, ArrayRowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
102 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, ArrayRowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
103 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, ArrayRowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
105 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
106 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
108 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
109 const IVect&,
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
111 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
112 const IVect&,
const IVect&, DistributedMatrix<Real_wp, General, ArrayRowSparse>&);
114 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Real_wp, General, ArrayRowSparse>&,
115 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
116 DistributedMatrix<Real_wp, General, ArrayRowSparse>&,
bool);
118 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Complex_wp, General, ArrayRowSparse>&,
119 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
120 DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
bool);
124 SELDON_EXTERN
template class DistributedMatrix<Real_wp, General, RowSparse>;
135 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
136 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
137 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
138 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
139 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
140 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
141 SELDON_EXTERN
template void MltVector(
const Real_wp&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
142 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
143 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
144 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Real_wp, General, RowSparse>&);
146 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Real_wp, General, RowSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
148 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Real_wp, General, RowSparse>&);
149 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, RowSparse>&);
150 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, RowSparse>&);
151 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Real_wp, General, RowSparse>&);
152 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Real_wp, General, RowSparse>&);
153 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Real_wp, General, RowSparse>&);
155 SELDON_EXTERN
template void Transpose(DistributedMatrix<Real_wp, General, RowSparse>&);
156 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Real_wp, General, RowSparse>&);
157 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Real_wp, General, RowSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
158 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Real_wp, General, RowSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
159 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Real_wp, General, RowSparse>&);
161 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Real_wp, General, RowSparse>&,
int, Vector<Real_wp, VectSparse>&);
162 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Real_wp, General, RowSparse>&,
int, Vector<Real_wp, VectSparse>&);
163 SELDON_EXTERN
template void SetRow(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, General, RowSparse>&);
164 SELDON_EXTERN
template void SetCol(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, General, RowSparse>&);
166 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<int>&,
const Vector<int>&);
167 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<int>&,
const Vector<int>&);
169 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, General, RowSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
170 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, General, RowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
171 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
172 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, General, RowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
174 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, RowSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
176 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Real_wp, General, RowSparse>&);
177 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&);
178 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&);
179 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Real_wp, General, RowSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
181 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, RowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
182 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, RowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
183 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, RowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
184 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, General, RowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
186 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
187 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
189 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, General, RowSparse>&,
190 const IVect&,
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
192 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Real_wp, General, RowSparse>&,
193 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
194 DistributedMatrix<Real_wp, General, RowSparse>&,
bool);
196 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Complex_wp, General, RowSparse>&,
197 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
198 DistributedMatrix<Complex_wp, General, RowSparse>&,
bool);
202 SELDON_EXTERN
template class DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>;
213 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
214 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
215 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
216 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
217 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
218 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
219 SELDON_EXTERN
template void MltVector(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
220 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
221 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
222 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
223 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, IVect&, IVect&);
224 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, IVect&, IVect&);
225 SELDON_EXTERN
template void MltMin(
const Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
226 const IVect&, IVect&, IVect&);
227 SELDON_EXTERN
template void MltMin(
const Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
228 const IVect&, IVect&, IVect&);
230 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
232 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
233 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
234 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
235 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
236 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
237 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
239 SELDON_EXTERN
template void Transpose(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
240 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
241 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
242 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
243 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
245 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
int, Vector<Real_wp, VectSparse>&);
246 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
int, Vector<Real_wp, VectSparse>&);
247 SELDON_EXTERN
template void SetRow(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
248 SELDON_EXTERN
template void SetCol(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
250 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
251 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
253 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
254 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
255 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
256 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
258 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
259 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
260 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
262 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
263 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
265 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
266 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
267 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
268 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
270 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
271 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
273 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
274 const IVect&,
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
276 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
277 const IVect&,
const IVect&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
279 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
280 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
281 DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&,
bool);
283 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
284 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
285 DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
bool);
289 SELDON_EXTERN
template class DistributedMatrix<Real_wp, Symmetric, RowSymSparse>;
300 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
301 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
302 SELDON_EXTERN
template void MltAddVector(
const Real_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&,
const Real_wp&, Vector<Real_wp>&,
bool);
303 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
304 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
305 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
306 SELDON_EXTERN
template void MltVector(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
307 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&, Vector<Real_wp>&,
bool);
308 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
309 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
311 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
313 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
314 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
315 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
316 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
317 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
318 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
320 SELDON_EXTERN
template void Transpose(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
321 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
322 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
323 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
324 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
326 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
int, Vector<Real_wp, VectSparse>&);
327 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
int, Vector<Real_wp, VectSparse>&);
328 SELDON_EXTERN
template void SetRow(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
329 SELDON_EXTERN
template void SetCol(
const Vector<Real_wp, VectSparse>&,
int, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
331 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
332 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
334 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
335 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
336 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Real_wp>&,
const Vector<Real_wp>&,
const Real_wp&,
int,
int);
337 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
339 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
340 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Real_wp, General, RowSparse>&);
342 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
343 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
345 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
346 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Real_wp>&,
bool,
bool);
347 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
348 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Real_wp>&,
bool,
bool);
350 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
351 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
353 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
354 const IVect&,
const IVect&, DistributedMatrix<Real_wp, General, RowSparse>&);
356 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
357 const IVect&,
const IVect&, DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&);
359 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Real_wp, Symmetric, RowSymSparse>&,
360 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
361 DistributedMatrix<Real_wp, Symmetric, RowSymSparse>&,
bool);
363 SELDON_EXTERN
template void DistributeCentralizedMatrix(Matrix<Complex_wp, Symmetric, RowSymSparse>&,
364 const MPI_Comm& comm,
int,
const Vector<int>&, DistributedMatrixIntegerArray&,
365 DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
bool);
369 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, General, ArrayRowSparse>;
381 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
382 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
383 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
384 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
385 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
386 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
387 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
389 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
390 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
391 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
393 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
394 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
395 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
396 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
397 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
398 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
400 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
401 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
402 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
403 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
404 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
406 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
int, Vector<Complex_wp, VectSparse>&);
407 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
int, Vector<Complex_wp, VectSparse>&);
408 SELDON_EXTERN
template void SetRow(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
409 SELDON_EXTERN
template void SetCol(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
411 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<int>&,
const Vector<int>&);
412 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<int>&,
const Vector<int>&);
414 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
415 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
417 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
418 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
419 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
420 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
421 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
423 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
424 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&);
425 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Complex_wp>&);
426 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&);
427 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
429 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
430 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
431 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
432 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
434 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
435 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
437 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
438 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
440 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&,
441 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
446 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, General, RowSparse>;
458 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
459 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
460 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
461 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
462 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
463 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, General, RowSparse>&);
465 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Complex_wp, General, RowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
466 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, RowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
468 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, General, RowSparse>&);
469 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowSparse>&);
470 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowSparse>&);
471 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowSparse>&);
472 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, General, RowSparse>&);
473 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, General, RowSparse>&);
475 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, General, RowSparse>&);
476 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, General, RowSparse>&);
477 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, General, RowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
478 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, General, RowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
479 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, General, RowSparse>&);
481 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Complex_wp, General, RowSparse>&,
int, Vector<Complex_wp, VectSparse>&);
482 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Complex_wp, General, RowSparse>&,
int, Vector<Complex_wp, VectSparse>&);
483 SELDON_EXTERN
template void SetRow(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, General, RowSparse>&);
484 SELDON_EXTERN
template void SetCol(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, General, RowSparse>&);
486 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<int>&,
const Vector<int>&);
487 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<int>&,
const Vector<int>&);
489 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Complex_wp, General, RowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
490 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, RowSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
492 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, RowSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
494 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Complex_wp, General, RowSparse>&);
495 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Real_wp>&);
496 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Real_wp>&);
497 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, General, RowSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
499 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, RowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
500 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, RowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
501 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, RowSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
502 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, General, RowSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
504 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
505 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
507 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, General, RowSparse>&,
508 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
512 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>;
524 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
525 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
526 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
527 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
528 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
529 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
530 SELDON_EXTERN
template void MltScalar(
const Real_wp&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
532 SELDON_EXTERN
template void AddMatrix(
const Real_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
533 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
534 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
535 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
536 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
537 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
539 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
540 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
541 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
542 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
543 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
544 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
546 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
547 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
548 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
549 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
550 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
552 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
int, Vector<Complex_wp, VectSparse>&);
553 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
int, Vector<Complex_wp, VectSparse>&);
554 SELDON_EXTERN
template void SetRow(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
555 SELDON_EXTERN
template void SetCol(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
557 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
558 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
560 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
561 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
563 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
564 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
565 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
566 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowSparse>&);
567 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
568 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
570 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
571 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
573 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
574 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
575 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
576 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
578 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
579 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
581 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
582 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
584 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&,
585 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymSparse>&);
589 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>;
601 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
602 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
603 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
604 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
605 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
606 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
608 SELDON_EXTERN
template void AddMatrix(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
610 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
611 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
612 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
613 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
614 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
615 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
617 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
618 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
619 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
620 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
621 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
623 SELDON_EXTERN
template void GetRow(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
int, Vector<Complex_wp, VectSparse>&);
624 SELDON_EXTERN
template void GetCol(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
int, Vector<Complex_wp, VectSparse>&);
625 SELDON_EXTERN
template void SetRow(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
626 SELDON_EXTERN
template void SetCol(
const Vector<Complex_wp, VectSparse>&,
int, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
628 SELDON_EXTERN
template void ApplyPermutation(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
629 SELDON_EXTERN
template void ApplyInversePermutation(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<int>&,
const Vector<int>&);
631 SELDON_EXTERN
template void SorVector(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
632 SELDON_EXTERN
template void SorVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, Vector<Complex_wp>&,
const Vector<Complex_wp>&,
const Real_wp&,
int,
int);
634 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
636 SELDON_EXTERN
template Real_wp NormFro(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
637 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
639 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
640 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<long>&, Vector<int>&, Vector<Complex_wp>&,
bool,
bool);
641 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, Symmetric&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
642 SELDON_EXTERN
template void AssembleDistributed(DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&, General&,
const MPI_Comm&, IVect&, IVect&, Vector<int64_t>&, Vector<int64_t>&, Vector<Complex_wp>&,
bool,
bool);
644 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
645 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&);
647 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, Symmetric, RowSymSparse>&,
648 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
652 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>;
660 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
661 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
662 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
663 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
664 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
665 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
666 SELDON_EXTERN
template void MltMin(
const Matrix<Complex_wp, General, ArrayRowComplexSparse>&,
667 const IVect&, IVect&, IVect&);
668 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&, IVect&, IVect&);
672 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
673 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
674 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
675 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
676 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
677 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
679 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
680 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
681 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
682 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
683 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
693 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
694 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
696 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Real_wp>&);
697 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Real_wp>&);
698 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
700 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
701 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&);
703 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, General, ArrayRowComplexSparse>&,
704 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
708 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>;
716 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
717 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
718 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
719 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
720 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
721 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
722 SELDON_EXTERN
template void MltMin(
const Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
723 const IVect&, IVect&, IVect&);
724 SELDON_EXTERN
template void MltMin(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, IVect&, IVect&);
728 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
729 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
730 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
731 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
732 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
733 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
735 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
736 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
737 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
738 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
739 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
749 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
750 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
751 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, DistributedMatrix<Complex_wp, General, RowSparse>&);
754 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
756 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
757 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
759 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&,
760 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
764 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, General, RowComplexSparse>;
771 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
772 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
773 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
774 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
775 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
776 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
780 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
781 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
782 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
783 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
784 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
785 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
787 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
788 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
789 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
790 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
791 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
801 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
804 SELDON_EXTERN
template void ScaleLeftMatrix(DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Real_wp>&);
805 SELDON_EXTERN
template void ScaleRightMatrix(DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Real_wp>&);
806 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
808 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
809 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, General, RowComplexSparse>&);
811 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, General, RowComplexSparse>&,
812 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);
816 SELDON_EXTERN
template class DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>;
823 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
824 SELDON_EXTERN
template void MltAddVector(
const Complex_wp&,
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Complex_wp>&,
const Complex_wp&, Vector<Complex_wp>&,
bool);
825 SELDON_EXTERN
template void MltVector(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
826 SELDON_EXTERN
template void MltVector(
const Complex_wp&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
827 SELDON_EXTERN
template void MltVector(
const SeldonTranspose&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Complex_wp>&, Vector<Complex_wp>&,
bool);
828 SELDON_EXTERN
template void MltScalar(
const Complex_wp&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
832 SELDON_EXTERN
template Real_wp
MaxAbs(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
833 SELDON_EXTERN
template void GetRowSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
834 SELDON_EXTERN
template void GetColSum(Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
835 SELDON_EXTERN
template void GetRowColSum(Vector<Real_wp>&, Vector<Real_wp>&,
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
836 SELDON_EXTERN
template Real_wp
Norm1(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
837 SELDON_EXTERN
template Real_wp
NormInf(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
839 SELDON_EXTERN
template void Transpose(DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
840 SELDON_EXTERN
template void Conjugate(DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
841 SELDON_EXTERN
template void Transpose(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
842 SELDON_EXTERN
template void TransposeConj(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
843 SELDON_EXTERN
template void TransposeConj(DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
853 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
855 SELDON_EXTERN
template void Copy(
const DistributedMatrix<Real_wp, General, ArrayRowSparse>&, DistributedMatrix<Real_wp, Symmetric, ArrayRowSymSparse>&);
858 SELDON_EXTERN
template void ScaleMatrix(DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
const Vector<Real_wp>&,
const Vector<Real_wp>&);
860 SELDON_EXTERN
template void EraseCol(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
861 SELDON_EXTERN
template void EraseRow(
const IVect&, DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
863 SELDON_EXTERN
template void CopySubMatrix(
const DistributedMatrix<Complex_wp, Symmetric, RowSymComplexSparse>&,
864 const IVect&,
const IVect&, DistributedMatrix<Complex_wp, General, RowSparse>&);