Matrix Class Reference
#include <ql/Math/matrix.hpp>
Detailed Description
Matrix used in linear algebra.This class implements the concept of Matrix as used in linear algebra. As such, it is not meant to be used as a container.
Public Types | |
typedef Real * | iterator |
typedef const Real * | const_iterator |
typedef boost::reverse_iterator< iterator > | reverse_iterator |
typedef boost::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef Real * | row_iterator |
typedef const Real * | const_row_iterator |
typedef boost::reverse_iterator< row_iterator > | reverse_row_iterator |
typedef boost::reverse_iterator< const_row_iterator > | const_reverse_row_iterator |
typedef step_iterator< iterator > | column_iterator |
typedef step_iterator< const_iterator > | const_column_iterator |
typedef boost::reverse_iterator< column_iterator > | reverse_column_iterator |
typedef boost::reverse_iterator< const_column_iterator > | const_reverse_column_iterator |
Public Member Functions | |
Constructors, destructor, and assignment | |
Matrix () | |
creates a null matrix | |
Matrix (Size rows, Size columns) | |
creates a matrix with the given dimensions | |
Matrix (Size rows, Size columns, Real value) | |
creates the matrix and fills it with value | |
Matrix (const Matrix &) | |
Matrix (const Disposable< Matrix > &) | |
Matrix & | operator= (const Matrix &) |
Matrix & | operator= (const Disposable< Matrix > &) |
Algebraic operators | |
const Matrix & | operator+= (const Matrix &) |
const Matrix & | operator-= (const Matrix &) |
const Matrix & | operator *= (Real) |
const Matrix & | operator/= (Real) |
Iterator access | |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rend () const |
reverse_iterator | rend () |
const_row_iterator | row_begin (Size i) const |
row_iterator | row_begin (Size i) |
const_row_iterator | row_end (Size i) const |
row_iterator | row_end (Size i) |
const_reverse_row_iterator | row_rbegin (Size i) const |
reverse_row_iterator | row_rbegin (Size i) |
const_reverse_row_iterator | row_rend (Size i) const |
reverse_row_iterator | row_rend (Size i) |
const_column_iterator | column_begin (Size i) const |
column_iterator | column_begin (Size i) |
const_column_iterator | column_end (Size i) const |
column_iterator | column_end (Size i) |
const_reverse_column_iterator | column_rbegin (Size i) const |
reverse_column_iterator | column_rbegin (Size i) |
const_reverse_column_iterator | column_rend (Size i) const |
reverse_column_iterator | column_rend (Size i) |
Element access | |
const_row_iterator | operator[] (Size) const |
row_iterator | operator[] (Size) |
Disposable< Array > | diagonal (void) const |
Inspectors | |
Size | rows () const |
Size | columns () const |
bool | empty () const |
Utilities | |
void | swap (Matrix &) |
Related Functions | |
(Note that these are not member functions.) | |
const Disposable< Matrix > | CholeskyDecomposition (const Matrix &m, bool flexible=false) |
const Disposable< Matrix > | operator+ (const Matrix &, const Matrix &) |
const Disposable< Matrix > | operator- (const Matrix &, const Matrix &) |
const Disposable< Matrix > | operator * (const Matrix &, Real) |
const Disposable< Matrix > | operator * (Real, const Matrix &) |
const Disposable< Matrix > | operator/ (const Matrix &, Real) |
const Disposable< Array > | operator * (const Array &, const Matrix &) |
const Disposable< Array > | operator * (const Matrix &, const Array &) |
const Disposable< Matrix > | operator * (const Matrix &, const Matrix &) |
const Disposable< Matrix > | transpose (const Matrix &) |
const Disposable< Matrix > | outerProduct (const Array &v1, const Array &v2) |
template<class Iterator1, class Iterator2> | |
const Disposable< Matrix > | outerProduct (Iterator1 v1begin, Iterator1 v1end, Iterator2 v2begin, Iterator2 v2end) |
void | swap (Matrix &, Matrix &) |
std::ostream & | operator<< (std::ostream &, const Matrix &) |
const Disposable< Matrix > | pseudoSqrt (const Matrix &, SalvagingAlgorithm::Type) |
Returns the pseudo square root of a real symmetric matrix. | |
const Disposable< Matrix > | rankReducedSqrt (const Matrix &, Size maxRank, Real componentRetainedPercentage, SalvagingAlgorithm::Type) |
Member Function Documentation
|
|
Friends And Related Function Documentation
|
Returns the pseudo square root of a real symmetric matrix.
Given a matrix For more information see: "The most general methodology to create a valid correlation matrix for risk management and option pricing purposes", by R. Rebonato and P. Jäckel. The Journal of Risk, 2(2), Winter 1999/2000 http://www.rebonato.com/correlationmatrix.pdf Revised and extended in "Monte Carlo Methods in Finance", by Peter Jäckel, Chapter 6.
|
|
|