Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

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<typename T>
DenseMatrix<T> 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 $P:\ \ P_{i,j} = u_i v_j$ . NOTE: This does NOT conjugate either of the arguments; for that you need AddAdjointOuterProduct

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.

The adjoint outer product of u and v is a matrix $P:\ \ P_{i,j} = u_i v_j^*$ . 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  doxygen 1.4.4