PARP Research Group University of Murcia, Spain


QVMatrix Class Reference
[Math extensions]

Implementation of numerical matrices. More...

#include <QVMatrix>

List of all members.

Public Member Functions

 QVMatrix ()
 Default constructor.
 QVMatrix (const QVMatrix &matrix)
 Copy constructor.
 QVMatrix (const int rows, const int cols, const double *data=NULL)
 Dimensional constructor.
 QVMatrix (const int rows, const int cols, const double value)
 Dimensional constructor with default value.
 QVMatrix (const QVQuaternion &quaternion)
 Rotation matrix constructor.
 QVMatrix (const QVVector &vector, const bool rowVector=true)
 Vector to matrix constructor.
 QVMatrix (const QList< QVVector > &vectorList)
 Constructor from a list of QVVectors.
 QVMatrix (const QList< QVector< double > > &vectorList)
 Constructor from a list of QVectors.
 QVMatrix (const gsl_matrix *matrix)
 Copy constructor for gsl_matrix.
 QVMatrix (const QList< QPointF > &pointList)
 Constructor from a list of QPointF.
 operator QList< QVVector > () const
 Convert to a list of QVVectors operator.
 operator QList< QVector< double > > () const
 Convert to a list of QVectors operator.
 operator gsl_matrix * () const
 Convert to a gsl_matrix * operator.
QVMatrixoperator= (const QVMatrix &matrix)
 Copy operator.
bool operator== (const QVMatrix &matrix) const
 Matrix-matrix equality operator.
bool operator!= (const QVMatrix &matrix) const
 Matrix-matrix unequality operator.
QVMatrix operator* (const QVMatrix &matrix) const
 Matrix-matrix product operator.
QVMatrix operator/ (const QVMatrix &matrix) const
 Matrix-matrix division.
QVMatrix operator+ (const QVMatrix &matrix) const
 Matrix-matrix addition operator.
QVMatrix operator- (const QVMatrix &matrix) const
 Matrix-matrix substraction operator.
QVMatrix operator- () const
 Matrix negation.
QVMatrix operator* (const double value) const
 Matrix-scalar product.
QVMatrix operator/ (const double value) const
 Matrix-scalar division operator.
QVVector operator* (const QVVector &vector) const
 Matrix-vector product.
QVMatrix verticalAppend (const QVMatrix &matrix) const
 Appends matrices vertically.
QVMatrix horizontalAppend (const QVMatrix &matrix) const
 Appends matrices horizontally.
QVMatrix operator & (const QVMatrix &matrix) const
 Appends matrices vertically.
QVMatrix operator| (const QVMatrix &matrix) const
 Appends matrices horizontally.
QVMatrix operator & (const QVVector &vector) const
 Appends vector to matrix vertically.
QVMatrix operator| (const QVVector &vector) const
 Appends vector to matrix horizontally.
double & operator() (const int row, const int col)
 Cell access operator.
const double operator() (const int row, const int col) const
 Overloaded version of cell access operator.
const int getDataSize () const
 Gets the size of the data array.
const double * getReadData () const
 Gets a read-only reference to the data buffer of the matrix.
double * getWriteData ()
 Gets a reference of the data buffer of the matrix for read and write accesses.
QVMatrix transpose () const
 Change the order of the indexes in the matrix.
void set (const double value)
 Sets every element of the matrix to a given value.
bool equals (const QVMatrix &matrix) const
 Matrix-matrix equality operator.
QVMatrix dotProduct (const QVMatrix &matrix) const
 Matrix-matrix product.
QVMatrix elementProduct (const QVMatrix &matrix) const
 Matrix-matrix element product.
QVMatrix matrixDivide (const QVMatrix &matrix) const
 Matrix-matrix division.
QVMatrix inverse () const
 Computes the inverse of the matrix.
double det () const
 Computes the determinant of the matrix.
QVVector meanCol () const
 Obtains the mean vector for the column vectors in the matrix.
QVMatrix addition (const QVMatrix &matrix) const
 Matrix-matrix addition.
