21 #include "libmesh/tensor_shell_matrix.h"
31 dest.
scale(_w.dot(arg));
40 dest.
add(_w.dot(arg),_v);
virtual void vector_mult_add(NumericVector< T > &dest, const NumericVector< T > &arg) const override
将矩阵与参数arg相乘,然后将结果添加到dest中。
virtual void get_diagonal(NumericVector< T > &dest) const override
将矩阵的对角部分复制到dest中。
virtual void scale(const T factor)=0
缩放向量的每个元素。
由两个向量的张量积构成的壳矩阵,即A = v*w^T。
virtual void pointwise_mult(const NumericVector< T > &vec1, const NumericVector< T > &vec2)=0
比较该向量与另一个向量的全局相对差异。
virtual void vector_mult(NumericVector< T > &dest, const NumericVector< T > &arg) const override
将矩阵与参数arg相乘,并将结果存储在dest中。
virtual void add(const numeric_index_type i, const T value)=0
将 value 添加到由 i 指定的向量条目。 请注意,此方法的库实现是线程安全的, 例如,将在写入向量之前锁定 _numeric_vector_mutex 。