Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_matrix< T > Class Template Reference

#include <vnl_matrix.h>

Inheritance diagram for vnl_matrix:

Inheritance graph
[legend]
Collaboration diagram for vnl_matrix< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef vnl_c_vector< T
>::abs_t 
abs_t
typedef T element_type
typedef T * iterator
typedef T const * const_iterator

Public Methods

 vnl_matrix ()
 vnl_matrix (unsigned r, unsigned c)
 vnl_matrix (unsigned r, unsigned c, T const &v0)
 vnl_matrix (unsigned r, unsigned c, vnl_matrix_type t)
 vnl_matrix (unsigned r, unsigned c, unsigned n, T const values[])
 vnl_matrix (T const *data_block, unsigned r, unsigned c)
 vnl_matrix (vnl_matrix< T > const &)
 vnl_matrix (vnl_matrix< T > &that, const vnl_tag_grab &)
 vnl_matrix (vnl_matrix< T > const &, vnl_matrix< T > const &, const vnl_tag_add &)
 vnl_matrix (vnl_matrix< T > const &, vnl_matrix< T > const &, const vnl_tag_sub &)
 vnl_matrix (vnl_matrix< T > const &, T, const vnl_tag_mul &)
 vnl_matrix (vnl_matrix< T > const &, T, const vnl_tag_div &)
 vnl_matrix (vnl_matrix< T > const &, T, const vnl_tag_add &)
 vnl_matrix (vnl_matrix< T > const &, T, const vnl_tag_sub &)
 vnl_matrix (vnl_matrix< T > const &, vnl_matrix< T > const &, const vnl_tag_mul &)
 ~vnl_matrix ()
unsigned rows () const
unsigned columns () const
unsigned cols () const
unsigned size () const
void put (unsigned r, unsigned c, T const &)
get (unsigned r, unsigned c) const
T * operator[] (unsigned r)
T const * operator[] (unsigned r) const
T & operator() (unsigned r, unsigned c)
T const & operator() (unsigned r, unsigned c) const
void fill (T const &)
void fill_diagonal (T const &)
void copy_in (T const *)
void set (T const *d)
void copy_out (T *) const
vnl_matrix< T > & operator= (T const &v)
vnl_matrix< T > & operator= (vnl_matrix< T > const &)
vnl_matrix< T > & operator+= (T value)
vnl_matrix< T > & operator-= (T value)
vnl_matrix< T > & operator *= (T value)
vnl_matrix< T > & operator/= (T value)
vnl_matrix< T > & operator+= (vnl_matrix< T > const &)
vnl_matrix< T > & operator-= (vnl_matrix< T > const &)
vnl_matrix< T > & operator *= (vnl_matrix< T > const &rhs)
vnl_matrix< T > operator- () const
vnl_matrix< T > operator+ (T const &v) const
vnl_matrix< T > operator- (T const &v) const
vnl_matrix< T > operator * (T const &v) const
vnl_matrix< T > operator/ (T const &v) const
vnl_matrix< T > operator+ (vnl_matrix< T > const &rhs) const
vnl_matrix< T > operator- (vnl_matrix< T > const &rhs) const
vnl_matrix< T > operator * (vnl_matrix< T > const &rhs) const
vnl_matrix< T > apply (T(*f)(T)) const
vnl_matrix< T > apply (T(*f)(T const &)) const
vnl_matrix< T > transpose () const
vnl_matrix< T > conjugate_transpose () const
vnl_matrix< T > & update (vnl_matrix< T > const &, unsigned top=0, unsigned left=0)
void set_column (unsigned i, T const *v)
void set_column (unsigned i, T value)
void set_column (unsigned j, vnl_vector< T > const &v)
void set_columns (unsigned starting_column, vnl_matrix< T > const &M)
void set_row (unsigned i, T const *v)
void set_row (unsigned i, T value)
void set_row (unsigned i, vnl_vector< T > const &)
vnl_matrix< T > extract (unsigned rows, unsigned cols, unsigned top=0, unsigned left=0) const
vnl_vector< T > get_row (unsigned row) const
vnl_vector< T > get_column (unsigned col) const
vnl_matrix< T > get_n_rows (unsigned rowstart, unsigned n) const
vnl_matrix< T > get_n_columns (unsigned colstart, unsigned n) const
void set_identity ()
void inplace_transpose ()
void flipud ()
void fliplr ()
void normalize_rows ()
void normalize_columns ()
void scale_row (unsigned row, T value)
void scale_column (unsigned col, T value)
void swap (vnl_matrix< T > &that)
abs_t array_one_norm () const
abs_t array_two_norm () const
abs_t array_inf_norm () const
abs_t absolute_value_sum () const
abs_t absolute_value_max () const
abs_t operator_one_norm () const
abs_t operator_inf_norm () const
abs_t frobenius_norm () const
abs_t fro_norm () const
abs_t rms () const
min_value () const
max_value () const
mean () const
abs_t one_norm (void *) const
abs_t inf_norm (void *) const
bool is_identity (double tol=0) const
bool is_zero (double tol=0) const
bool is_finite () const
bool has_nans () const
void assert_size (unsigned rows, unsigned cols) const
void assert_finite () const
bool read_ascii (vcl_istream &s)
T const * data_block () const
T * data_block ()
T const *const * data_array () const
T ** data_array ()
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
bool operator_eq (vnl_matrix< T > const &rhs) const
bool operator== (vnl_matrix< T > const &that) const
bool operator!= (vnl_matrix< T > const &that) const
void print (vcl_ostream &os) const
void clear ()
bool resize (unsigned r, unsigned c)