QVMatrix substract (const QVMatrix &matrix) const
 Matrix-matrix substraction.
QVMatrix scalarDivide (const double value) const
 Matrix-scalar division.
QVMatrix scalarProduct (const double value) const
 Matrix-scalar product.
double norm2 () const
 Gets the norm2 for matrix.
QVMatrix rowHomogeneousNormalize () const
 Homogeneous normalization for rows of the matrix.
const int getCols () const
 Get width of the matrix.
const int getRows () const
 Get height of the matrix.
const QVMatrix getCols (const int firstCol, const int lastCol) const
 Get submatrix composed by given column range.
const QVMatrix getRows (const int firstRow, const int lastRow) const
 Get submatrix composed by given row range.
const QVVector getRow (const int row) const
 Gets a row of the matrix.
void setRow (const int row, QVVector vector)
 Sets a row of the matrix.
void setRow (const int row, QVector< double > vector)
 Sets a row of the matrix.
const QVVector getCol (const int col) const
 Gets a column of the matrix.
void setCol (const int col, QVVector vector)
 Sets a column of the matrix.
const QVMatrix getSubmatrix (const int firstRow, const int lastRow, const int firstCol, const int lastCol) const
 Gets a submatrix from a matrix.
QVMatrix reshape (const int newCols, const int newRows) const
 Create a new matrix with different size and the same content.

Static Public Member Functions

static QVMatrix identity (const int size)
 Creates an identity matrix.
static QVMatrix zeros (const int rows, const int cols)
 Creates a zero matrix.
static QVMatrix random (const int rows, const int cols)
 Creates a random matrix.
static QVMatrix diagonal (const QVVector &diagonalVector)
 Creates a diagonal matrix.
static QVMatrix rotationMatrix (const double angle)
 Create a planar rotation matrix.
static QVMatrix traslationMatrix (const double x, const double y)
 Create a 2D traslation matrix.
static QVMatrix scaleMatrix (const double zoom)
 Create a 2D scale matrix.
static QVMatrix rotationMatrix3dXAxis (const double angle)
 Create a rotation matrix for 3D-X axis.
static QVMatrix rotationMatrix3dYAxis (const double angle)
 Create a rotation matrix for 3D-Y axis.
static QVMatrix rotationMatrix3dZAxis (const double angle)
 Create a rotation matrix for 3D-Z axis.
static QVMatrix traslationMatrix3d (const double x, const double y, const double z)
 Create a 3D translation matrix.
static QVMatrix multiply (const QList< QVMatrix > &matrices)
 Compute the product of a list of matrices.


Detailed Description

Implementation of numerical matrices.

Definition at line 44 of file qvmatrix.h.


Constructor & Destructor Documentation

QVMatrix::QVMatrix (  ) 

Default constructor.

By default, it constructs a 1x1 matrix.

Definition at line 39 of file qvmatrix.cpp.

Referenced by operator &(), and operator|().

QVMatrix::QVMatrix ( const QVMatrix matrix  ) 

Copy constructor.

Creates a matrix object copying the content from a given one.

Parameters:
matrix matrix to be copied.

Definition at line 45 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const int  rows,
const int  cols,
const double *  data = NULL 
)

Dimensional constructor.

Creates a new matrix of the specified dimensions.

Parameters:
rows number of rows for the new matrix.
cols number of rows for the new matrix.
data pointer to the initialization data. If no pointer, or the NULL value, is provided, the initial content of thehe matrix will be unspecified.

Definition at line 49 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const int  rows,
const int  cols,
const double  value 
)

Dimensional constructor with default value.

Creates a new matrix of the specified dimensions, and with each one of its cells containing a provided value.

Parameters:
rows number of rows for the new matrix.
cols number of rows for the new matrix.
value default value to set the elements of the matrix.

Definition at line 58 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const QVQuaternion quaternion  ) 

Rotation matrix constructor.

Creates a rotation matrix equivalent to a quaternion.

Parameters:
quaternion quaternion equivalent to the rotation.

