Classes | Functions
vnl_diag_matrix_fixed.h File Reference

Contains class for diagonal matrices. More...

#include <iosfwd>
#include <cassert>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_matrix_fixed.h>
#include "vnl/vnl_export.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...
 
class  vnl_diag_matrix_fixed< T, N >
 stores a diagonal matrix as a single vector. More...
 

Functions

template<class T , unsigned int N>
VNL_EXPORT vnl_vector_fixed< T, N > operator * (vnl_diag_matrix_fixed< T, N > const &, vnl_vector_fixed< T, N > const &)
 Multiply a vnl_diag_matrix_fixed by a vnl_vector_fixed. n flops. More...
 
template<class T , unsigned int N>
VNL_EXPORT std::ostream & operator<< (std::ostream &, vnl_diag_matrix_fixed< T, N > const &)
 Print in MATLAB diag([1 2 3]) form. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

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

◆ operator *() [1/6]

template<class T , unsigned int N>
VNL_EXPORT vnl_vector_fixed<T,N> operator * ( vnl_diag_matrix_fixed< T, N > const &  ,
vnl_vector_fixed< T, N > const &   
)
inline

Multiply a vnl_diag_matrix_fixed by a vnl_vector_fixed. n flops.

Definition at line 337 of file vnl_diag_matrix_fixed.h.

◆ operator *() [2/6]

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 222 of file vnl_diag_matrix_fixed.h.

◆ operator *() [3/6]

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 234 of file vnl_diag_matrix_fixed.h.

◆ operator *() [4/6]

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 247 of file vnl_diag_matrix_fixed.h.

◆ operator *() [5/6]

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 337 of file vnl_diag_matrix_fixed.h.

◆ operator *() [6/6]

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 346 of file vnl_diag_matrix_fixed.h.

◆ operator+() [1/3]

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 260 of file vnl_diag_matrix_fixed.h.

◆ operator+() [2/3]

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 272 of file vnl_diag_matrix_fixed.h.

◆ operator+() [3/3]

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 285 of file vnl_diag_matrix_fixed.h.

◆ operator-() [1/3]

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 293 of file vnl_diag_matrix_fixed.h.

◆ operator-() [2/3]

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 305 of file vnl_diag_matrix_fixed.h.

◆ operator-() [3/3]

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 318 of file vnl_diag_matrix_fixed.h.

◆ operator<<()

template<class T , unsigned int N>
VNL_EXPORT std::ostream & operator<< ( std::ostream &  ,
vnl_diag_matrix_fixed< T, N > const &   
)

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

Definition at line 50 of file vnl_diag_matrix_fixed.hxx.