libelas
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
Matrix Class Reference

#include <matrix.h>

Public Member Functions

 Matrix ()
 
 Matrix (const int32_t m, const int32_t n)
 
 Matrix (const int32_t m, const int32_t n, const FLOAT *val_)
 
 Matrix (const Matrix &M)
 
 ~Matrix ()
 
Matrixoperator= (const Matrix &M)
 
void getData (FLOAT *val_, int32_t i1=0, int32_t j1=0, int32_t i2=-1, int32_t j2=-1)
 
Matrix getMat (int32_t i1, int32_t j1, int32_t i2=-1, int32_t j2=-1)
 
void setMat (const Matrix &M, const int32_t i, const int32_t j)
 
void setVal (FLOAT s, int32_t i1=0, int32_t j1=0, int32_t i2=-1, int32_t j2=-1)
 
void setDiag (FLOAT s, int32_t i1=0, int32_t i2=-1)
 
void zero ()
 
Matrix extractCols (std::vector< int > idx)
 
void eye ()
 
Matrix operator+ (const Matrix &M)
 
Matrix operator- (const Matrix &M)
 
Matrix operator* (const Matrix &M)
 
Matrix operator* (const FLOAT &s)
 
Matrix operator/ (const Matrix &M)
 
Matrix operator/ (const FLOAT &s)
 
Matrix operator- ()
 
Matrix operator~ ()
 
FLOAT l2norm ()
 
FLOAT mean ()
 
bool inv ()
 
FLOAT det ()
 
bool solve (const Matrix &M, FLOAT eps=1e-20)
 
bool lu (int32_t *idx, FLOAT &d, FLOAT eps=1e-20)
 
void svd (Matrix &U, Matrix &W, Matrix &V)
 

Static Public Member Functions

static Matrix eye (const int32_t m)
 
static Matrix diag (const Matrix &M)
 
static Matrix reshape (const Matrix &M, int32_t m, int32_t n)
 
static Matrix rotMatX (const FLOAT &angle)
 
static Matrix rotMatY (const FLOAT &angle)
 
static Matrix rotMatZ (const FLOAT &angle)
 
static Matrix cross (const Matrix &a, const Matrix &b)
 
static Matrix inv (const Matrix &M)
 

Public Attributes

FLOAT ** val
 
int32_t m
 
int32_t n
 

Friends

std::ostream & operator<< (std::ostream &out, const Matrix &M)
 

Constructor & Destructor Documentation

◆ Matrix() [1/4]

Matrix::Matrix ( )

◆ Matrix() [2/4]

Matrix::Matrix ( const int32_t  m,
const int32_t  n 
)

◆ Matrix() [3/4]

Matrix::Matrix ( const int32_t  m,
const int32_t  n,
const FLOAT val_ 
)

◆ Matrix() [4/4]

Matrix::Matrix ( const Matrix M)

◆ ~Matrix()

Matrix::~Matrix ( )

Member Function Documentation

◆ cross()

Matrix Matrix::cross ( const Matrix a,
const Matrix b 
)
static

◆ det()

FLOAT Matrix::det ( )

◆ diag()

Matrix Matrix::diag ( const Matrix M)
static

◆ extractCols()

Matrix Matrix::extractCols ( std::vector< int >  idx)

◆ eye() [1/2]

Matrix Matrix::eye ( const int32_t  m)
static

◆ eye() [2/2]

void Matrix::eye ( )

◆ getData()

void Matrix::getData ( FLOAT val_,
int32_t  i1 = 0,
int32_t  j1 = 0,
int32_t  i2 = -1,
int32_t  j2 = -1 
)

◆ getMat()

Matrix Matrix::getMat ( int32_t  i1,
int32_t  j1,
int32_t  i2 = -1,
int32_t  j2 = -1 
)

◆ inv() [1/2]

Matrix Matrix::inv ( const Matrix M)
static

◆ inv() [2/2]

bool Matrix::inv ( )

◆ l2norm()

FLOAT Matrix::l2norm ( )

◆ lu()

bool Matrix::lu ( int32_t *  idx,
FLOAT d,
FLOAT  eps = 1e-20 
)

◆ mean()

FLOAT Matrix::mean ( )

◆ operator*() [1/2]

Matrix Matrix::operator* ( const Matrix M)

◆ operator*() [2/2]

Matrix Matrix::operator* ( const FLOAT s)

◆ operator+()

Matrix Matrix::operator+ ( const Matrix M)

◆ operator-() [1/2]

Matrix Matrix::operator- ( const Matrix M)

◆ operator-() [2/2]

Matrix Matrix::operator- ( )

◆ operator/() [1/2]

Matrix Matrix::operator/ ( const Matrix M)

◆ operator/() [2/2]

Matrix Matrix::operator/ ( const FLOAT s)

◆ operator=()

Matrix & Matrix::operator= ( const Matrix M)

◆ operator~()

Matrix Matrix::operator~ ( )

◆ reshape()

Matrix Matrix::reshape ( const Matrix M,
int32_t  m,
int32_t  n 
)
static

◆ rotMatX()

Matrix Matrix::rotMatX ( const FLOAT angle)
static

◆ rotMatY()

Matrix Matrix::rotMatY ( const FLOAT angle)
static

◆ rotMatZ()

Matrix Matrix::rotMatZ ( const FLOAT angle)
static

◆ setDiag()

void Matrix::setDiag ( FLOAT  s,
int32_t  i1 = 0,
int32_t  i2 = -1 
)

◆ setMat()

void Matrix::setMat ( const Matrix M,
const int32_t  i,
const int32_t  j 
)

◆ setVal()

void Matrix::setVal ( FLOAT  s,
int32_t  i1 = 0,
int32_t  j1 = 0,
int32_t  i2 = -1,
int32_t  j2 = -1 
)

◆ solve()

bool Matrix::solve ( const Matrix M,
FLOAT  eps = 1e-20 
)

◆ svd()

void Matrix::svd ( Matrix U,
Matrix W,
Matrix V 
)

◆ zero()

void Matrix::zero ( )

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Matrix M 
)
friend

Member Data Documentation

◆ m

int32_t Matrix::m

◆ n

int32_t Matrix::n

◆ val

FLOAT** Matrix::val

The documentation for this class was generated from the following files: