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>&);