Static Public Methods

vnl_matrix< T > read (vcl_istream &s)

Protected Methods

void destroy ()

Static Protected Methods

void inline_function_tickler ()

Protected Attributes

unsigned num_rows
unsigned num_cols
T ** data

Detailed Description

template<class T>
class vnl_matrix< T >

An ordinary mathematical matrix. The vnl_matrix<T> class implements two-dimensional arithmetic matrices for a user-specified numeric data type. Using the parameterized types facility of C++, it is possible, for example, for the user to create a matrix of rational numbers by parameterizing the vnl_matrix class over the Rational class. The only requirement for the type is that it supports the basic arithmetic operators.

Note: Unlike the other sequence classes, the vnl_matrix<T> class is fixed-size. It will not grow once the size has been specified to the constructor or changed by the assignment or multiplication operators. The vnl_matrix<T> class is row-based with addresses of rows being cached, and elements accessed as m[row][col].

Note: The matrix can, however, be resized using the resize(nr,nc) function.

Note: Indexing of the matrix is zero-based, so the top-left element is M(0,0).

Note: Inversion of matrix M, and other operations such as solving systems of linear equations are handled by the matrix decomposition classes in vnl/algo, such as matrix_inverse, svd, qr etc.

Note: Use a vnl_vector<T> with these matrices.

Definition at line 85 of file vnl_matrix.h.


Member Typedef Documentation

template<class T>
typedef vnl_c_vector<T>::abs_t vnl_matrix< T >::abs_t
 

Type def for norms.

Definition at line 426 of file vnl_matrix.h.

template<class T>
typedef T const* vnl_matrix< T >::const_iterator
 

Const iterators.

Definition at line 557 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::min_value(), and vnl_matrix< vcl_complex< T > >::rms().

template<class T>
typedef T vnl_matrix< T >::element_type
 

Definition at line 543 of file vnl_matrix.h.

template<class T>
typedef T* vnl_matrix< T >::iterator
 

Iterators.

Definition at line 547 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::fro_norm(), and vnl_matrix< vcl_complex< T > >::frobenius_norm().


Constructor & Destructor Documentation

template<class T>
vnl_matrix< T >::vnl_matrix   [inline]
 