Definition at line 64 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const QVVector vector,
const bool  rowVector = true 
)

Vector to matrix constructor.

Creates a row or column matrix from a vector.

Parameters:
vector vector to convert to matrix type.
rowVector if true, creates a row matrix from the vector, else creates a column matrix from it.

Definition at line 100 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const QList< QVVector > &  vectorList  ) 

Constructor from a list of QVVectors.

Creates a new matrix from a list of row QVVectors.

Parameters:
vectorList list of row vectors.

Definition at line 109 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const QList< QVector< double > > &  vectorList  ) 

Constructor from a list of QVectors.

Creates a new matrix from a list of row QVectors.

Parameters:
vectorList list of row vectors.

Definition at line 118 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const gsl_matrix *  matrix  ) 

Copy constructor for gsl_matrix.

Parameters:
matrix matrix to be copied

Definition at line 127 of file qvmatrix.cpp.

QVMatrix::QVMatrix ( const QList< QPointF > &  pointList  ) 

Constructor from a list of QPointF.

Creates a new matrix from a list of points

Parameters:
pointList list of points.

Definition at line 134 of file qvmatrix.cpp.


Member Function Documentation

QVMatrix & QVMatrix::operator= ( const QVMatrix matrix  ) 

Copy operator.

Parameters:
matrix matrix to be copied.

Definition at line 163 of file qvmatrix.cpp.

bool QVMatrix::operator== ( const QVMatrix matrix  )  const [inline]

Matrix-matrix equality operator.

Parameters:
matrix term for the compare operation.
Returns:
true if the given matrix has same dimensions and equal content of the data buffer, else false.
See also:
equals

Definition at line 196 of file qvmatrix.h.

bool QVMatrix::operator!= ( const QVMatrix matrix  )  const [inline]

Matrix-matrix unequality operator.

Parameters:
matrix term for the compare operation.
Returns:
false if the given matrix has same dimensions and equal content of the data buffer, else true.
See also:
equals

Definition at line 203 of file qvmatrix.h.

QVMatrix QVMatrix::operator* ( const QVMatrix matrix  )  const [inline]

Matrix-matrix product operator.

Parameters:
matrix factor for the product operation.
See also:
matrixProduct

Definition at line 209 of file qvmatrix.h.

Referenced by operator-().

QVMatrix QVMatrix::operator/ ( const QVMatrix matrix  )  const [inline]

Matrix-matrix division.

The following expression:

X = A / B

is equivalent to this one

X = A * pseudoInverse(B)

With the difference that the pseudoinverse matrix for B is not directly computed. Instead, the matrix equation:

X * B = A

is solved for the X term. This leads to more stable and efficient results than using the pseudo inverse.

this operator gets X from:

X = A / B -> X * B = A -> B' * X' = A'

using a linear system resolution based on a LU decomposition over A.

Parameters:
matrix factor for the operation.
See also:
matrixDivide(const QVMatrix &) const

Definition at line 236 of file qvmatrix.h.

QVMatrix QVMatrix::operator+ ( const QVMatrix matrix  )  const [inline]

Matrix-matrix addition operator.

Parameters:
matrix term for the operation.
See also:
addition

Definition at line 242 of file qvmatrix.h.

QVMatrix QVMatrix::operator- ( const QVMatrix matrix  )  const [inline]

Matrix-matrix substraction operator.

Parameters:
matrix subtrahend for the operation.
See also:
substract

Definition at line 248 of file qvmatrix.h.

QVMatrix QVMatrix::operator- (  )  const [inline]

Matrix negation.

Obtains a matrix negating all the elements of the original.

See also:
substract

Definition at line 255 of file qvmatrix.h.

QVMatrix QVMatrix::operator* ( const double  value  )  const [inline]

Matrix-scalar product.

Parameters:
value factor for the operation.
See also:
scalarProduct

Definition at line 263 of file qvmatrix.h.

QVMatrix QVMatrix::operator/ ( const double  value  )  const [inline]

Matrix-scalar division operator.

Parameters:
value divider for the operation.
See also:
scalarDivide

