MatrixComplexSparse.cpp
1 #include "SeldonFlag.hxx"
2 
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
5 
6 #include "SeldonComplexMatrixHeader.hxx"
7 #include "SeldonComplexMatrixInline.hxx"
8 
9 #ifndef SELDON_WITH_COMPILED_LIBRARY
10 #include "matrix_sparse/complex/Matrix_ComplexSparse.cxx"
11 #include "matrix_sparse/complex/Matrix_SymComplexSparse.cxx"
12 #include "matrix_sparse/complex/Matrix_ArrayComplexSparse.cxx"
13 #include "matrix_sparse/Matrix_Sparse.cxx"
14 #include "matrix_sparse/IOMatrixMarket.cxx"
15 #include "matrix/Matrix_Base.cxx"
16 #endif
17 
18 namespace Seldon
19 {
20 
21  SELDON_EXTERN template class Matrix_ComplexSparse<Complex_wp, General, RowComplexSparse>;
22  SELDON_EXTERN template class Matrix<Complex_wp, General, RowComplexSparse>;
23 
24  SELDON_EXTERN template void Matrix_ComplexSparse<Complex_wp, General, RowComplexSparse>::SetData(int, int, Vector<Real_wp>&, Vector<long>&, Vector<int>&, Vector<Real_wp>&, Vector<long>&, Vector<int>&);
25 
26  SELDON_EXTERN template class Matrix_SymComplexSparse<Complex_wp, Symmetric, RowSymComplexSparse>;
27  SELDON_EXTERN template class Matrix<Complex_wp, Symmetric, RowSymComplexSparse>;
28 
29  SELDON_EXTERN template void Matrix_SymComplexSparse<Complex_wp, Symmetric, RowSymComplexSparse>::SetData(int, int, Vector<Real_wp>&, Vector<long>&, Vector<int>&, Vector<Real_wp>&, Vector<long>&, Vector<int>&);
30 
31  SELDON_EXTERN template class Matrix_ArrayComplexSparse<Complex_wp, General, ArrayRowComplexSparse>;
32  SELDON_EXTERN template class Matrix<Complex_wp, General, ArrayRowComplexSparse>;
33 
34  SELDON_EXTERN template void Matrix_ArrayComplexSparse<Complex_wp, General, ArrayRowComplexSparse>::Fill(const Complex_wp&);
36 
37  SELDON_EXTERN template class Matrix_ArrayComplexSparse<Complex_wp, Symmetric, ArrayRowSymComplexSparse>;
38  SELDON_EXTERN template class Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>;
39 
40  SELDON_EXTERN template void Matrix_ArrayComplexSparse<Complex_wp, Symmetric, ArrayRowSymComplexSparse>::Fill(const Complex_wp&);
42 
43  SELDON_EXTERN template ostream& operator<<(ostream&, const Matrix<Complex_wp, General, RowComplexSparse>&);
44  SELDON_EXTERN template ostream& operator<<(ostream&, const Matrix<Complex_wp, General, ArrayRowComplexSparse>&);
45  SELDON_EXTERN template ostream& operator<<(ostream&, const Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
46  SELDON_EXTERN template ostream& operator<<(ostream&, const Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
47 
48  SELDON_EXTERN template void ReadCoordinateMatrix(Matrix<Complex_wp, General, RowComplexSparse>&, istream&, Complex_wp&, int, long, bool);
49  SELDON_EXTERN template void WriteCoordinateMatrix(const Matrix<Complex_wp, General, RowComplexSparse>&, ostream&, Complex_wp&, int, bool);
50 
51  SELDON_EXTERN template void ReadCoordinateMatrix(Matrix<Complex_wp, General, ArrayRowComplexSparse>&, istream&, Complex_wp&, int, long, bool);
52  SELDON_EXTERN template void WriteCoordinateMatrix(const Matrix<Complex_wp, General, ArrayRowComplexSparse>&, ostream&, Complex_wp&, int, bool);
53 
54  SELDON_EXTERN template void ReadCoordinateMatrix(Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&, istream&, Complex_wp&, int, long, bool);
55  SELDON_EXTERN template void WriteCoordinateMatrix(const Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&, ostream&, Complex_wp&, int, bool);
56 
57  SELDON_EXTERN template void ReadCoordinateMatrix(Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, istream&, Complex_wp&, int, long, bool);
58  SELDON_EXTERN template void WriteCoordinateMatrix(const Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, ostream&, Complex_wp&, int, bool);
59 
60 
61  SELDON_EXTERN template void
62  ReadHarwellBoeing(string, Matrix<Complex_wp, General, RowComplexSparse>&);
63 
64  SELDON_EXTERN template void
65  ReadHarwellBoeing(string, Matrix<Complex_wp, General, ArrayRowComplexSparse>&);
66 
67  SELDON_EXTERN template void
68  ReadHarwellBoeing(string, Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
69 
70  SELDON_EXTERN template void
71  ReadHarwellBoeing(string, Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
72 
73 
74  SELDON_EXTERN template void
75  WriteHarwellBoeing(const Matrix<Complex_wp, General, RowComplexSparse>&, const string&);
76 
77  SELDON_EXTERN template void
78  WriteHarwellBoeing(const Matrix<Complex_wp, General, ArrayRowComplexSparse>&, const string&);
79 
80  SELDON_EXTERN template void
81  WriteHarwellBoeing(const Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&, const string&);
82 
83  SELDON_EXTERN template void
84  WriteHarwellBoeing(const Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, const string&);
85 
86  SELDON_EXTERN template void
87  ReadMatrixMarket(string, Matrix<Complex_wp, General, RowComplexSparse>&);
88 
89  SELDON_EXTERN template void
90  ReadMatrixMarket(string, Matrix<Complex_wp, General, ArrayRowComplexSparse>&);
91 
92  SELDON_EXTERN template void
93  ReadMatrixMarket(string, Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&);
94 
95  SELDON_EXTERN template void
96  ReadMatrixMarket(string, Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&);
97 
98 
99  SELDON_EXTERN template void
100  WriteMatrixMarket(const Matrix<Complex_wp, General, RowComplexSparse>&, const string&);
101 
102  SELDON_EXTERN template void
103  WriteMatrixMarket(const Matrix<Complex_wp, General, ArrayRowComplexSparse>&, const string&);
104 
105  SELDON_EXTERN template void
106  WriteMatrixMarket(const Matrix<Complex_wp, Symmetric, RowSymComplexSparse>&, const string&);
107 
108  SELDON_EXTERN template void
109  WriteMatrixMarket(const Matrix<Complex_wp, Symmetric, ArrayRowSymComplexSparse>&, const string&);
110 
111 }
Seldon::Matrix_ArrayComplexSparse::RemoveSmallEntry
void RemoveSmallEntry(const T0 &epsilon)
removes small entries
Definition: Matrix_ArrayComplexSparse.cxx:470
Seldon::Matrix_ArrayComplexSparse::Fill
void Fill()
Non-zero entries are filled with values 0, 1, 2, 3 ...
Definition: Matrix_ArrayComplexSparse.cxx:510
Seldon::Matrix_SymComplexSparse::SetData
void SetData(int i, int j, Vector< value_type, Storage0, Allocator0 > &real_values, Vector< long, Storage1, Allocator1 > &real_ptr, Vector< int, Storage2, Allocator2 > &real_ind, Vector< value_type, Storage0, Allocator0 > &imag_values, Vector< long, Storage1, Allocator1 > &imag_ptr, Vector< int, Storage2, Allocator2 > &imag_ind)
Redefines the matrix.
Definition: Matrix_SymComplexSparse.cxx:466
Seldon
Seldon namespace.
Definition: Array.cxx:24
Seldon::operator<<
ostream & operator<<(ostream &out, const Array< T, N, Allocator > &A)
operator<< overloaded for a 3D array.
Definition: Array.cxx:1617
Seldon::Matrix_ComplexSparse::SetData
void SetData(int i, int j, Vector< value_type, Storage0, Allocator0 > &real_values, Vector< long, Storage1, Allocator1 > &real_ptr, Vector< int, Storage2, Allocator2 > &real_ind, Vector< value_type, Storage0, Allocator0 > &imag_values, Vector< long, Storage1, Allocator1 > &imag_ptr, Vector< int, Storage2, Allocator2 > &imag_ind)
Redefines the matrix.
Definition: Matrix_ComplexSparse.cxx:487