Default constructor creates an empty matrix of size 0,0.

Definition at line 89 of file vnl_matrix.h.

template<class T>
vnl_matrix< T >::vnl_matrix unsigned    r,
unsigned    c
 

Construct a matrix of size r rows by c columns. Contents are unspecified. Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix unsigned    r,
unsigned    c,
T const &    v0
 

Construct a matrix of size r rows by c columns, and all emelemnts equal to v0. Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix unsigned    r,
unsigned    c,
vnl_matrix_type    t
 

Construct a matrix of size r rows by c columns, with a special type. Contents are specified by t Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix unsigned    r,
unsigned    c,
unsigned    n,
T const    values[]
 

Construct a matrix of size r rows by c columns, initialised by an automatic array. The first n elements, are initialised row-wise, to values. Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix T const *    data_block,
unsigned    r,
unsigned    c
 

Construct a matrix of size r rows by c columns, initialised by a memory block. The values are initialise row wise from the data. Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   
 

Copy construct a matrix. Complexity /f

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > &    that,
const vnl_tag_grab  
[inline]
 

Construct a matrix of size r rows by c columns, by taking ownership of another matrixes contents. The other matrix is rezised to empty.

Definition at line 133 of file vnl_matrix.h.

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
vnl_matrix< T > const &   ,
const vnl_tag_add  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
vnl_matrix< T > const &   ,
const vnl_tag_sub  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
 ,
const vnl_tag_mul  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
 ,
const vnl_tag_div  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
 ,
const vnl_tag_add  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
 ,
const vnl_tag_sub  
 

template<class T>
vnl_matrix< T >::vnl_matrix vnl_matrix< T > const &   ,
vnl_matrix< T > const &   ,
const vnl_tag_mul  
 

template<class T>
vnl_matrix< T >::~vnl_matrix   [inline]
 

Matrix destructor.

Definition at line 155 of file vnl_matrix.h.


Member Function Documentation

template<class T>
abs_t vnl_matrix< T >::absolute_value_max   const [inline]
 

Return largest absolute value.

Definition at line 446 of file vnl_matrix.h.

template<class T>
abs_t vnl_matrix< T >::absolute_value_sum   const [inline]
 

Return sum of absolute values of elements.

Definition at line 442 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::apply T(*    f)(T const &) const
 

Make a new matrix by applying function to each element.

template<class T>
vnl_matrix<T> vnl_matrix< T >::apply T(*    f)(T) const
 

Make a new matrix by applying function to each element.

template<class T>
abs_t vnl_matrix< T >::array_inf_norm   const [inline]
 

Return largest absolute element value.

Definition at line 438 of file vnl_matrix.h.

template<class T>
abs_t vnl_matrix< T >::array_one_norm   const [inline]
 

Return sum of absolute values of elements.

Definition at line 430 of file vnl_matrix.h.

template<class T>
abs_t vnl_matrix< T >::array_two_norm   const [inline]
 

Return square root of sum of squared absolute element values.

Definition at line 434 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::assert_finite   const
 

template<class T>
void vnl_matrix< T >::assert_size unsigned    rows,
unsigned    cols
const
 

template<class T>
const_iterator vnl_matrix< T >::begin   const [inline]
 

Iterator pointing to start of data.

Definition at line 560 of file vnl_matrix.h.

template<class T>
iterator vnl_matrix< T >::begin   [inline]
 

Iterator pointing to start of data.

Definition at line 550 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::clear  
 

Make the matrix as if it had been default-constructed.

template<class T>
unsigned vnl_matrix< T >::cols   const [inline]
 

Return number of columns. A synonym for columns()

Definition at line 174 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::operator-(), and vnl_matrix< vcl_complex< T > >::rows().

template<class T>
unsigned vnl_matrix< T >::columns   const [inline]
 

Return number of columns.

Definition at line 168 of file vnl_matrix.h.

