<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
types.hpp File Reference
#include <vector>
#include "tlapack/base/StrongZero.hpp"
#include "tlapack/base/scalar_type_traits.hpp"
Include dependency graph for types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tlapack::internal::Backward
 
struct  tlapack::BandAccess
 Band access. More...
 
struct  tlapack::internal::ColumnwiseStorage
 
struct  tlapack::internal::ConjTranspose
 
struct  tlapack::internal::Conjugate
 
struct  tlapack::internal::Forward
 
struct  tlapack::internal::FrobNorm
 
struct  tlapack::internal::GeneralAccess
 General access. More...
 
struct  tlapack::internal::InfNorm
 
struct  tlapack::internal::LeftSide
 
struct  tlapack::internal::LowerHessenberg
 Lower Hessenberg access. More...
 
struct  tlapack::internal::LowerTriangle
 Lower Triangle access. More...
 
struct  tlapack::legacy::Matrix< T, idx_t >
 Describes a row- or column-major matrix. More...
 
struct  tlapack::internal::MaxNorm
 
struct  tlapack::internal::NonUnitDiagonal
 
struct  tlapack::internal::NoTranspose
 
struct  tlapack::internal::OneNorm
 
struct  tlapack::internal::RightSide
 
struct  tlapack::internal::RowwiseStorage
 
struct  tlapack::internal::StrictLower
 Strict Lower Triangle access. More...
 
struct  tlapack::internal::StrictUpper
 Strict Upper Triangle access. More...
 
struct  tlapack::internal::Transpose
 
struct  tlapack::internal::TwoNorm
 
struct  tlapack::internal::UnitDiagonal
 
struct  tlapack::internal::UpperHessenberg
 Upper Hessenberg access. More...
 
struct  tlapack::internal::UpperTriangle
 Upper Triangle access. More...
 
struct  tlapack::legacy::Vector< T, idx_t >
 Describes a strided vector. More...
 

Enumerations

enum class  tlapack::Diag : char { NonUnit = 'N' , Unit = 'U' }
 
enum class  tlapack::Direction : char { Forward = 'F' , Backward = 'B' }
 
enum class  tlapack::Layout : char { Strided = 'S' , ColMajor = 'C' , RowMajor = 'R' , Unspecified = 0 }
 
enum class  tlapack::Norm : char {
  One = '1' , Two = '2' , Inf = 'I' , Fro = 'F' ,
  Max = 'M'
}
 
enum class  tlapack::Op : char { NoTrans = 'N' , Trans = 'T' , ConjTrans = 'C' , Conj = 3 }
 
enum class  tlapack::Side : char { Left = 'L' , Right = 'R' }
 
enum class  tlapack::StoreV : char { Columnwise = 'C' , Rowwise = 'R' }
 
enum class  tlapack::Uplo : char {
  General = 'G' , Upper = 'U' , Lower = 'L' , UpperHessenberg = 'H' ,
  LowerHessenberg = 4 , StrictUpper = 'S' , StrictLower = 6
}
 

Functions

std::ostream & tlapack::operator<< (std::ostream &out, const Diag v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Direction v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Layout v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Norm v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Op v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Side v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const StoreV v)
 
std::ostream & tlapack::operator<< (std::ostream &out, const Uplo v)
 

Variables

constexpr internal::Backward tlapack::BACKWARD {}
 Backward direction.
 
constexpr internal::ColumnwiseStorage tlapack::COLUMNWISE_STORAGE {}
 Columnwise storage.
 
constexpr internal::ConjTranspose tlapack::CONJ_TRANS = {}
 conjugate transpose
 
constexpr internal::Conjugate tlapack::CONJUGATE = {}
 non-transpose conjugate
 
constexpr internal::Forward tlapack::FORWARD {}
 Forward direction.
 
constexpr internal::FrobNorm tlapack::FROB_NORM = {}
 Frobenius norm of matrices.
 
constexpr internal::GeneralAccess tlapack::GENERAL = {}
 General access.
 