Definition at line 269 of file qvmatrix.h.

QVVector QVMatrix::operator* ( const QVVector vector  )  const

Matrix-vector product.

Parameters:
vector vector to multiply by.

Definition at line 174 of file qvmatrix.cpp.

QVMatrix QVMatrix::verticalAppend ( const QVMatrix matrix  )  const

Appends matrices vertically.

Considering two matrix objects $ A $ and $ B $, this method returns the following matrix object:

$ A.verticalAppend(B) = \left[ \begin{array}{c} A \\ B \end{array} \right] $

Parameters:
matrix matrix to be appended
See also:
operator&()

Definition at line 400 of file qvmatrix.cpp.

Referenced by operator &().

QVMatrix QVMatrix::horizontalAppend ( const QVMatrix matrix  )  const

Appends matrices horizontally.

Considering two matrix objects $ A $ and $ B $, this method returns the following matrix object:

$ A.horizontalAppend(B) = \left[ A | B \right] $

Parameters:
matrix matrix to be appended
See also:
operator|()

Definition at line 374 of file qvmatrix.cpp.

Referenced by operator|().

QVMatrix QVMatrix::operator & ( const QVMatrix matrix  )  const [inline]

Appends matrices vertically.

Considering two matrix objects $ A $ and $ B $, this operator returns the following matrix object:

$ A \& B = \left[ \begin{array}{c} A \\ B \end{array} \right] $

Parameters:
matrix matrix to be appended
See also:
verticalAppend()

Definition at line 309 of file qvmatrix.h.

QVMatrix QVMatrix::operator| ( const QVMatrix matrix  )  const [inline]

Appends matrices horizontally.

Considering two matrix objects $ A $ and $ B $, this operator returns the following matrix object:

$ A | B = \left[ A | B \right] $

Parameters:
matrix matrix to be appended
See also:
horizontalAppend()

Definition at line 319 of file qvmatrix.h.

QVMatrix QVMatrix::operator & ( const QVVector vector  )  const [inline]

Appends vector to matrix vertically.

Considering a matrix object $ A $ and a vector object $ \mathbf{v} $, this operator returns the following matrix object:

$ A \& v = \left[ \begin{array}{c} A \\ \mathbf{v} \end{array} \right] $

Parameters:
vector vector to be appended
See also:
verticalAppend()

Definition at line 329 of file qvmatrix.h.

QVMatrix QVMatrix::operator| ( const QVVector vector  )  const [inline]

Appends vector to matrix horizontally.

Considering a matrix object $ A $ and a vector object $ \mathbf{v} $, this operator returns the following matrix object:

$ A | v = \left[ A | \mathbf{v} \right] $

Parameters:
vector vector to be appended
See also:
horizontalAppend()

Definition at line 339 of file qvmatrix.h.

double& QVMatrix::operator() ( const int  row,
const int  col 
) [inline]

Cell access operator.

Parameters:
row main index value for data access
col secondary index value for data access

Definition at line 347 of file qvmatrix.h.

Referenced by elementProduct(), getCols(), getRows(), getSubmatrix(), QVMatrix(), and rowHomogeneousNormalize().

const double QVMatrix::operator() ( const int  row,
const int  col 
) const [inline]

Overloaded version of cell access operator.

Parameters:
row main index value for data access
col secondary index value for data access

Definition at line 354 of file qvmatrix.h.

const int QVMatrix::getDataSize (  )  const [inline]

Gets the size of the data array.

This returns the number of elements in the matrix.

Returns:
the product of the sizes of all the indexes in the matrix.

Definition at line 361 of file qvmatrix.h.

Referenced by addition(), eigenDecomposition(), equals(), norm2(), scalarDivide(), scalarProduct(), set(), and substract().

const double* QVMatrix::getReadData (  )  const [inline]

Gets a read-only reference to the data buffer of the matrix.

Returns:
a constant pointer to the data buffer of the matrix

Definition at line 366 of file qvmatrix.h.