Referenced by vnl_transpose::asMatrix(), vnl_diag_matrix< T >::determinant(), vnl_transpose::operator *(), and vnl_matrix_fixed< T, 3, 3 >::vnl_matrix_fixed().

template<class T>
vnl_matrix<T> vnl_matrix< T >::conjugate_transpose   const
 

Return conjugate transpose.

template<class T>
void vnl_matrix< T >::copy_in T const *   
 

Fill (laminate) this matrix with the given data. We assume that p points to a contiguous rows*cols array, stored rowwise.

Referenced by vnl_matrix< vcl_complex< T > >::operator()().

template<class T>
void vnl_matrix< T >::copy_out T *    const
 

Fill the given array with this matrix. We assume that p points to a contiguous rows*cols array, stored rowwise. No bounds checking on the array

template<class T>
T* * vnl_matrix< T >::data_array   [inline]
 

Access the 2D array, so that elements can be accessed with array[row][col] directly. 2d array, [row][column].

Definition at line 541 of file vnl_matrix.h.

template<class T>
T const* const* vnl_matrix< T >::data_array   const [inline]
 

Access the 2D array, so that elements can be accessed with array[row][col] directly. 2d array, [row][column].

Definition at line 536 of file vnl_matrix.h.

template<class T>
T* vnl_matrix< T >::data_block   [inline]
 

Access the contiguous block storing the elements in the matrix row-wise.\ O(1). 1d array, row-major order.

Definition at line 531 of file vnl_matrix.h.

template<class T>
T const* vnl_matrix< T >::data_block   const [inline]
 

Access the contiguous block storing the elements in the matrix row-wise.\ O(1). 1d array, row-major order.

Definition at line 526 of file vnl_matrix.h.

Referenced by vnl_matrix_fixed< T, 3, 3 >::operator=(), and vnl_matrix_fixed< T, 3, 3 >::vnl_matrix_fixed().

template<class T>
void vnl_matrix< T >::destroy   [protected]
 

Delete data.

template<class T>
const_iterator vnl_matrix< T >::end   const [inline]
 

Iterator pointing to element beyond end of data.

Definition at line 563 of file vnl_matrix.h.

template<class T>
iterator vnl_matrix< T >::end   [inline]
 

Iterator pointing to element beyond end of data.

Definition at line 553 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::extract unsigned    rows,
unsigned    cols,
unsigned    top = 0,
unsigned    left = 0
const
 

Extract a sub-matrix of size rows x cols, starting at (top,left). Thus it contains elements [top,top+rows-1][left,left+cols-1]

template<class T>
void vnl_matrix< T >::fill T const &   
 

Set all elements of matrix to specified value. Complexity /f

Referenced by itk::Matrix< TMatrixElement, VNumberOfRows, VNumberOfRows >::Fill(), and vnl_matrix< vcl_complex< T > >::operator()().

template<class T>
void vnl_matrix< T >::fill_diagonal T const &   
 

Set all diagonal elements of matrix to specified value. Complexity /f

template<class T>
void vnl_matrix< T >::fliplr  
 

Reverse order of columns.

template<class T>
void vnl_matrix< T >::flipud  
 

Reverse order of rows.

template<class T>
abs_t vnl_matrix< T >::fro_norm   const [inline]
 

Return frobenius norm of matrix (sqrt of sum of squares of its elements).

Definition at line 460 of file vnl_matrix.h.

template<class T>
abs_t vnl_matrix< T >::frobenius_norm   const [inline]
 

Return frobenius norm of matrix (sqrt of sum of squares of its elements).

Definition at line 456 of file vnl_matrix.h.

template<class T>
T vnl_matrix< T >::get unsigned    r,
unsigned    c
const [inline]
 

get element with boundary checks if error checking is on.

Definition at line 631 of file vnl_matrix.h.

template<class T>
vnl_vector<T> vnl_matrix< T >::get_column unsigned    col const
 

Get a vector equal to the given column.

