CNum 0.2.1
CPU-optimized ML library for C++
Loading...
Searching...
No Matches
LinAlg.h
Go to the documentation of this file.
1#ifndef LINALG_H
2#define LINALG_H
3
5
6#include <algorithm>
7#include <array>
8
18 struct Eigen {
19 ::std::unique_ptr<double[]> values;
21 };
22
31
36 double frobenius_norm(const Matrix<double> &m, bool is_off_diagonal = false);
37
42
46 QR qr_decomposition(const ::CNum::DataStructs::Matrix<double> &a);
47
51 Eigen find_eigen_values(const ::CNum::DataStructs::Matrix<double> &a);
52
56 ::CNum::DataStructs::Matrix<double> covariance(const ::CNum::DataStructs::Matrix<double> &a);
57};
58
59#endif
2d array abstraction
Definition Matrix.h:43
Linear algebra tools.
::CNum::DataStructs::Matrix< double > covariance(const ::CNum::DataStructs::Matrix< double > &a)
Get covariance 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.
double frobenius_norm(const Matrix< double > &m, bool is_off_diagonal=false)
Calculate the Frobenius norm of a Matrix.
Eigen find_eigen_values(const ::CNum::DataStructs::Matrix< double > &a)
Get Eigen Values and Eigen Vectors of matrix.
Stores eigen vectors and eigen values.
Definition LinAlg.h:18
::std::unique_ptr< double[]> values
Definition LinAlg.h:19
::CNum::DataStructs::Matrix< double > vectors
Definition LinAlg.h:20
Contains a Q matrix and an R matrix resulant of QR decomposition.
Definition LinAlg.h:27
::CNum::DataStructs::Matrix< double > r
Definition LinAlg.h:29
::CNum::DataStructs::Matrix< double > q
Definition LinAlg.h:28