Referenced by addition(), dotProduct(), eigenDecomposition(), equals(), norm2(), operator<<(), QVVector::QVVector(), solveLinear(), solveOverDetermined(), substract(), and transpose().

double* QVMatrix::getWriteData (  )  [inline]

Gets a reference of the data buffer of the matrix for read and write accesses.

Returns:
a pointer to the data buffer of the matrix

Definition at line 371 of file qvmatrix.h.

Referenced by addition(), CholeskyDecomposition(), dotProduct(), LUDecomposition(), pseudoInverse(), QRDecomposition(), scalarDivide(), scalarProduct(), set(), solveLinear(), solveOverDetermined(), substract(), and transpose().

QVMatrix QVMatrix::transpose (  )  const

Change the order of the indexes in the matrix.

This function reorders the indexes of the matrix.

Todo:
use blas function cblas_axpy for this

Definition at line 280 of file qvmatrix.cpp.

Referenced by ComputeEuclideanHomography(), eigenDecomposition(), GetPinholeCameraIntrinsicsFromPlanarHomography(), matrixDivide(), operator|(), pseudoInverse(), qvLinearRegularizedRegression(), and solveHomogeneousLinear2().

void QVMatrix::set ( const double  value  ) 

Sets every element of the matrix to a given value.

Parameters:
value value to set elements in the matrix

Todo:
use blas function cblas_axpy for data add

Definition at line 297 of file qvmatrix.cpp.

Referenced by diagonal(), identity(), and zeros().

bool QVMatrix::equals ( const QVMatrix matrix  )  const

Matrix-matrix equality operator.

Parameters:
matrix term for the compare operation.
Returns:
true if the given matrix has same dimensions and equal content of the data buffer, else false.
See also:
operator==(const QVMatrix &) const

operator!=(const QVMatrix &) const

Definition at line 182 of file qvmatrix.cpp.

Referenced by operator!=(), and operator==().

QVMatrix QVMatrix::dotProduct ( const QVMatrix matrix  )  const

Matrix-matrix product.

Parameters:
matrix second operator for the multiplication.
See also:
operator*(const QVMatrix &) const

Definition at line 199 of file qvmatrix.cpp.

Referenced by QVVector::operator*(), and operator*().

QVMatrix QVMatrix::elementProduct ( const QVMatrix matrix  )  const

Matrix-matrix element product.

This method returns a matrix containing the product of the elements at the corresponding cells of the actual matrix and the one provided as the input parameter.

Parameters:
matrix second operator for the multiplication.

Todo:
use Blas

Definition at line 229 of file qvmatrix.cpp.

QVMatrix QVMatrix::matrixDivide ( const QVMatrix matrix  )  const

Matrix-matrix division.

This function solves the X term from the following matrix equation:

X A = B
where A and B are respectively the actual matrix, and the one given by parameter. This is equivalent to using the following expression for X:
X = B A-1
but with a faster method returning a more stable result.

Parameters:
matrix factor for the operation.
See also:
operator/(const QVMatrix &) const

Definition at line 254 of file qvmatrix.cpp.

Referenced by operator/().

QVMatrix QVMatrix::inverse (  )  const

Computes the inverse of the matrix.

Por ahora con la misma pseudoinversa, serĂ­a mejor de otro modo...

Definition at line 269 of file qvmatrix.cpp.

Referenced by BhattacharyyaDistance().

QVMatrix QVMatrix::addition ( const QVMatrix matrix  )  const

Matrix-matrix addition.

Parameters:
matrix operand for the add operation.
See also:
operator+(const QVMatrix &) const

Todo:
use blas function cblas_axpy for data add

Definition at line 307 of file qvmatrix.cpp.

Referenced by operator+().

QVMatrix QVMatrix::substract ( const QVMatrix matrix  )  const

Matrix-matrix substraction.

Parameters:
matrix subtrahend for the operation.
See also:
operator-(const QVMatrix &) const

Todo:
use blas function cblas_axpy for data add

Definition at line 325 of file qvmatrix.cpp.

Referenced by operator-().

QVMatrix QVMatrix::scalarDivide ( const double  value  )  const

