44 it_assert(v.size() == m.rows(),
"sub_v_vT_m()");
47 for (j = 0; j < m.cols(); j++) {
50 for (i = 0; i < m.rows(); i++)
51 tmp += *(vp++) * m._elem(i, j);
56 for (i = 0; i < m.rows(); i++) {
58 for (j = 0; j < m.cols(); j++)
59 m._elem(i, j) -= *vp * *(v2p++);
72 it_assert(v.size() == m.cols(),
"sub_m_v_vT()");
75 for (i = 0; i < m.rows(); i++) {
78 for (j = 0; j < m.cols(); j++)
79 tmp += *(vp++) * m._elem(i, j);
84 for (i = 0; i < m.rows(); i++) {
86 for (j = 0; j < m.cols(); j++)
87 m._elem(i, j) -= *v2p * *(vp++);
#define it_assert(t, s)
Abort if t is not true.
void sub_v_vT_m(mat &m, const vec &v)
Calculates m=m-v*v'*m.
Definitions of special operations on vectors and matricies optimized for speed.
void sub_m_v_vT(mat &m, const vec &v)
Calculates m=m-m*v*v'.