template<class T>
vnl_matrix<T> vnl_matrix< T >::get_n_columns unsigned    colstart,
unsigned    n
const
 

Get n columns beginning at colstart.

template<class T>
vnl_matrix<T> vnl_matrix< T >::get_n_rows unsigned    rowstart,
unsigned    n
const
 

Get n rows beginning at rowstart.

template<class T>
vnl_vector<T> vnl_matrix< T >::get_row unsigned    row const
 

Get a vector equal to the given row.

Referenced by vnl_complex_eigensystem::eigen_value(), and vnl_complex_eigensystem::left_eigen_vector().

template<class T>
bool vnl_matrix< T >::has_nans   const
 

Return true if matrix contains NaNs.

template<class T>
abs_t vnl_matrix< T >::inf_norm void *    const [inline]
 

Definition at line 485 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::inline_function_tickler   [static, protected]
 

template<class T>
void vnl_matrix< T >::inplace_transpose  
 

Transpose this matrix efficiently.

template<class T>
bool vnl_matrix< T >::is_finite   const
 

Return true if finite.

template<class T>
bool vnl_matrix< T >::is_identity double    tol = 0 const
 

Return true if all elements equal to identity, within given tolerance.

template<class T>
bool vnl_matrix< T >::is_zero double    tol = 0 const
 

Return true if all elements equal to zero, within given tolerance.

template<class T>
T vnl_matrix< T >::max_value   const [inline]
 

Return maximum value of elements.

Definition at line 472 of file vnl_matrix.h.

template<class T>
T vnl_matrix< T >::mean   const [inline]
 

Return mean of all matrix elements.

Definition at line 476 of file vnl_matrix.h.

template<class T>
T vnl_matrix< T >::min_value   const [inline]
 

Return minimum value of elements.

Definition at line 468 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::normalize_columns  
 

Normalize each column so it is a unit vector. Zero columns are ignored

template<class T>
void vnl_matrix< T >::normalize_rows  
 

Normalize each row so it is a unit vector. Zero rows are ignored

template<class T>
abs_t vnl_matrix< T >::one_norm void *    const [inline]
 

Definition at line 484 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator * vnl_matrix< T > const &    rhs const [inline]
 

Matrix multiply lhs by rhs matrix and return result in new matrix.

Definition at line 309 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator * T const &    v const [inline]
 

Scalar multiplication of lhs matrix by rhs and return result in new matrix.

Definition at line 295 of file vnl_matrix.h.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator *= vnl_matrix< T > const &    rhs [inline]
 

Multiply lhs matrix in situ by rhs.

Definition at line 278 of file vnl_matrix.h.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator *=   value
 

Scalar multiplication in situ of lhs matrix by rhs.

template<class T>
bool vnl_matrix< T >::operator!= vnl_matrix< T > const &    that const [inline]
 

Inequality operator.

Definition at line 577 of file vnl_matrix.h.

template<class T>
T const& vnl_matrix< T >::operator() unsigned    r,
unsigned    c
const [inline]
 

Access an element for reading. no boundary checks here. meant to be fast.

Definition at line 207 of file vnl_matrix.h.

template<class T>
T& vnl_matrix< T >::operator() unsigned    r,
unsigned    c
[inline]
 

Access an element for reading or writing. no boundary checks here. meant to be fast.

Definition at line 202 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator+ vnl_matrix< T > const &    rhs const [inline]
 

Matrix add rhs to lhs matrix and return result in new matrix.

Definition at line 303 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator+ T const &    v const [inline]
 

Add rhs to each element of lhs matrix and return result in new matrix.

Definition at line 287 of file vnl_matrix.h.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator+= vnl_matrix< T > const &   
 

Add rhs to lhs matrix in situ.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator+=   value
 

Add rhs to each element of lhs matrix in situ.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator- vnl_matrix< T > const &    rhs const [inline]
 

Matrix subtract rhs from lhs and return result in new matrix.

