CiftiLib
A C++ library for CIFTI-2 and CIFTI-1 files
cifti::MatrixFunctions Class Reference

Static Public Member Functions

template<typename T1 , typename T2 , typename T3 , typename A >
static void multiply (const vector< vector< T1 > > &left, const vector< vector< T2 > > &right, vector< vector< T3 > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void multiply (const vector< vector< T1 > > &left, const T2 right, vector< vector< T3 > > &result)
 
template<typename T >
static void rref (vector< vector< T > > &inout)
 
template<typename T >
static void inverse (const vector< vector< T > > &in, vector< vector< T > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void add (const vector< vector< T1 > > &left, const vector< vector< T2 > > &right, vector< vector< T3 > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void add (const vector< vector< T1 > > &left, const T2 right, vector< vector< T3 > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void subtract (const vector< vector< T1 > > &left, const vector< vector< T2 > > &right, vector< vector< T3 > > &result)
 
template<typename T >
static void transpose (const vector< vector< T > > &in, vector< vector< T > > &result)
 
template<typename T >
static bool checkDim (const vector< vector< T > > &in)
 
template<typename T >
static void resize (const msize_t rows, const msize_t columns, vector< vector< T > > &result, bool destructive=false)
 
template<typename T >
static void zeros (const msize_t rows, const msize_t columns, vector< vector< T > > &result)
 
template<typename T >
static void ones (const msize_t rows, const msize_t columns, vector< vector< T > > &result)
 
template<typename T >
static void identity (const msize_t size, vector< vector< T > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void horizCat (const vector< vector< T1 > > &left, const vector< vector< T2 > > &right, vector< vector< T3 > > &result)
 
template<typename T1 , typename T2 , typename T3 >
static void vertCat (const vector< vector< T1 > > &top, const vector< vector< T2 > > &bottom, vector< vector< T3 > > &result)
 
template<typename T >
static void getChunk (const msize_t firstrow, const msize_t lastrow, const msize_t firstcol, const msize_t lastcol, const vector< vector< T > > &in, vector< vector< T > > &result)
 

Member Function Documentation

◆ add() [1/2]

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::add ( const vector< vector< T1 > > & left,
const T2 right,
vector< vector< T3 > > & result )
static

scalar addition - for simple code

◆ add() [2/2]

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::add ( const vector< vector< T1 > > & left,
const vector< vector< T2 > > & right,
vector< vector< T3 > > & result )
static

matrix addition - for simple code

◆ checkDim()

template<typename T >
bool cifti::MatrixFunctions::checkDim ( const vector< vector< T > > & in)
static

debugging - verify matrix is rectangular and show its dimensions - returns true if rectangular

◆ getChunk()

template<typename T >
void cifti::MatrixFunctions::getChunk ( const msize_t firstrow,
const msize_t lastrow,
const msize_t firstcol,
const msize_t lastcol,
const vector< vector< T > > & in,
vector< vector< T > > & result )
static

grab a piece of a matrix

◆ horizCat()

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::horizCat ( const vector< vector< T1 > > & left,
const vector< vector< T2 > > & right,
vector< vector< T3 > > & result )
static

horizontally concatenate matrices

◆ identity()

template<typename T >
void cifti::MatrixFunctions::identity ( const msize_t size,
vector< vector< T > > & result )
static

make an identity matrix

◆ inverse()

template<typename T >
void cifti::MatrixFunctions::inverse ( const vector< vector< T > > & in,
vector< vector< T > > & result )
static

matrix inversion - wrapper to rref for now

◆ multiply() [1/2]

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::multiply ( const vector< vector< T1 > > & left,
const T2 right,
vector< vector< T3 > > & result )
static

scalar multiplication

◆ multiply() [2/2]

template<typename T1 , typename T2 , typename T3 , typename A >
void cifti::MatrixFunctions::multiply ( const vector< vector< T1 > > & left,
const vector< vector< T2 > > & right,
vector< vector< T3 > > & result )
static

matrix multiplication

◆ ones()

template<typename T >
void cifti::MatrixFunctions::ones ( const msize_t rows,
const msize_t columns,
vector< vector< T > > & result )
static

allocate a matrix of specified size

◆ resize()

template<typename T >
void cifti::MatrixFunctions::resize ( const msize_t rows,
const msize_t columns,
vector< vector< T > > & result,
bool destructive = false )
static

allocate a matrix, don't initialize

◆ rref()

template<typename T >
void cifti::MatrixFunctions::rref ( vector< vector< T > > & inout)
static

reduced row echelon form

◆ subtract()

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::subtract ( const vector< vector< T1 > > & left,
const vector< vector< T2 > > & right,
vector< vector< T3 > > & result )
static

matrix subtraction - for simple code

◆ transpose()

template<typename T >
void cifti::MatrixFunctions::transpose ( const vector< vector< T > > & in,
vector< vector< T > > & result )
static

transpose - for simple code

◆ vertCat()

template<typename T1 , typename T2 , typename T3 >
void cifti::MatrixFunctions::vertCat ( const vector< vector< T1 > > & top,
const vector< vector< T2 > > & bottom,
vector< vector< T3 > > & result )
static

vertically concatenate matrices

◆ zeros()

template<typename T >
void cifti::MatrixFunctions::zeros ( const msize_t rows,
const msize_t columns,
vector< vector< T > > & result )
static

allocate a matrix of specified size


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