Functions
contrib/mul/mbl/mbl_matxvec.h File Reference

Various specialised versions of simple linear algebra operators. More...

#include <vnl/vnl_fwd.h>

Go to the source code of this file.

Functions

void mbl_matxvec_prod_mv (const vnl_matrix< double > &M, const vnl_vector< double > &V, vnl_vector< double > &R)
 Compute R = M*V.
void mbl_matxvec_prod_mv_2 (const vnl_matrix< double > &M, const vnl_vector< double > &V, vnl_vector< double > &R)
 Compute R = M*V.
void mbl_matxvec_prod_vm (const vnl_vector< double > &V, const vnl_matrix< double > &M, vnl_vector< double > &R)
 Fast Compute R = V' * M = ( M.transpose() * V ).transpose().
void mbl_matxvec_add_prod_vm (const vnl_vector< double > &V, const vnl_matrix< double > &M, vnl_vector< double > &R)
 Fast Compute R += V' * M = ( M.transpose() * V ).transpose().

Detailed Description

Various specialised versions of simple linear algebra operators.

Author:
Tim Cootes
Date:
3-Oct-97 Modifications
   TFC    Revised version 3-Oct-97
   TFC    Added TC_MatXVec2
   NPC    Added NC_VecXMat
   IMS    started conversion to VXL 18 April 2001
   

Some of the code in this file has been converted to use VXL, the rest has been #if-ed out. Only convert the other functions as they are needed, and after checking that a suitable function doesn't already exist in VXL.

Definition in file mbl_matxvec.h.


Function Documentation

void mbl_matxvec_add_prod_vm ( const vnl_vector< double > &  V,
const vnl_matrix< double > &  M,
vnl_vector< double > &  R 
)

Fast Compute R += V' * M = ( M.transpose() * V ).transpose().

Only use the first R.size() columns of M R is not resized - its size determines how many columns to use Ensure that V.elems() == M.rows().

NDEBUG

NDEBUG

Definition at line 255 of file mbl_matxvec.cxx.

void mbl_matxvec_prod_mv ( const vnl_matrix< double > &  M,
const vnl_vector< double > &  V,
vnl_vector< double > &  R 
)

Compute R = M*V.

Only use first V.size() columns of M R is resized to the number of rows of M

Definition at line 95 of file mbl_matxvec.cxx.

void mbl_matxvec_prod_mv_2 ( const vnl_matrix< double > &  M,
const vnl_vector< double > &  V,
vnl_vector< double > &  R 
)

Compute R = M*V.

Only use first V.size() columns of M Only use first R.size() rows of M R is not resized - its size determines how many rows to use

Definition at line 113 of file mbl_matxvec.cxx.

void mbl_matxvec_prod_vm ( const vnl_vector< double > &  V,
const vnl_matrix< double > &  M,
vnl_vector< double > &  R 
)

Fast Compute R = V' * M = ( M.transpose() * V ).transpose().

Only use the first R.size() columns of M R is not resized - its size determines how many columns to use Ensure that V.elems() == M.rows().

Definition at line 244 of file mbl_matxvec.cxx.