Matrix-scalar division.

Parameters:
value scalar value to use in the operation.
See also:
operator/(const double) const

Todo:
use blas function?

Definition at line 359 of file qvmatrix.cpp.

Referenced by operator/().

QVMatrix QVMatrix::scalarProduct ( const double  value  )  const

Matrix-scalar product.

Parameters:
value factor for the operation.
See also:
operator*(const double) const

Todo:
use blas function?

Definition at line 344 of file qvmatrix.cpp.

Referenced by operator*().

double QVMatrix::norm2 (  )  const

Gets the norm2 for matrix.

The resulting value will be the square root of the following sumatory:

$ \|A\|_2 := \sqrt{ \sum |a_{ij}|^2 } $

where $ a_{ij} $ are the elements of the matrix $ A $.

Returns:
norm-2 of the matrix.

Definition at line 428 of file qvmatrix.cpp.

Referenced by solveHomogeneousLinear2().

QVMatrix QVMatrix::rowHomogeneousNormalize (  )  const

Homogeneous normalization for rows of the matrix.

Todo:
explain homogeneous normalization
Returns:
norm-2 of the matrix.

Definition at line 432 of file qvmatrix.cpp.

const QVMatrix QVMatrix::getCols ( const int  firstCol,
const int  lastCol 
) const [inline]

Get submatrix composed by given column range.

Parameters:
firstCol first column to be included in the submatrix.
lastCol last column to be included in the submatrix.
Returns:
Submatrix containing the columns in the specificated range

Definition at line 487 of file qvmatrix.h.

const QVMatrix QVMatrix::getRows ( const int  firstRow,
const int  lastRow 
) const [inline]

Get submatrix composed by given row range.

Parameters:
firstRow first row to be included in the submatrix.
lastRow last row to be included in the submatrix.
Returns:
Submatrix containing the rows in the specificated range

Definition at line 505 of file qvmatrix.h.

const QVVector QVMatrix::getRow ( const int  row  )  const

Gets a row of the matrix.

Parameters:
row row number, a value within [0, r-1], for a matrix with 'r' rows
Returns:
a vector containing the values of the row

Definition at line 443 of file qvmatrix.cpp.

Referenced by ComputeProjectiveHomography(), operator QList< QVector< double > >(), operator QList< QVVector >(), QVVector::operator*(), solveHomogeneousLinear2(), and verticalAppend().

void QVMatrix::setRow ( const int  row,
QVVector  vector 
)

Sets a row of the matrix.

Parameters:
row row number, a value within [0, r-1], for a matrix with 'r' rows
vector a vector containing the values for the row

Definition at line 455 of file qvmatrix.cpp.

Referenced by QVMatrix(), QVVector::toRowMatrix(), and verticalAppend().

void QVMatrix::setRow ( const int  row,
QVector< double >  vector 
)

Sets a row of the matrix.

Parameters:
row row number, a value within [0, r-1], for a matrix with 'r' rows
vector a vector containing the values for the row

Definition at line 465 of file qvmatrix.cpp.

const QVVector QVMatrix::getCol ( const int  col  )  const

Gets a column of the matrix.

Parameters:
col column number, a value within [0, c-1], for a matrix with 'c' columns
Returns:
a vector containing the values of the column

Definition at line 475 of file qvmatrix.cpp.

Referenced by CalibrateCameraFromPlanarHomography(), GetExtrinsicCameraMatrixFromHomography(), HomographyTestError(), horizontalAppend(), meanCol(), operator*(), solveHomogeneousLinear(), and solveHomogeneousLinear2().

void QVMatrix::setCol ( const int  col,
QVVector  vector 
)

Sets a column of the matrix.

Parameters:
col column number, a value within [0, c-1], for a matrix with 'c' columns
vector a vector containing the values for the column

Definition at line 487 of file qvmatrix.cpp.

Referenced by CalibrateCameraFromPlanarHomography(), GetExtrinsicCameraMatrixFromHomography(), horizontalAppend(), QVMatrix(), solveHomogeneousLinear2(), and QVVector::toColumnMatrix().