constexpr internal::InfNorm tlapack::INF_NORM = {}
 infinity norm of matrices
 
constexpr internal::LeftSide tlapack::LEFT_SIDE {}
 left side
 
constexpr internal::LowerHessenberg tlapack::LOWER_HESSENBERG = {}
 Lower Hessenberg access.
 
constexpr internal::LowerTriangle tlapack::LOWER_TRIANGLE = {}
 Lower Triangle access.
 
constexpr internal::MaxNorm tlapack::MAX_NORM = {}
 max norm
 
constexpr internal::NoTranspose tlapack::NO_TRANS = {}
 no transpose
 
constexpr internal::NonUnitDiagonal tlapack::NON_UNIT_DIAG = {}
 The main diagonal is not assumed to consist of 1's.
 
constexpr internal::OneNorm tlapack::ONE_NORM = {}
 one norm
 
constexpr internal::RightSide tlapack::RIGHT_SIDE {}
 right side
 
constexpr internal::RowwiseStorage tlapack::ROWWISE_STORAGE {}
 Rowwise storage.
 
constexpr internal::StrictLower tlapack::STRICT_LOWER = {}
 Strict Lower Triangle access.
 
constexpr internal::StrictUpper tlapack::STRICT_UPPER = {}
 Strict Upper Triangle access.
 
constexpr internal::Transpose tlapack::TRANSPOSE = {}
 transpose
 
constexpr internal::TwoNorm tlapack::TWO_NORM = {}
 two norm
 
constexpr internal::UnitDiagonal tlapack::UNIT_DIAG = {}
 The main diagonal is assumed to consist of 1's.
 
constexpr internal::UpperHessenberg tlapack::UPPER_HESSENBERG = {}
 Upper Hessenberg access.
 
constexpr internal::UpperTriangle tlapack::UPPER_TRIANGLE = {}
 Upper Triangle access.
 

Detailed Description

Author
Weslley S Pereira, University of Colorado Denver, USA

Enumeration Type Documentation

◆ Diag

enum class tlapack::Diag : char
strong
Enumerator
NonUnit 

The main diagonal is not assumed to consist of 1's.

Unit 

The main diagonal is assumed to consist of 1's.

◆ Direction

enum class tlapack::Direction : char
strong
Enumerator
Forward 

Forward direction.

Backward 

Backward direction.

◆ Layout

enum class tlapack::Layout : char
strong
Enumerator
Strided 

Strided layout.

Vectors whose i-th element is at ptr + i*inc, inc is an integer.

ColMajor 

Column-major layout.

Matrices whose (i,j)-th element is at ptr + i + j*ldim.

RowMajor 

Row-major layout.

Matrices whose (i,j)-th element is at ptr + i*ldim + j.

Unspecified 

Used on all other data structures.

◆ Norm

enum class tlapack::Norm : char
strong
Enumerator
One 

one norm

Two 

two norm

Inf 

infinity norm of matrices

Fro 

Frobenius norm of matrices.

Max 

max norm

◆ Op

enum class tlapack::Op : char
strong
Enumerator
NoTrans 

no transpose

Trans 

transpose

ConjTrans 

conjugate transpose

Conj 

non-transpose conjugate

◆ Side

enum class tlapack::Side : char
strong
Enumerator
Left 

left side

Right 

right side

◆ StoreV

enum class tlapack::StoreV : char
strong
Enumerator
Columnwise 

Columnwise storage.

Rowwise 

Rowwise storage.

◆ Uplo

enum class tlapack::Uplo : char
strong
Enumerator
General 

0 <= i <= m, 0 <= j <= n.

Upper 

0 <= i <= j, 0 <= j <= n.

Lower 

0 <= i <= m, 0 <= j <= i.

UpperHessenberg 

0 <= i <= j+1, 0 <= j <= n.

LowerHessenberg 

0 <= i <= m, 0 <= j <= i+1.

StrictUpper 

0 <= i <= j-1, 0 <= j <= n.

StrictLower 

0 <= i <= m, 0 <= j <= i-1.