The Vish Visualization Shell 0.3
Vish
Classes | Functions
Small Matrix Classes

Tiny matrix classes with optimized numerical operations which make use of vectorization features through the VVector class. More...

Classes

class  Eagle::Column< R, value >
 A column vector. More...
 
struct  Eagle::Determinantor< R >
 The determinantor recursively computes the determinant of a matrix. More...
 
class  Eagle::LowerTriangular< N, value >
 A symmetric matrix stored in lower triangular form. More...
 
class  Eagle::Matrix< R, C, Value >
 Simple matrix class for performing fast operations on matrices of sizes known at compile-time. More...
 
class  Eagle::Quadratic< N, Value >
 An n x n matrix (i.e., a vector of length n*n), stored row-wise: that is, A(i,j) = A[ij], where ij = i*n + j. More...
 
class  Eagle::Row< C, Value >
 A row vector,. More...
 
class  Eagle::SubMatrix< R, C, Matrix >
 SubMatrix is a Matrix with row R and column C deleted. More...
 

Functions

template<class value >
value Eagle::Det (const Quadratic< 1, value > &M)
 Determinant of 1x1 matrix (trivial)
 
template<class value >
value Eagle::Det (const Quadratic< 2, value > &M)
 Determinant of 2x2 matrix (easy)
 
template<class value >
value Eagle::Det (const Quadratic< 3, value > &M)
 Determinant of 3x3 matrix (straightforward)
 
template<class value >
value Eagle::Det (const Quadratic< 4, value > &M)
 Determinant of 4x4 matrix (effortsome) http://www.cvl.iis.u-tokyo.ac.jp/~miyazaki/tech/teche23.html.
 
template<int R, int C, class value >
Column< R, value > operator* (const Matrix< R, C, value > &A, const Column< C, value > &V)
 Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector C output of dimension r.
 
template<int N, class value >
void UnsortedEigenVectors (LowerTriangular< N, value > &A, Quadratic< N, value > &RRmatrix, Row< N, value > &E, double precision=1E-10)
 Eigenvalues and eigenvectors of a real symmetric matrix.
 

Detailed Description

Tiny matrix classes with optimized numerical operations which make use of vectorization features through the VVector class.


Class Documentation

◆ Eagle::Determinantor

struct Eagle::Determinantor
template<dimension_t R>
struct Eagle::Determinantor< R >

The determinantor recursively computes the determinant of a matrix.

Function Documentation

◆ operator*()

template<int R, int C, class value >
Column< R, value > operator* ( const Matrix< R, C, value > &  A,
const Column< C, value > &  V 
)
related

Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector C output of dimension r.

\[
   \begin{pmatrix}
   C_{0} \\ \dots \\ C_{r-1}
   \end{pmatrix}
   =
   \begin{pmatrix}
   A_{0,0} & \dots & A_{c-1,0} \\
   \hdotsfor{3} \\
   A_{0,r-1} & \dots & A_{c-1,r-1}
   \end{pmatrix}
   \cdot
   \begin{pmatrix}
   V_{0} \\ \dots \\ V_{c-1}
   \end{pmatrix}
   \]

◆ UnsortedEigenVectors()

template<int N, class value >
void UnsortedEigenVectors ( LowerTriangular< N, value > &  A,
Quadratic< N, value > &  RRmatrix,
Row< N, value > &  E,
double  precision = 1E-10 
)
related

Eigenvalues and eigenvectors of a real symmetric matrix.

Parameters
AThe input matrix, will be destroyed during computation
RRThe eigenvectors, stored column-wise in the quadratic matrics; use the column(i) function to get the i'th eigenvector
EThe eigenvalues, stored in a row
precisionError control parameter. After diagonalization, the off-diagonal elements of A will have been reduced by this factor.

The algorithm is due to J. von Neumann. Classified by WB from C sources of the cephes library by Stephen L. Moshier.

See also
LowerTriangular, Quadratic, Row

Example code:

// Input data
// Output data
Row<3,double> EValues;
double precision = 1E-8;
EigenVectors( InputMatrix, Evectors, Evalues, precision);
A symmetric matrix stored in lower triangular form.
Definition Matrix.hpp:70
An n x n matrix (i.e., a vector of length n*n), stored row-wise: that is, A(i,j) = A[ij],...
Definition QuadraticMatrix.hpp:158
A row vector,.
Definition Matrix.hpp:1010