Vector and matrix classes. More...
Classes | |
class | BMatrix< T_ > |
To handle band matrices. More... | |
class | DMatrix< T_ > |
To handle dense matrices. More... | |
class | DSMatrix< T_ > |
To handle symmetric dense matrices. More... | |
class | LocalMatrix< T_, NR_, NC_ > |
Handles small size matrices like element matrices, with a priori known size. More... | |
class | LocalVect< T_, N_ > |
Handles small size vectors like element vectors. More... | |
class | SkMatrix< T_ > |
To handle square matrices in skyline storage format. More... | |
class | SkSMatrix< T_ > |
To handle symmetric matrices in skyline storage format. More... | |
class | SpMatrix< T_ > |
To handle matrices in sparse storage format. More... | |
class | TrMatrix< T_ > |
To handle tridiagonal matrices. More... | |
class | Vect< T_ > |
To handle general purpose vectors. More... | |
Functions | |
template<class T_ , size_t N_, class E_ > | |
void | element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, Vect< T_ > &b) |
Assemble diagonal local vector into global vector. | |
template<class T_ , size_t N_, class E_ > | |
void | element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, Matrix< T_ > *A) |
Assemble local matrix into global matrix. | |
template<class T_ , size_t N_, class E_ > | |
void | element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SkMatrix< T_ > &A) |
Assemble local matrix into global skyline matrix. | |
template<class T_ , size_t N_, class E_ > | |
void | element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SkSMatrix< T_ > &A) |
Assemble local matrix into global symmetric skyline matrix. | |
template<class T_ , size_t N_, class E_ > | |
void | element_assembly (const E_ &e, const LocalMatrix< T_, N_, N_ > &ae, SpMatrix< T_ > &A) |
Assemble local matrix into global sparse matrix. | |
template<class T_ , size_t N_> | |
void | side_assembly (const Element &e, const LocalMatrix< T_, N_, N_ > &ae, SkSMatrix< T_ > &A) |
Side assembly of local matrix into global matrix (as instance of class SkSMatrix). | |
template<class T_ , size_t N_> | |
void | side_assembly (const Element &e, const LocalMatrix< T_, N_, N_ > &ae, SkMatrix< T_ > &A) |
Side assembly of local matrix into global matrix (as instance of class SkMatrix). | |
template<class T_ , size_t N_> | |
void | side_assembly (const Element &e, const LocalVect< T_, N_ > &be, Vect< T_ > &b) |
Side assembly of local vector into global vector. | |
template<class T_ > | |
Vect< T_ > | operator* (const BMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
BMatrix< T_ > | operator* (T_ a, const BMatrix< T_ > &A) |
Operator * (Premultiplication of matrix by constant) | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const BMatrix< T_ > &a) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const DMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const DMatrix< T_ > &a) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const DSMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const DSMatrix< T_ > &a) |
Output matrix in output stream. | |
template<class T_ , size_t NR_, size_t NC_> | |
LocalMatrix< T_, NR_, NC_ > | operator* (T_ a, const LocalMatrix< T_, NR_, NC_ > &x) |
Operator * (Multiply matrix x by scalar a ) | |
template<class T_ , size_t NR_, size_t NC_> | |
LocalVect< T_, NR_ > | operator* (const LocalMatrix< T_, NR_, NC_ > &A, const LocalVect< T_, NC_ > &x) |
Operator * (Multiply matrix A by vector x ) | |
template<class T_ , size_t NR_, size_t NC_> | |
LocalMatrix< T_, NR_, NC_ > | operator/ (T_ a, const LocalMatrix< T_, NR_, NC_ > &x) |
Operator / (Divide matrix x by scalar a ) | |
template<class T_ , size_t NR_, size_t NC_> | |
LocalMatrix< T_, NR_, NC_ > | operator+ (const LocalMatrix< T_, NR_, NC_ > &x, const LocalMatrix< T_, NR_, NC_ > &y) |
Operator + (Add matrix x to y) | |
template<class T_ , size_t NR_, size_t NC_> | |
LocalMatrix< T_, NR_, NC_ > | operator- (const LocalMatrix< T_, NR_, NC_ > &x, const LocalMatrix< T_, NR_, NC_ > &y) |
Operator - (Subtract matrix y from x) | |
template<class T_ , size_t NR_, size_t NC_> | |
ostream & | operator<< (ostream &s, const LocalMatrix< T_, NR_, NC_ > &A) |
Output vector in output stream. | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator+ (const LocalVect< T_, N_ > &x, const LocalVect< T_, N_ > &y) |
Operator + (Add two vectors) | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator- (const LocalVect< T_, N_ > &x, const LocalVect< T_, N_ > &y) |
Operator - (Subtract two vectors) | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator* (T_ a, const LocalVect< T_, N_ > &x) |
Operator * (Premultiplication of vector by constant) | |
template<class T_ , size_t N_> | |
LocalVect< T_, N_ > | operator/ (T_ a, const LocalVect< T_, N_ > &x) |
Operator / (Division of vector by constant) | |
template<class T_ , size_t N_> | |
real_t | Dot (const LocalVect< T_, N_ > &a, const LocalVect< T_, N_ > &b) |
Calculate dot product of 2 vectors (instances of class LocalVect) | |
template<class T_ , size_t N_> | |
void | Scale (T_ a, const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y) |
Multiply vector x by constant a and store result in y . | |
template<class T_ , size_t N_> | |
void | Scale (T_ a, LocalVect< T_, N_ > &x) |
Multiply vector x by constant a and store result in x . | |
template<class T_ , size_t N_> | |
void | Axpy (T_ a, const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y) |
Add a*x to vector y . | |
template<class T_ , size_t N_> | |
void | Copy (const LocalVect< T_, N_ > &x, LocalVect< T_, N_ > &y) |
Copy vector x into vector y. | |
template<class T_ , size_t N_> | |
ostream & | operator<< (ostream &s, const LocalVect< T_, N_ > &v) |
Output vector in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const SkMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SkMatrix< T_ > &a) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const SkSMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SkSMatrix< T_ > &a) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const SpMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const SpMatrix< T_ > &A) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator* (const TrMatrix< T_ > &A, const Vect< T_ > &b) |
Operator * (Multiply vector by matrix and return resulting vector. | |
template<class T_ > | |
TrMatrix< T_ > | operator* (T_ a, const TrMatrix< T_ > &A) |
Operator * (Premultiplication of matrix by constant) | |
template<class T_ > | |
ostream & | operator<< (ostream &s, const TrMatrix< T_ > &A) |
Output matrix in output stream. | |
template<class T_ > | |
Vect< T_ > | operator+ (const Vect< T_ > &x, const Vect< T_ > &y) |
Operator + (Addition of two instances of class Vect) | |
template<class T_ > | |
Vect< T_ > | operator- (const Vect< T_ > &x, const Vect< T_ > &y) |
Operator - (Difference between two vectors of class Vect) | |
template<class T_ > | |
Vect< T_ > | operator* (const T_ &a, const Vect< T_ > &x) |
Operator * (Premultiplication of vector by constant) | |
template<class T_ > | |
Vect< T_ > | operator* (const Vect< T_ > &x, const T_ &a) |
Operator * (Postmultiplication of vector by constant) | |
template<class T_ > | |
Vect< T_ > | operator/ (const Vect< T_ > &x, const T_ &a) |
Operator / (Divide vector entries by constant) | |
template<class T_ > | |
T_ | Dot (const Vect< T_ > &x, const Vect< T_ > &y) |
Calculate dot product of two vectors. | |
void | Modulus (const Vect< complex_t > &x, Vect< real_t > &y) |
Calculate modulus of complex vector. | |
void | Real (const Vect< complex_t > &x, Vect< real_t > &y) |
Calculate real part of complex vector. | |
void | Imag (const Vect< complex_t > &x, Vect< real_t > &y) |
Calculate imaginary part of complex vector. | |
template<class T_ > | |
istream & | operator>> (istream &s, Vect< T_ > &v) |
template<class T_ > | |
ostream & | operator<< (ostream &s, const Vect< T_ > &v) |
Output vector in output stream. | |
real_t | operator* (const vector< real_t > &x, const vector< real_t > &y) |
Operator * (Dot product of 2 vector instances) | |
Vector and matrix classes.
double Dot | ( | const LocalVect< T_, N_ > & | a, |
const LocalVect< T_, N_ > & | b | ||
) |
Calculate dot product of 2 vectors (instances of class LocalVect)
Calculate dot product of two vectors.
void element_assembly | ( | const E_ & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
Matrix< T_ > * | A | ||
) |
void element_assembly | ( | const E_ & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
SkMatrix< T_ > & | A | ||
) |
void element_assembly | ( | const E_ & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
SkSMatrix< T_ > & | A | ||
) |
void element_assembly | ( | const E_ & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
SpMatrix< T_ > & | A | ||
) |
void element_assembly | ( | const E_ & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
Vect< T_ > & | b | ||
) |
Calculate imaginary part of complex vector.
[in] | x | Vector with complex value entries |
[out] | y | Vector containing imaginary parts of entries of x |
Calculate modulus of complex vector.
[in] | x | Vector with complex value entries |
[out] | y | Vector containing moduli of entries of x |
LocalVect< T_, NR_, NC_ > operator* | ( | const LocalMatrix< T_, NR_, NC_ > & | x, |
const LocalVect< T_, NC_ > & | x | ||
) |
Operator *
(Multiply matrix A
by vector x
)
This function performs a matrix-vector product and returns resulting vector as a reference to LocalVect instance
A*x
Operator * (Premultiplication of vector by constant)
a*x
Operator * (Postmultiplication of vector by constant)
x*a
real_t operator* | ( | const vector< real_t > & | x, |
const vector< real_t > & | y | ||
) |
Operator * (Dot product of 2 vector instances)
x.y
Operator * (Premultiplication of matrix by constant)
LocalMatrix< T_, NR_, NC_ > operator* | ( | T_ | a, |
const LocalMatrix< T_, NR_, NC_ > & | x | ||
) |
Operator * (Multiply matrix x
by scalar a
)
a*x
LocalVect< T_, N_ > operator* | ( | T_ | a, |
const LocalVect< T_, N_ > & | x | ||
) |
Operator * (Premultiplication of vector by constant)
Operator * (Premultiplication of matrix by constant)
LocalMatrix< T_, NR_, NC_ > operator+ | ( | const LocalMatrix< T_, NR_, NC_ > & | x, |
const LocalMatrix< T_, NR_, NC_ > & | y | ||
) |
Operator +
(Add matrix x to y)
x+y
LocalVect< T_, N_ > operator+ | ( | const LocalVect< T_, N_ > & | x, |
const LocalVect< T_, N_ > & | y | ||
) |
Operator + (Add two vectors)
Operator + (Addition of two instances of class Vect)
x + y
LocalMatrix< T_, NR_, NC_ > operator- | ( | const LocalMatrix< T_, NR_, NC_ > & | x, |
const LocalMatrix< T_, NR_, NC_ > & | y | ||
) |
Operator -
(Subtract matrix y from x)
x-y
LocalVect< T_, N_ > operator- | ( | const LocalVect< T_, N_ > & | x, |
const LocalVect< T_, N_ > & | y | ||
) |
Operator - (Subtract two vectors)
Operator - (Difference between two vectors of class Vect)
x - y
Operator / (Divide vector entries by constant)
x/a
LocalMatrix< T_, NR_, NC_ > operator/ | ( | T_ | a, |
const LocalMatrix< T_, NR_, NC_ > & | x | ||
) |
Operator /
(Divide matrix x
by scalar a
)
x/a
LocalVect< T_, N_ > operator/ | ( | T_ | a, |
const LocalVect< T_, N_ > & | x | ||
) |
Operator / (Division of vector by constant)
ostream & operator<< | ( | ostream & | s, |
const SkMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
ostream & operator<< | ( | ostream & | s, |
const SkSMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
ostream & operator<< | ( | ostream & | s, |
const SpMatrix< T_ > & | A | ||
) |
Output matrix in output stream.
ostream & operator<< | ( | ostream & | s, |
const TrMatrix< T_ > & | a | ||
) |
Output matrix in output stream.
ostream & operator<< | ( | ostream & | s, |
const Vect< T_ > & | v | ||
) |
Output vector in output stream.
Level of vector output depends on the global variable Verbosity
istream & operator>> | ( | istream & | s, |
Vect< T_ > & | a | ||
) |
Read vector from input stream
Calculate real part of complex vector.
[in] | x | Vector with complex value entries |
[out] | y | Vector containing real parts of entries of x |
void side_assembly | ( | const Element & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
SkMatrix< T_ > & | A | ||
) |
void side_assembly | ( | const Element & | e, |
const LocalMatrix< T_, N_, N_ > & | ae, | ||
SkSMatrix< T_ > & | A | ||
) |