TooN 2.0.0-beta8
Public Member Functions | Public Attributes
DiagonalMatrix< Size, Precision, Base > Class Template Reference

A diagonal matrix. More...

#include <diagmatrix.h>

List of all members.

Public Member Functions

Precision & operator[] (int i)
const Precision & operator[] (int i) const
Vector< Size, Precision, Base >
::as_slice_type 
diagonal_slice ()
const Vector< Size, Precision,
Base >::as_slice_type 
diagonal_slice () const
Constructors
 DiagonalMatrix ()
 DiagonalMatrix (int size_in)
 DiagonalMatrix (Precision *data)
 DiagonalMatrix (Precision *data, int size_in)
 DiagonalMatrix (Precision *data_in, int size_in, int stride_in, Internal::Slicing)
template<class Op >
 DiagonalMatrix (const Operator< Op > &op)
template<int Size2, typename Precision2 , typename Base2 >
 DiagonalMatrix (const Vector< Size2, Precision2, Base2 > &from)

Public Attributes

Vector< Size, Precision, Base > my_vector

Detailed Description

template<int Size = Dynamic, typename Precision = DefaultPrecision, typename Base = Internal::VBase>
class TooN::DiagonalMatrix< Size, Precision, Base >

A diagonal matrix.

Support is limited but diagonal matrices can be multiplied by vectors, matrices or diagonal matrices on either side.

Diagonal matrices can be created from vectors by using the as_diagonal() member function:

Vector<3> v = makeVector(1,2,3);
Vector<3> v2 = v.as_diagonal() * v;   // v2 = (1,4,9)

A vector can be obtained from the diagonal matrix by using the diagonal_slice() member function.