Definition at line 306 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator- T const &    v const [inline]
 

Subtract rhs from each element of lhs matrix and return result in new matrix.

Definition at line 291 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator-   const
 

Negate all elements of matrix.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator-= vnl_matrix< T > const &   
 

Subtract rhs from lhs matrix in situ.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator-=   value
 

Subtract rhs from each element of lhs matrix in situ.

template<class T>
vnl_matrix<T> vnl_matrix< T >::operator/ T const &    v const [inline]
 

Scalar division of lhs matrix by rhs and return result in new matrix.

Definition at line 299 of file vnl_matrix.h.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator/=   value
 

Scalar division of lhs matrix in situ by rhs.

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator= vnl_matrix< T > const &   
 

Copies all elements of rhs matrix into lhs matrix. Complexity /f

template<class T>
vnl_matrix<T>& vnl_matrix< T >::operator= T const &    v [inline]
 

Set all elements to value v. Complexity /f

Definition at line 243 of file vnl_matrix.h.

template<class T>
bool vnl_matrix< T >::operator== vnl_matrix< T > const &    that const [inline]
 

Equality operator.

Definition at line 573 of file vnl_matrix.h.

template<class T>
T const* vnl_matrix< T >::operator[] unsigned    r const [inline]
 

return pointer to given row. No boundary checking here.

Definition at line 197 of file vnl_matrix.h.

template<class T>
T* vnl_matrix< T >::operator[] unsigned    r [inline]
 

return pointer to given row. No boundary checking here.

Definition at line 192 of file vnl_matrix.h.

template<class T>
bool vnl_matrix< T >::operator_eq vnl_matrix< T > const &    rhs const
 

Return true if *this == rhs.

Referenced by vnl_matrix< vcl_complex< T > >::mean().

template<class T>
abs_t vnl_matrix< T >::operator_inf_norm   const
 

template<class T>
abs_t vnl_matrix< T >::operator_one_norm   const
 

template<class T>
void vnl_matrix< T >::print vcl_ostream &    os const
 

Print matrix to os in some hopefully sensible format.

template<class T>
void vnl_matrix< T >::put unsigned    r,
unsigned    c,
T const &   
[inline]
 

set element with boundary checks if error checking is on.

Definition at line 646 of file vnl_matrix.h.

template<class T>
vnl_matrix<T> vnl_matrix< T >::read vcl_istream &    s [static]
 

template<class T>
bool vnl_matrix< T >::read_ascii vcl_istream &    s
 

template<class T>
bool vnl_matrix< T >::resize unsigned    r,
unsigned    c
 

Resize to r rows by c columns.\ Old data lost. returns true if size changed.

Reimplemented in vnl_matrix_fixed_ref< T, m, n >, vnl_matrix_fixed_ref< TScalarType, m, n >, and vnl_matrix_fixed_ref< double, m, n >.

template<class T>
abs_t vnl_matrix< T >::rms   const [inline]
 

Return RMS of all elements.

Definition at line 464 of file vnl_matrix.h.

template<class T>
unsigned vnl_matrix< T >::rows   const [inline]
 

Return number of rows.

Definition at line 164 of file vnl_matrix.h.

Referenced by vnl_diag_matrix< T >::determinant(), vnl_transpose::operator *(), vnl_matrix< vcl_complex< T > >::operator-(), vnl_matrix< vcl_complex< T > >::rows(), and vnl_matrix_fixed< T, 3, 3 >::vnl_matrix_fixed().

template<class T>
void vnl_matrix< T >::scale_column unsigned    col,
  value
 

Scale elements in given column by a factor of T.

template<class T>
void vnl_matrix< T >::scale_row unsigned    row,
  value
 

Scale elements in given row by a factor of T.

template<class T>
void vnl_matrix< T >::set T const *    d [inline]
 

Fill (laminate) this matrix with the given data. A synonym for copy_in()

