message: Add docs for Dense routines
diff: @@ -214,6 +214,39 @@ public:
  return values_.get_const_data()[linearize_index(idx)];
  }
  + /**
  + * Scales the matrix with a scalar (aka: BLAS scal).
  + *
  + * @param alpha If alpha is 1x1 Dense matrix, the entire matrix is scaled
  + * by alpha. If it is a Dense column vector of values,
  + * then i-th column of the matrix is scaled with the i-th
  + * element of alpha (the number of rows of alpha has to match
  + * the number of columns of the matrix).
  + */
  + virtual void scale(const LinOp *alpha);
  +
  + /**
  + * Adds `b` scaled by `alpha` to the matrix (aka: BLAS axpy).
  + *
  + * @param alpha If alpha is 1x1 Dense matrix, the entire matrix is scaled
  + * by alpha. If it is a Dense column vector of values,
  + * then i-th column of the matrix is scaled with the i-th
  + * element of alpha (the number of rows of alpha has to match
  + * the number of columns of the matrix).
  + * @param b a matrix of the same dimension as this
  + */
  + virtual void add_scaled(const LinOp *alpha, const LinOp *b);
  +
  + /**
  + * Computes the column-wise dot product of this matrix and `b`.
  + *
  + * @param b a Dense matrix of same dimensions as this
  + * @param result a Dense column vector, used to store the dot product
  + * (the number of rows in the vector must match the number
  + * of columns of this)
  + */
  + virtual void compute_dot(const LinOp *b, LinOp *result) const;
  +
  void copy_from(const LinOp *other) override;
  void copy_from(std::unique_ptr<LinOp> other) override;
  @@ -223,12 +256,6 @@ public:
  void apply(const LinOp *alpha, const LinOp *b, const LinOp *beta,
  LinOp *x) const override;
  - virtual void scale(const LinOp *alpha);
  -
  - virtual void add_scaled(const LinOp *alpha, const LinOp *b);
  -
  - virtual void compute_dot(const LinOp *b, LinOp *result) const;
  -
  std::unique_ptr<LinOp> clone_type() const override;
  void clear() override;
  