Viskores  1.0
Classes | Namespaces | Functions
Matrix.h File Reference
#include <viskores/Assert.h>
#include <viskores/Math.h>
#include <viskores/TypeTraits.h>
#include <viskores/Types.h>
#include <viskores/VecTraits.h>

Go to the source code of this file.

Classes

class  viskores::Matrix< T, NumRow, NumCol >
 Basic Matrix type. More...
 
struct  viskores::TypeTraitsMatrixTag
 Tag used to identify 2 dimensional types (matrices). More...
 
struct  viskores::TypeTraits< viskores::Matrix< T, NumRow, NumCol > >
 
struct  viskores::VecTraits< viskores::Matrix< T, NumRow, NumCol > >
 A matrix has vector traits to implement component-wise operations. More...
 

Namespaces

 viskores
 Groups connected points that have the same field value.
 

Functions

template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
const viskores::Vec< T, NumCol > & viskores::MatrixGetRow (const viskores::Matrix< T, NumRow, NumCol > &matrix, viskores::IdComponent rowIndex)
 Returns a tuple containing the given row (indexed from 0) of the given matrix. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
viskores::Vec< T, NumRow > viskores::MatrixGetColumn (const viskores::Matrix< T, NumRow, NumCol > &matrix, viskores::IdComponent columnIndex)
 Returns a tuple containing the given column (indexed from 0) of the given matrix. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
void viskores::MatrixSetRow (viskores::Matrix< T, NumRow, NumCol > &matrix, viskores::IdComponent rowIndex, const viskores::Vec< T, NumCol > &rowValues)
 Convenience function for setting a row of a matrix. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
void viskores::MatrixSetColumn (viskores::Matrix< T, NumRow, NumCol > &matrix, viskores::IdComponent columnIndex, const viskores::Vec< T, NumRow > &columnValues)
 Convenience function for setting a column of a matrix. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol, viskores::IdComponent NumInternal>
viskores::Matrix< T, NumRow, NumCol > viskores::MatrixMultiply (const viskores::Matrix< T, NumRow, NumInternal > &leftFactor, const viskores::Matrix< T, NumInternal, NumCol > &rightFactor)
 Standard matrix multiplication. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
viskores::Vec< T, NumRow > viskores::MatrixMultiply (const viskores::Matrix< T, NumRow, NumCol > &leftFactor, const viskores::Vec< T, NumCol > &rightFactor)
 Standard matrix-vector multiplication. More...
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
viskores::Vec< T, NumCol > viskores::MatrixMultiply (const viskores::Vec< T, NumRow > &leftFactor, const viskores::Matrix< T, NumRow, NumCol > &rightFactor)
 Standard vector-matrix multiplication. More...
 
template<typename T , viskores::IdComponent Size>
viskores::Matrix< T, Size, Size > viskores::MatrixIdentity ()
 Returns the identity matrix. More...
 
template<typename T , viskores::IdComponent Size>
void viskores::MatrixIdentity (viskores::Matrix< T, Size, Size > &matrix)
 Fills the given matrix with the identity matrix. More...
 
template<typename T , viskores::IdComponent NumRows, viskores::IdComponent NumCols>
viskores::Matrix< T, NumCols, NumRows > viskores::MatrixTranspose (const viskores::Matrix< T, NumRows, NumCols > &matrix)
 Returns the transpose of the given matrix. More...
 
template<typename T , viskores::IdComponent Size>
viskores::Vec< T, Size > viskores::SolveLinearSystem (const viskores::Matrix< T, Size, Size > &A, const viskores::Vec< T, Size > &b, bool &valid)
 Solve the linear system Ax = b for x. More...
 
template<typename T , viskores::IdComponent Size>
viskores::Matrix< T, Size, Size > viskores::MatrixInverse (const viskores::Matrix< T, Size, Size > &A, bool &valid)
 Find and return the inverse of the given matrix. More...
 
template<typename T , viskores::IdComponent Size>
viskores::MatrixDeterminant (const viskores::Matrix< T, Size, Size > &A)
 Compute the determinant of a matrix. More...
 
template<typename T >
viskores::MatrixDeterminant (const viskores::Matrix< T, 1, 1 > &A)
 
template<typename T >
viskores::MatrixDeterminant (const viskores::Matrix< T, 2, 2 > &A)
 
template<typename T >
viskores::MatrixDeterminant (const viskores::Matrix< T, 3, 3 > &A)
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
bool viskores::operator== (const viskores::Matrix< T, NumRow, NumCol > &a, const viskores::Matrix< T, NumRow, NumCol > &b)
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
bool viskores::operator!= (const viskores::Matrix< T, NumRow, NumCol > &a, const viskores::Matrix< T, NumRow, NumCol > &b)
 
template<typename T , viskores::IdComponent NumRow, viskores::IdComponent NumCol>
std::ostream & viskores::operator<< (std::ostream &stream, const viskores::Matrix< T, NumRow, NumCol > &mat)
 Helper function for printing out matricies during testing. More...