Collaboration diagram for Dot products:
![]() |
Functions | |
template<typename T> | |
T | dot (const Vector< T > &v1, const Vector< T > &v2) |
Returns the dot product between v1 and v2 : ![]() | |
template<typename T> | |
T | c_dot (const Vector< T > &v1, const Vector< T > &v2) |
Returns the conjugate dot product between v1 and v2 : ![]() | |
template<typename T> | |
T | dot (const Matrix< T > &m1, const Matrix< T > &m2) |
Returns the Hilbert-Schmidt dot product between m1 and m2 : ![]() | |
template<typename T> | |
T | c_dot (const Matrix< T > &m1, const Matrix< T > &m2) |
Returns the Hilbert-Schmidt conjugate dot product between m1 and m2 : ![]() | |
template<typename T> | |
T | dot (const DenseVector< T > &v1, const DenseVector< T > &v2) |
Returns the dot product between v1 and v2 : ![]() | |
template<typename T> | |
T | dot (const DenseMatrix< T > &m1, const DenseMatrix< T > &m2) |
Returns the Hilbert-Schmidt dot product between m1 and m2 : ![]() | |
template<typename T> | |
T | c_dot (const DenseMatrix< T > &m1, const DenseMatrix< T > &m2) |
Returns the Hilbert-Schmidt conjugate dot product between m1 and m2 : ![]() | |
template<> | |
double | dot (const DenseVector< double > &v1, const DenseVector< double > &v2) |
Computes the dot product between two DenseVector<double> objects. Uses BLAS if possible. | |
template<> | |
double | c_dot (const DenseVector< double > &v1, const DenseVector< double > &v2) |
Computes the conjugate dot product between two DenseVector<double> objects. Uses BLAS if possible. | |
template<> | |
complex | dot (const DenseVector< complex > &v1, const DenseVector< complex > &v2) |
Computes the dot product between two DenseVector<complex> objects. Uses BLAS if possible. | |
template<> | |
complex | c_dot (const DenseVector< complex > &v1, const DenseVector< complex > &v2) |
Computes the conjugate dot product between two DenseVector<complex> objects. Uses BLAS if possible. | |
template<> | |
double | dot (const DenseMatrix< double > &m1, const DenseMatrix< double > &m2) |
Computes the Hilbert-Schmidt dot product of two DenseMatrix<double> objects. Uses BLAS if possible. | |
template<> | |
double | c_dot (const DenseMatrix< double > &m1, const DenseMatrix< double > &m2) |
Computes the Hilbert-Schmidt conjugate dot product of two DenseMatrix<double> objects. Uses BLAS if possible. | |
template<> | |
complex | dot (const DenseMatrix< complex > &m1, const DenseMatrix< complex > &m2) |
Computes the dot product of two DenseMatrix<complex> objects. Uses BLAS if possible. | |
template<> | |
complex | c_dot (const DenseMatrix< complex > &m1, const DenseMatrix< complex > &m2) |
Computes the conjugate dot product of two DenseMatrix<complex> objects. Uses BLAS if possible. |
|
Returns the conjugate dot product between This is usually the appropriate dot product to use for complex vectors, but it is not symmetric with respect to the arguments -- the first one is the one that gets conjugated! |
|
Computes the conjugate dot product between two DenseVector<double> objects. Uses BLAS if possible.
For vectors of |
|
Computes the dot product between two DenseVector<complex> objects. Uses BLAS if possible. This is probably not the function you're looking for; complex vectors should usually be conjugate dotted. |
|
Computes the conjugate dot product between two DenseVector<complex> objects. Uses BLAS if possible. This is usually the correct way to compute the dot product of two complex vectors, as a sesquilinear form. |
|
Computes the Hilbert-Schmidt conjugate dot product of two DenseMatrix<double> objects. Uses BLAS if possible. Since conjugation is trivial for real numbers, this duplicates the functionality of dot( m1, m2). |
|
Computes the dot product of two DenseMatrix<complex> objects. Uses BLAS if possible.
This is computed as |
|
Computes the conjugate dot product of two DenseMatrix<complex> objects. Uses BLAS if possible.
This is computed as |