/**
* Assignment operator for a
- * regular FullMatrix.
+ * regular FullMatrix. Note that
+ * since LAPACK expects matrices
+ * in transposed order, this
+ * transposition is included here.
*/
template <typename number2>
LAPACKFullMatrix<number> &
/**
* Assignment from different
- * matrix classes. This
+ * matrix classes, performing the
+ * usual conversion to the
+ * transposed format expected by LAPACK. This
* assignment operator uses
* iterators of the class
* MATRIX. Therefore, sparse
/**
* Matrix-vector-multiplication.
*
+ * Depending on previous
+ * transformations recorded in #state, the
+ * result of this function is one
+ * of
+ *
+ * <ul>
+ * <li> If #state is LAPACKSupport::matrix or
+ * LAPACKSupport::inverse_matrix,
+ * this will be a regular matrix
+ * vector product using LAPACK
+ * gemv().
+ * <li> If #state is
+ * LAPACKSupport::svd or
+ * LAPACKSupport::inverse_svd,
+ * this function first multiplies
+ * with the right transformation
+ * matrix, then with the diagonal
+ * matrix of singular values or
+ * their reciprocal values, and
+ * finally with the left
+ * trandformation matrix.
+ * </ul>
+ *
* The optional parameter
* <tt>adding</tt> determines, whether the
* result is stored in <tt>w</tt> or added
* if (!adding)
* <i>w = A*v</i>
*
- * Source and destination must
+ * @note Source and destination must
* not be the same vector.
*
* @note This template only
* Adding Matrix-vector-multiplication.
* <i>w += A*v</i>
*
- * Source and destination must
- * not be the same vector.
- *
- * @note This template only
- * exists for compile-time
- * compatibility with
- * FullMatrix. Implementation is
- * only available for <tt>VECTOR=Vector<number></tt>
+ * See the documentation of
+ * vmult() for details on the
+ * implementation.
*/
template <class VECTOR>
void vmult_add (VECTOR& w, const VECTOR& v) const;
* if (!adding)
* <i>w = A<sup>T</sup>*v</i>
*
- *
- * Source and destination must
- * not be the same vector.
- *
- * @note This template only
- * exists for compile-time
- * compatibility with
- * FullMatrix. Implementation is
- * only available for <tt>VECTOR=Vector<number></tt>
+ * See the documentation of
+ * vmult() for details on the
+ * implementation.
*/
template <class VECTOR>
void Tvmult (VECTOR& w, const VECTOR& v,
* matrix-vector-multiplication.
* <i>w += A<sup>T</sup>*v</i>
*
- * Source and destination must
- * not be the same vector.
- *
- * @note This template only
- * exists for compile-time
- * compatibility with
- * FullMatrix. Implementation is
- * only available for <tt>VECTOR=Vector<number></tt>
+ * See the documentation of
+ * vmult() for details on the
+ * implementation.
*/
template <class VECTOR>
void Tvmult_add (VECTOR& w, const VECTOR& v) const;