Extension: Matrix functions
#include "dg/matrix/matrix.h"
|
\(T^{-1}\) More...
Classes | |
class | dg::mat::TridiagInvHMGTI< ContainerType, DiaMatrix, CooMatrix > |
Compute the inverse of a general tridiagonal matrix. More... | |
class | dg::mat::TridiagInvDF< ContainerType, DiaMatrix, CooMatrix > |
USE THIS ONE Compute the inverse of a general tridiagonal matrix. The algorithm does not rely on the determinant. More... | |
class | dg::mat::TridiagInvD< ContainerType, DiaMatrix, CooMatrix > |
Compute the inverse of a general tridiagonal matrix. More... | |
Functions | |
template<class value_type > | |
value_type | dg::mat::compute_Tinv_m1 (const cusp::dia_matrix< int, value_type, cusp::host_memory > &T, unsigned size) |
Computes the value of \( (T^{-1})_{m1} = \langle \vec e_m, T^{-1}\vec e_1\rangle\) via a Thomas algorithm. More... | |
template<class value_type > | |
void | dg::mat::compute_Tinv_y (const cusp::dia_matrix< int, value_type, cusp::host_memory > &T, thrust::host_vector< value_type > &x, const thrust::host_vector< value_type > &y, value_type a=1., value_type d=0.) |
Computes the value of \( x = ((aT+dI)^{-1})y \) via Thomas algorithm. More... | |
template<class value_type > | |
void | dg::mat::invert (const cusp::dia_matrix< int, value_type, cusp::host_memory > &T, cusp::coo_matrix< int, value_type, cusp::host_memory > &Tinv) |
Invert a tridiagonal matrix. More... | |
template<class value_type > | |
cusp::coo_matrix< int, value_type, cusp::host_memory > | dg::mat::invert (const cusp::dia_matrix< int, value_type, cusp::host_memory > &T) |
Invert a tridiagonal matrix. More... | |
template<class value_type > | |
std::array< value_type, 2 > | dg::mat::compute_extreme_EV (const cusp::dia_matrix< int, value_type, cusp::host_memory > &T) |
Compute extreme Eigenvalues of a symmetric tridiangular matrix. More... | |
\(T^{-1}\)
std::array< value_type, 2 > dg::mat::compute_extreme_EV | ( | const cusp::dia_matrix< int, value_type, cusp::host_memory > & | T | ) |
Compute extreme Eigenvalues of a symmetric tridiangular matrix.
value_type | real type |
T | symmetric tridiangular matrix |
value_type dg::mat::compute_Tinv_m1 | ( | const cusp::dia_matrix< int, value_type, cusp::host_memory > & | T, |
unsigned | size | ||
) |
Computes the value of \( (T^{-1})_{m1} = \langle \vec e_m, T^{-1}\vec e_1\rangle\) via a Thomas algorithm.
value_type | real type |
T | The tridiagonal matrix |
size | the parameter m |
void dg::mat::compute_Tinv_y | ( | const cusp::dia_matrix< int, value_type, cusp::host_memory > & | T, |
thrust::host_vector< value_type > & | x, | ||
const thrust::host_vector< value_type > & | y, | ||
value_type | a = 1. , |
||
value_type | d = 0. |
||
) |
Computes the value of \( x = ((aT+dI)^{-1})y \) via Thomas algorithm.
value_type | real type |
T | The tridiagonal matrix |
x | contains the solution (resized if necessary) |
y | the right hand side |
a | optional scaling factor of T |
d | optional addition to diagonal of T |
cusp::coo_matrix< int, value_type, cusp::host_memory > dg::mat::invert | ( | const cusp::dia_matrix< int, value_type, cusp::host_memory > & | T | ) |
Invert a tridiagonal matrix.
This is a convenience shortcut for
value_type | real type |
T |
void dg::mat::invert | ( | const cusp::dia_matrix< int, value_type, cusp::host_memory > & | T, |
cusp::coo_matrix< int, value_type, cusp::host_memory > & | Tinv | ||
) |
Invert a tridiagonal matrix.
This is a convenience shortcut for
value_type | real type |
T | |
Tinv | (gets resized if necessary) |