Definition at line 230 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::set_column unsigned    j,
vnl_vector< T > const &    v
 

Set j-th colum to v.

template<class T>
void vnl_matrix< T >::set_column unsigned    i,
  value
 

Set the elements of the i'th column to value.

template<class T>
void vnl_matrix< T >::set_column unsigned    i,
T const *    v
 

Set the elements of the i'th column to v[j] (No bounds checking).

template<class T>
void vnl_matrix< T >::set_columns unsigned    starting_column,
vnl_matrix< T > const &    M
 

Set columns to those in M, starting at starting_column.

template<class T>
void vnl_matrix< T >::set_identity  
 

Set this matrix to an identity matrix. Abort if the matrix is not square

Referenced by itk::KalmanLinearEstimator< T, VEstimatorDimension >::ClearVariance(), itk::Matrix< TMatrixElement, VNumberOfRows, VNumberOfRows >::SetIdentity(), and itk::KalmanLinearEstimator< T, VEstimatorDimension >::SetVariance().

template<class T>
void vnl_matrix< T >::set_row unsigned    i,
vnl_vector< T > const &   
 

Set the i-th row.

template<class T>
void vnl_matrix< T >::set_row unsigned    i,
  value
 

Set the elements of the i'th row to value.

template<class T>
void vnl_matrix< T >::set_row unsigned    i,
T const *    v
 

Set the elements of the i'th row to v[j] (No bounds checking).

template<class T>
unsigned vnl_matrix< T >::size void    const [inline]
 

Return number of elements. This equals rows() * cols()

Definition at line 179 of file vnl_matrix.h.

template<class T>
void vnl_matrix< T >::swap vnl_matrix< T > &    that
 

Swap this matrix with that matrix.

template<class T>
vnl_matrix<T> vnl_matrix< T >::transpose   const
 

Return transpose.

Referenced by vnl_symmetric_eigensystem< T >::nullvector(), vnl_transpose::operator vnl_matrix(), and vnl_transpose::vnl_transpose().

template<class T>
vnl_matrix<T>& vnl_matrix< T >::update vnl_matrix< T > const &   ,
unsigned    top = 0,
unsigned    left = 0
 

Set values of this matrix to those of M, starting at [top,left].


Member Data Documentation

template<class T>
T** vnl_matrix< T >::data [protected]
 

Definition at line 597 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::absolute_value_max(), vnl_matrix< vcl_complex< T > >::absolute_value_sum(), vnl_matrix< vcl_complex< T > >::array_inf_norm(), vnl_matrix< vcl_complex< T > >::begin(), vnl_matrix< vcl_complex< T > >::cols(), vnl_matrix< vcl_complex< T > >::data_array(), vnl_matrix< vcl_complex< T > >::fro_norm(), vnl_matrix< vcl_complex< T > >::frobenius_norm(), vnl_matrix< vcl_complex< T > >::inf_norm(), vnl_matrix< vcl_complex< T > >::min_value(), vnl_matrix< vcl_complex< T > >::rms(), vnl_matrix< vcl_complex< T > >::size(), and vnl_matrix< vcl_complex< T > >::vnl_matrix().

template<class T>
unsigned vnl_matrix< T >::num_cols [protected]
 

Definition at line 596 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::data_block(), vnl_matrix< vcl_complex< T > >::fro_norm(), vnl_matrix< vcl_complex< T > >::inf_norm(), vnl_matrix< vcl_complex< T > >::min_value(), and vnl_matrix< vcl_complex< T > >::~vnl_matrix().

template<class T>
unsigned vnl_matrix< T >::num_rows [protected]
 

Definition at line 595 of file vnl_matrix.h.

Referenced by vnl_matrix< vcl_complex< T > >::data_block(), vnl_matrix< vcl_complex< T > >::fro_norm(), vnl_matrix< vcl_complex< T > >::inf_norm(), and vnl_matrix< vcl_complex< T > >::min_value().


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:17:09 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000