![]() |
CLA3P v0.3.1
Compact Linear Algebra Parallel Portable Package
|
Dot products and rank-1 updates. More...
Functions | |
| template<typename T_Scalar> | |
| T_Scalar | cla3p::ops::dot (const dns::XxVector< T_Scalar > &x, const dns::XxVector< T_Scalar > &y) |
| Calculate vector dot product. | |
| template<typename T_Scalar> | |
| T_Scalar | cla3p::ops::dotc (const dns::XxVector< T_Scalar > &x, const dns::XxVector< T_Scalar > &y) |
| Calculate vector conjugate dot product. | |
| template<typename T_Scalar> | |
| void | cla3p::ops::outer (T_Scalar alpha, const dns::XxVector< T_Scalar > &x, const dns::XxVector< T_Scalar > &y, dns::XxMatrix< T_Scalar > &A) |
| Update a matrix with a vector outer product. | |
| template<typename T_Scalar> | |
| void | cla3p::ops::outerc (T_Scalar alpha, const dns::XxVector< T_Scalar > &x, const dns::XxVector< T_Scalar > &y, dns::XxMatrix< T_Scalar > &A) |
| Update a matrix with a conjugate vector outer product. | |
Dot products and rank-1 updates.
| T_Scalar cla3p::ops::dot | ( | const dns::XxVector< T_Scalar > & | x, |
| const dns::XxVector< T_Scalar > & | y ) |
Calculate vector dot product.
Performs the operation \( x^T \cdot y \).
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | x | The input vector. |
| [in] | y | The input vector. |
| T_Scalar cla3p::ops::dotc | ( | const dns::XxVector< T_Scalar > & | x, |
| const dns::XxVector< T_Scalar > & | y ) |
Calculate vector conjugate dot product.
Performs the operation \( x^H \cdot y \).
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | x | The input vector. |
| [in] | y | The input vector. |
| void cla3p::ops::outer | ( | T_Scalar | alpha, |
| const dns::XxVector< T_Scalar > & | x, | ||
| const dns::XxVector< T_Scalar > & | y, | ||
| dns::XxMatrix< T_Scalar > & | A ) |
Update a matrix with a vector outer product.
Performs the operation \( A = A + \alpha \cdot x y^T \). A can be General/Symmetric/Hermitian. If A is Symmetric/Hermitian, it is assumed that the outcome of the operation \( x y^T \) is also Symmetric/Hermitian and only the corresponding part (upper/lower) will be calculated.
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | alpha | The update coefficient. |
| [in] | x | The input vector. |
| [in] | y | The input vector. |
| [in,out] | A | The matrix to be updated. |
| void cla3p::ops::outerc | ( | T_Scalar | alpha, |
| const dns::XxVector< T_Scalar > & | x, | ||
| const dns::XxVector< T_Scalar > & | y, | ||
| dns::XxMatrix< T_Scalar > & | A ) |
Update a matrix with a conjugate vector outer product.
Performs the operation \( A = A + \alpha \cdot x y^H \). A can be General/Symmetric/Hermitian. If A is Symmetric/Hermitian, it is assumed that the outcome of the operation \( x y^H \) is also Symmetric/Hermitian and only the corresponding part (upper/lower) will be calculated.
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | alpha | The update coefficient. |
| [in] | x | The input vector. |
| [in] | y | The input vector. |
| [in,out] | A | The matrix to be updated. |