CNum 0.2.1
CPU-optimized ML library for C++
Loading...
Searching...
No Matches
CNum::DataStructs::LinAlg Namespace Reference

Linear algebra tools. More...

Classes

struct  Eigen
 Stores eigen vectors and eigen values. More...
struct  QR
 Contains a Q matrix and an R matrix resulant of QR decomposition. More...

Functions

double frobenius_norm (const Matrix< double > &m, bool is_off_diagonal=false)
 Calculate the Frobenius norm of a Matrix.
void unit_vector (::CNum::DataStructs::Matrix< double > &a)
 Get single column unit vector.
QR qr_decomposition (const ::CNum::DataStructs::Matrix< double > &a)
 QR Decomposition.
Eigen find_eigen_values (const ::CNum::DataStructs::Matrix< double > &a)
 Get Eigen Values and Eigen Vectors of matrix.
::CNum::DataStructs::Matrix< double > covariance (const ::CNum::DataStructs::Matrix< double > &a)
 Get covariance matrix.

Detailed Description

Linear algebra tools.

Function Documentation

◆ covariance()

::CNum::DataStructs::Matrix< double > CNum::DataStructs::LinAlg::covariance ( const ::CNum::DataStructs::Matrix< double > & a)

Get covariance matrix.

Parameters
aMatrix to get the covariance matrix of
Returns
The covariance matrix

◆ find_eigen_values()

Eigen CNum::DataStructs::LinAlg::find_eigen_values ( const ::CNum::DataStructs::Matrix< double > & a)

Get Eigen Values and Eigen Vectors of matrix.

Parameters
aThe matrix we want to find the eigen vectors and values of
Returns
An Eigen struct with the eigen vectors and values

◆ frobenius_norm()

double CNum::DataStructs::LinAlg::frobenius_norm ( const Matrix< double > & m,
bool is_off_diagonal = false )

Calculate the Frobenius norm of a Matrix.

Parameters
mThe matrix
is_off_diagonalWhether or not to only take the norm of the off-diagonal part
Returns
The norm

◆ qr_decomposition()

QR CNum::DataStructs::LinAlg::qr_decomposition ( const ::CNum::DataStructs::Matrix< double > & a)

QR Decomposition.

Parameters
aThe matrix to decompose
Returns
The Q and R matrices

◆ unit_vector()

void CNum::DataStructs::LinAlg::unit_vector ( ::CNum::DataStructs::Matrix< double > & a)

Get single column unit vector.

Parameters
aThe vector of which we want to find the unit vector (shape=(n, 1))
Returns
The unit vector