# Multiplication [Non-member C-style functions]

Collaboration diagram for Multiplication:

Non-member methods that multiply one object by another. More...

## Functions

template<typename T>
void Multiply (DenseMatrix< T > &result, const Matrix< T > &m, T scalar)
Multiplies a matrix by a scalar, and stores the result.
template<typename T>
void Multiply (DenseMatrix< T > &result, const Matrix< T > &m1, const Matrix< T > &m2)
Multiplies two matrices and stores the result.
template<typename T>
void Multiply (DenseVector< T > &result, const Matrix< T > &m, const Vector< T > &v)
Multiplies a vector by a matrix (from the left), and stores the result.
template<typename T>
void Multiply (DenseVector< T > &result, const Vector< T > &v, const Matrix< T > &m)
Multiplies a vector by a matrix (from the right), and stores the result.
template<typename T>
void Multiply (DenseMatrix< T > &result, const DenseMatrix< T > &m1, const DenseMatrix< T > &m2)
Multiplies two matrices and stores the result. Uses BLAS if possible (T = complex, double).
template<typename T>
void Multiply (DenseVector< T > &result, const DenseMatrix< T > &m, const DenseVector< T > &v)
Multiplies a vector by a matrix (from the left), and stores the result. Uses BLAS if possible (T = complex, double).
template<typename T>
void Multiply (DenseVector< T > &result, const DenseVector< T > &v, const DenseMatrix< T > &m)
Multiplies a vector by a matrix (from the right), and stores the result. Uses BLAS if possible (T = complex, double).
template<typename T>
DenseMatrix< T > OuterProduct (const DenseVector< T > &v1, const DenseVector< T > &v2)
Returns the outer product of two vectors, as a matrix;.
template<typename T>
DenseMatrix< T > AdjointOuterProduct (const DenseVector< T > &v1, const DenseVector< T > &v2)
Returns the adjoint outer product of two vectors, as a matrix.
template<>
void Multiply (DenseVector< complex > &result, const DenseVector< complex > &v, complex scalar)
Scales a DenseVector<complex> by a scalar, storing the result in another. Uses BLAS if possible.
template<>
void MultiplyBy (DenseVector< complex > &result, complex scalar)
Scales a DenseVector<complex> by a scalar in place. Uses BLAS if possible.
template<>
void Multiply (DenseMatrix< double > &result, const DenseMatrix< double > &m1, const DenseMatrix< double > &m2)
Multiplies one DenseMatrix<double> by another, storing the result in a third. Uses BLAS if possible.
template<>
void Multiply (DenseMatrix< complex > &result, const DenseMatrix< complex > &m1, const DenseMatrix< complex > &m2)
Multiplies one DenseMatrix<complex> by another, storing the result in a third. Uses BLAS if possible.
template<>
void Multiply (DenseVector< complex > &result, const DenseMatrix< complex > &m, const DenseVector< complex > &v)
Multiplies a DenseVector<complex> by a DenseMatrix<complex> from the left and stores the result in another DenseVector<complex>. Uses BLAS if possible.
template<>
void Multiply (DenseVector< complex > &result, const DenseVector< complex > &v, const DenseMatrix< complex > &m)
Multiplies a DenseVector<complex> by a DenseMatrix<complex> from the right and stores the result in another DenseVector<complex>. Uses BLAS if possible.
template<>
void Multiply (DenseVector< double > &result, const DenseMatrix< double > &m, const DenseVector< double > &v)
Multiplies a DenseVector<double> by a DenseMatrix<double> from the left and stores the result in another DenseVector<double>. Uses BLAS if possible.
template<>
void Multiply (DenseVector< double > &result, const DenseVector< double > &v, const DenseMatrix< double > &m)
Multiplies a DenseVector<double> by a DenseMatrix<double> from the right and stores the result in another DenseVector<double>. Uses BLAS if possible.

## Detailed Description

Non-member methods that multiply one object by another.

## Function Documentation

 template DenseMatrix OuterProduct ( const DenseVector< T > & v1, const DenseVector< T > & v2 )
 Returns the outer product of two vectors, as a matrix;. The outer product of `u` and `v` is a matrix . NOTE: This does NOT conjugate either of the arguments; for that you need AddAdjointOuterProduct

 template DenseMatrix AdjointOuterProduct ( const DenseVector< T > & v1, const DenseVector< T > & v2 )
 Returns the adjoint outer product of two vectors, as a matrix. The adjoint outer product of `u` and `v` is a matrix . For complex matrices, this is typically the right thing to use (rather than AddOuterProduct)

Generated on Wed Jun 14 22:25:32 2006 for linalg by  1.4.4