Clipper
Public Member Functions | Friends
clipper::Matrix< T > Class Template Reference

General matrix class: like Array2d but with numerical methods. More...

#include <clipper_types.h>

Inheritance diagram for clipper::Matrix< T >:
clipper::Array2d< T >

List of all members.

Public Member Functions

 Matrix ()
 null constructor
 Matrix (const int &d1, const int &d2)
 constructor
 Matrix (const int &d1, const int &d2, T val)
 constructor
std::vector< T > solve (const std::vector< T > &b) const
 equation solver (square matrices only)
std::vector< T > eigen (const bool sort=true)
 eigenvalue calculation (square symmetric matrices only)

Friends

std::vector< T > operator* (const Matrix< T > &m, const std::vector< T > &v)
 Matrix-vector product.

Detailed Description

template<class T = ftype>
class clipper::Matrix< T >

General matrix class: like Array2d but with numerical methods.


Member Function Documentation

template<class T>
std::vector< T > clipper::Matrix< T >::solve ( const std::vector< T > &  b) const

equation solver (square matrices only)

Solve the system of linear equations Ax=b for x Uses elimination. Only suitable for small systems.

References clipper::Message::message(), clipper::Array2d< T >::rows(), clipper::Array2d< T >::size(), and clipper::Util::swap().

Referenced by clipper::ResolutionFn::ResolutionFn(), and clipper::ResolutionFn_nonlinear::ResolutionFn_nonlinear().

template<class T >
std::vector< T > clipper::Matrix< T >::eigen ( const bool  sort = true)

eigenvalue calculation (square symmetric matrices only)

Find the Eigenvalues and Eigenvectors of the matrix. Uses the Jacobi method. Only suitable for small systems (dimension<20). The matrix is replaced by the matrix of eigenvectors (as columns).

Parameters:
sortSort the eigenvalues and vectors, smallest first. (default=true)
Returns:
Vector of eigenvalues.

References clipper::Message::message(), clipper::Array2d< T >::rows(), and clipper::Util::swap().

Referenced by clipper::RTop_orth::RTop_orth().


Friends And Related Function Documentation

template<class T = ftype>
std::vector<T> operator* ( const Matrix< T > &  m,
const std::vector< T > &  v 
) [friend]

Matrix-vector product.

Assumes a column vector


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