const QVMatrix QVMatrix::getSubmatrix ( const int  firstRow,
const int  lastRow,
const int  firstCol,
const int  lastCol 
) const

Gets a submatrix from a matrix.

Parameters:
firstCol first column number for the submatrix
firstRow first row number for the submatrix
lastCol last column number for the submatrix
lastRow last row number for the submatrix
Returns:
a submatrix of size (lastRow - firstRow + 1)x(lastCol - firstCol + 1) containing the corresponding elements from the original matrix.

Definition at line 497 of file qvmatrix.cpp.

QVMatrix QVMatrix::identity ( const int  size  )  [static]

QVMatrix QVMatrix::zeros ( const int  rows,
const int  cols 
) [static]

Creates a zero matrix.

Parameters:
rows number of cols and rows for the identity matrix
cols number of cols and rows for the identity matrix

Definition at line 528 of file qvmatrix.cpp.

Referenced by GetPinholeCameraIntrinsicsFromPlanarHomography().

QVMatrix QVMatrix::random ( const int  rows,
const int  cols 
) [static]

Creates a random matrix.

Matrix with elements values from 0 to 1.

Parameters:
rows rows of the matrix
cols cols of the matrix

Definition at line 535 of file qvmatrix.cpp.

QVMatrix QVMatrix::diagonal ( const QVVector diagonalVector  )  [static]

Creates a diagonal matrix.

Matrix with elements values from 0 to 1.

Parameters:
diagonalVector vector containing the diagonal values

Definition at line 544 of file qvmatrix.cpp.

Referenced by singularValueDecomposition().

QVMatrix QVMatrix::rotationMatrix ( const double  angle  )  [static]

Create a planar rotation matrix.

Parameters:
angle angle to rotate around coordinate center

Definition at line 554 of file qvmatrix.cpp.

QVMatrix QVMatrix::traslationMatrix ( const double  x,
const double  y 
) [static]

Create a 2D traslation matrix.

Parameters:
x increment in X axis
y increment in Y axis

Definition at line 565 of file qvmatrix.cpp.

QVMatrix QVMatrix::scaleMatrix ( const double  zoom  )  [static]

Create a 2D scale matrix.

Parameters:
zoom scale

Definition at line 576 of file qvmatrix.cpp.

QVMatrix QVMatrix::rotationMatrix3dXAxis ( const double  angle  )  [static]

Create a rotation matrix for 3D-X axis.

Parameters:
angle angle to rotate around X axis in radians

Definition at line 599 of file qvmatrix.cpp.

QVMatrix QVMatrix::rotationMatrix3dYAxis ( const double  angle  )  [static]

Create a rotation matrix for 3D-Y axis.

Parameters:
angle angle to rotate around Y axis in radians

Definition at line 612 of file qvmatrix.cpp.

QVMatrix QVMatrix::rotationMatrix3dZAxis ( const double  angle  )  [static]

Create a rotation matrix for 3D-Z axis.

Parameters:
angle angle to rotate around Z axis in radians

Definition at line 586 of file qvmatrix.cpp.

QVMatrix QVMatrix::traslationMatrix3d ( const double  x,
const double  y,
const double  z 
) [static]

Create a 3D translation matrix.

Parameters:
x increment in X axis
y increment in Y axis
z increment in Z axis

Definition at line 625 of file qvmatrix.cpp.

QVMatrix QVMatrix::reshape ( const int  newCols,
const int  newRows 
) const [inline]

Create a new matrix with different size and the same content.

This method creates a matrix with the dimentions specified in the input arguments, keeping the elements of the actual matrix.

Parameters:
cols 
rows 

Definition at line 632 of file qvmatrix.h.

static QVMatrix QVMatrix::multiply ( const QList< QVMatrix > &  matrices  )  [inline, static]

Compute the product of a list of matrices.

Parameters:
matrices matrice list

Definition at line 642 of file qvmatrix.h.


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



QVision framework. PARP research group, copyright 2007, 2008.