CiftiLib
A C++ library for CIFTI-2 and CIFTI-1 files
Static Public Member Functions | List of all members
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 vector< vector< T2 > > &  right,
vector< vector< T3 > > &  result 
)
static

matrix addition - for simple code

◆ add() [2/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

◆ 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 , typename A >
void cifti::MatrixFunctions::multiply ( const vector< vector< T1 > > &  left,
const vector< vector< T2 > > &  right,
vector< vector< T3 > > &  result 
)
static

matrix multiplication

◆ multiply() [2/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

◆ 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: