|
Anasazi Version of the Day
|
NoTranspose, Transpose, or ConjugateTranspose. More...
#include <Tsqr_ApplyType.hpp>
Public Member Functions | |
| ApplyType (const std::string &op) | |
| Constructor. | |
| bool | transposed () const |
| Whether this corresponds to (Q^T or Q^H) | |
| ApplyType (const ApplyType &rhs) | |
| ApplyType & | operator= (const ApplyType &rhs) |
| const std::string & | toString () const |
Static Public Attributes | |
| static const ApplyType | NoTranspose = ApplyType ("N") |
| static const ApplyType | Transpose = ApplyType ("T") |
| static const ApplyType | ConjugateTranspose = ApplyType ("C") |
NoTranspose, Transpose, or ConjugateTranspose.
An ApplyType instance represents one of three ways one can apply an implicitly stored Q factor from a QR factorization to the left of a matrix C: either as Q (NoTranspose), as Q^T (Transpose), or as Q^H (ConjugateTranspose). Transpose and ConjugateTranspose only mean different things in complex arithmetic. This class is a kind of "checked enum" that only allows these three values. It knows how to go from a length-one string to the appropriate ApplyType object: "N" -> NoTranspose, "T" -> Transpose, and "C" or "H" -> ConjugateTranspose (both "C" and "H" mean the same thing).
std::invalid_argument is thrown if an invalid input is given.
Definition at line 54 of file Tsqr_ApplyType.hpp.
| TSQR::ApplyType::ApplyType | ( | const std::string & | op | ) |
Constructor.
| op | [in] One of "N", "T", "C", or "H". Only the first character of op is read, in a case-insensitive way. |
Definition at line 36 of file Tsqr_ApplyType.cpp.
| TSQR::ApplyType::ApplyType | ( | const ApplyType & | rhs | ) |
Copy constructor
Definition at line 41 of file Tsqr_ApplyType.cpp.
| bool TSQR::ApplyType::transposed | ( | ) | const [inline] |
Whether this corresponds to (Q^T or Q^H)
If op corresponds to applying Q, return false, else if op corresponds to applying Q^T or Q^H, return true.
Definition at line 72 of file Tsqr_ApplyType.hpp.
Assignment operator
Definition at line 46 of file Tsqr_ApplyType.cpp.
| const std::string& TSQR::ApplyType::toString | ( | ) | const [inline] |
Return a reference to the canonical LAPACK string representing the apply type. Different for each of NoTranspose, Transpose, or ConjugateTranspose.
Definition at line 110 of file Tsqr_ApplyType.hpp.
const ApplyType TSQR::ApplyType::NoTranspose = ApplyType ("N") [static] |
Represents applying Q to a matrix.
Definition at line 92 of file Tsqr_ApplyType.hpp.
const ApplyType TSQR::ApplyType::Transpose = ApplyType ("T") [static] |
Represents applying Q^T (transpose of Q) to a matrix.
Definition at line 96 of file Tsqr_ApplyType.hpp.
const ApplyType TSQR::ApplyType::ConjugateTranspose = ApplyType ("C") [static] |
Represents applying Q^H (conjugate transpose of Q) to a matrix.
Definition at line 100 of file Tsqr_ApplyType.hpp.
1.7.4