Specialisation of an \(m\times 1\) matrix. More...
#include <include/CepGen/Utils/Algebra.h>
Public Types | |
using | Indices = std::pair<size_t, size_t> |
Public Member Functions | |
Vector (size_t num_coord, double def=0.) | |
Object constructor. | |
Vector (const std::initializer_list< double > &) | |
Build a vector from a {...} list of double precision floats. | |
Vector (const VectorRef &) | |
Build a vector from a GSL vector view. | |
Vector (const gsl_vector_const_view &) | |
Build a vector from a constant GSL vector view. | |
size_t | size () const |
Vector multiplicity (number of lines) | |
Vector | subset (size_t min, size_t max=0ull) const |
Extract a subset of the vector. | |
double & | operator() (size_t) |
Component access operator. | |
double | operator() (size_t) const |
Component retrieval operator. | |
double | dot (const Vector &) const |
Scalar product of two vectors. | |
Vector | cross (const Vector &) const |
Vector product of two vectors. | |
operator Vector () const | |
Implicit conversion to vector. | |
VectorRef | diagonal () |
Return the diagonal components of the matrix. | |
Vector | diagonal () const |
Return the diagonal components of the matrix. | |
size_t | numColumns () const |
Number of (vertical) columns. | |
size_t | numRows () const |
Number of (horizontal) rows. | |
bool | operator== (const Matrix &) const |
Equality operator. | |
bool | operator!= (const Matrix &oth) const |
Inequality operator. | |
Matrix | subset (size_t min_y, size_t min_x, size_t max_y=0ull, size_t max_x=0ull) const |
Extract a subset of the matrix as a new object. | |
Matrix & | operator*= (double) |
Multiplication by a scalar operator. | |
Matrix & | operator*= (const Vector &) |
Multiplication by a vector operator. | |
Matrix & | operator*= (const Matrix &) |
Multiplication by a matrix operator. | |
Matrix & | operator/= (double) |
Division by a scalar operator. | |
Matrix | operator- () const |
Unary inverse operator. | |
Matrix & | operator+= (const Matrix &) |
Addition of another matrix. | |
Matrix & | operator-= (const Matrix &) |
Subtraction of another matrix. | |
double & | operator() (size_t, size_t) |
Component access operator. | |
double | operator() (size_t, size_t) const |
Component retrieval operator. | |
Vector | operator% (const Vector &) const |
Solving operator (from LU decomposition) | |
Indices | imin () const |
Index (row, column) of the minimum matrix element. | |
Indices | imax () const |
Index (row, column) of the maximum matrix element. | |
double | min () const |
Minimum matrix element. | |
double | max () const |
Maximum matrix element. | |
bool | null () const |
Is the matrix uniformly null? | |
bool | positive () const |
Is the matrix positive-defined? | |
bool | negative () const |
Is the matrix negative-defined? | |
bool | nonNegative () const |
Is the matrix non-negative-defined? | |
Matrix & | truncate (double min=1.e-14) |
Truncate (specify minimum non-zero value) for all matrix components. | |
Matrix & | transpose () |
Transpose the matrix. | |
Matrix | transposed () const |
Return a transposition of this matrix. | |
Matrix & | invert () |
Invert the matrix. | |
Matrix | inverted () const |
Return the inverse of this matrix (LU decomposition) | |
VectorRef | column (size_t) |
Return whole column of the matrix. | |
Vector | column (size_t) const |
Return whole column of the matrix. | |
VectorRef | row (size_t) |
Return whole row of the matrix. | |
Vector | row (size_t) const |
Return whole row of the matrix. | |
Static Public Member Functions | |
static Matrix | zero (size_t num_rows, size_t num_cols=0ull) |
Build a zeroed matrix. | |
static Matrix | uniform (size_t num_rows, size_t num_cols, double value=1.) |
Build a uniform matrix. | |
static Matrix | identity (size_t) |
Build a (square) identity matrix. | |
static Matrix | diagonal (const Vector &) |
Build a (square) diagonal matrix from its diagonal vector. | |
Friends | |
std::ostream & | operator<< (std::ostream &, const Vector &) |
Printout of vector components. | |
|
explicit |
[in] | num_coord | vector multiplicity |
[in] | def | default value for all components |
Vector | ( | const std::initializer_list< double > & | ) |
Vector | ( | const gsl_vector_const_view & | ) |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
double dot | ( | const Vector & | ) | const |
|
staticinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
double & operator() | ( | size_t | ) |
double operator() | ( | size_t | ) | const |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
size_t size | ( | ) | const |
Vector subset | ( | size_t | min, |
size_t | max = 0ull ) const |
[in] | min | first index for the subset |
[in] | max | last index for the subset (last element if not specified) |
|
inherited |
[in] | min_y | first vertical index for the subset |
[in] | min_x | first horizontal index for the subset |
[in] | max_y | last vertical index for the subset |
[in] | max_x | last horizontal index for the subset |
|
inherited |
|
inherited |
|
inherited |
|
staticinherited |
[in] | num_rows | number of (horizontal) rows for the matrix |
[in] | num_cols | number of (vertical) columns for the matrix |
[in] | value | uniform value for all the matrix components |
|
staticinherited |
[in] | num_rows | number of (horizontal) rows for the matrix |
[in] | num_cols | number of (vertical) columns for the matrix |
|
friend |