Classes | Functions
core/vnl/vnl_diag_matrix_fixed.h File Reference

Contains class for diagonal matrices. More...

#include <vcl_cassert.h>
#include <vcl_iosfwd.h>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_matrix_fixed.h>

Go to the source code of this file.

Classes

class  vnl_diag_matrix_fixed< T, N >
 stores a diagonal matrix as a single vector. More...

Functions

template<class T , unsigned int N>
vnl_vector_fixed< T, N > operator* (vnl_diag_matrix_fixed< T, N > const &D, vnl_vector_fixed< T, N > const &A)
 Multiply a vnl_diag_matrix_fixed by a vnl_vector_fixed. n flops.
template<class T , unsigned int N>
vcl_ostream & operator<< (vcl_ostream &, vnl_diag_matrix_fixed< T, N > const &)
 Print in MATLAB diag([1 2 3]) form.
template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator* (vnl_diag_matrix_fixed< T, N > const &A, vnl_diag_matrix_fixed< T, N > const &B)
 Multiply two vnl_diag_matrices. Just multiply the diag elements - n flops.
template<class T , unsigned int R, unsigned int C>
vnl_matrix_fixed< T, R, C > operator* (vnl_matrix_fixed< T, R, C > const &A, vnl_diag_matrix_fixed< T, C > const &D)
 Multiply a vnl_matrix by a vnl_diag_matrix_fixed. Just scales the columns - mn flops.
template<class T , unsigned int R, unsigned int C>
vnl_matrix_fixed< T, R, C > operator* (vnl_diag_matrix_fixed< T, R > const &D, vnl_matrix_fixed< T, R, C > const &A)
 Multiply a vnl_diag_matrix_fixed by a vnl_matrix. Just scales the rows - mn flops.
template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator+ (vnl_diag_matrix_fixed< T, N > const &A, vnl_diag_matrix_fixed< T, N > const &B)
 Add two vnl_diag_matrices. Just add the diag elements - n flops.
template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator+ (vnl_matrix_fixed< T, N, N > const &A, vnl_diag_matrix_fixed< T, N > const &D)
 Add a vnl_diag_matrix_fixed to a vnl_matrix. n adds, mn copies.
template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator+ (vnl_diag_matrix_fixed< T, N > const &D, vnl_matrix_fixed< T, N, N > const &A)
 Add a vnl_matrix to a vnl_diag_matrix_fixed. n adds, mn copies.
template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator- (vnl_diag_matrix_fixed< T, N > const &A, vnl_diag_matrix_fixed< T, N > const &B)
 Subtract two vnl_diag_matrices. Just subtract the diag elements - n flops.
template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator- (vnl_matrix_fixed< T, N, N > const &A, vnl_diag_matrix_fixed< T, N > const &D)
 Subtract a vnl_diag_matrix_fixed from a vnl_matrix. n adds, mn copies.
template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator- (vnl_diag_matrix_fixed< T, N > const &D, vnl_matrix_fixed< T, N, N > const &A)
 Subtract a vnl_matrix from a vnl_diag_matrix_fixed. n adds, mn copies.
template<class T , unsigned int N>
vnl_vector_fixed< T, N > operator* (vnl_vector_fixed< T, N > const &A, vnl_diag_matrix_fixed< T, N > const &D)
 Multiply a vnl_vector_fixed by a vnl_diag_matrix_fixed. n flops.

Detailed Description

Contains class for diagonal matrices.

Author:
Andrew W. Fitzgibbon (Oxford RRG)
Date:
5 Aug 1996
    Modifications
     IMS (Manchester) 16 Mar 2001: Tidied up the documentation + added binary_io
     Feb.2002 - Peter Vanroose - brief doxygen comment placed on single line
     Sep.2002 - Peter Vanroose - Added operator+, operator-, operator*
     Mar.2004 - Peter Vanroose - removed deprecated resize()
     Oct.2010 - Peter Vanroose - mutators and setters now return *this
     Jan.2011 - Peter Vanroose - added methods set_diagonal() & get_diagonal()
   

Definition in file vnl_diag_matrix_fixed.h.


Function Documentation

template<class T , unsigned int N>
vnl_vector_fixed< T, N > operator* ( vnl_diag_matrix_fixed< T, N > const &  D,
vnl_vector_fixed< T, N > const &  A 
) [inline]

Multiply a vnl_diag_matrix_fixed by a vnl_vector_fixed. n flops.

Definition at line 313 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator* ( vnl_diag_matrix_fixed< T, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  B 
) [inline]

Multiply two vnl_diag_matrices. Just multiply the diag elements - n flops.

Definition at line 198 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int R, unsigned int C>
vnl_matrix_fixed< T, R, C > operator* ( vnl_matrix_fixed< T, R, C > const &  A,
vnl_diag_matrix_fixed< T, C > const &  D 
) [inline]

Multiply a vnl_matrix by a vnl_diag_matrix_fixed. Just scales the columns - mn flops.

Definition at line 210 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int R, unsigned int C>
vnl_matrix_fixed< T, R, C > operator* ( vnl_diag_matrix_fixed< T, R > const &  D,
vnl_matrix_fixed< T, R, C > const &  A 
) [inline]

Multiply a vnl_diag_matrix_fixed by a vnl_matrix. Just scales the rows - mn flops.

Definition at line 223 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_vector_fixed< T, N > operator* ( vnl_vector_fixed< T, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  D 
) [inline]

Multiply a vnl_vector_fixed by a vnl_diag_matrix_fixed. n flops.

Definition at line 322 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator+ ( vnl_diag_matrix_fixed< T, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  B 
) [inline]

Add two vnl_diag_matrices. Just add the diag elements - n flops.

Definition at line 236 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator+ ( vnl_matrix_fixed< T, N, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  D 
) [inline]

Add a vnl_diag_matrix_fixed to a vnl_matrix. n adds, mn copies.

Definition at line 248 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator+ ( vnl_diag_matrix_fixed< T, N > const &  D,
vnl_matrix_fixed< T, N, N > const &  A 
) [inline]

Add a vnl_matrix to a vnl_diag_matrix_fixed. n adds, mn copies.

Definition at line 261 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_diag_matrix_fixed< T, N > operator- ( vnl_diag_matrix_fixed< T, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  B 
) [inline]

Subtract two vnl_diag_matrices. Just subtract the diag elements - n flops.

Definition at line 269 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator- ( vnl_matrix_fixed< T, N, N > const &  A,
vnl_diag_matrix_fixed< T, N > const &  D 
) [inline]

Subtract a vnl_diag_matrix_fixed from a vnl_matrix. n adds, mn copies.

Definition at line 281 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vnl_matrix_fixed< T, N, N > operator- ( vnl_diag_matrix_fixed< T, N > const &  D,
vnl_matrix_fixed< T, N, N > const &  A 
) [inline]

Subtract a vnl_matrix from a vnl_diag_matrix_fixed. n adds, mn copies.

Definition at line 294 of file vnl_diag_matrix_fixed.h.

template<class T , unsigned int N>
vcl_ostream & operator<< ( vcl_ostream &  ,
vnl_diag_matrix_fixed< T, N > const &   
)

Print in MATLAB diag([1 2 3]) form.

Definition at line 32 of file vnl_diag_matrix_fixed.txx.