With the following declarations:
uvec basis;
rowvec c;
sp_mat B;
The expression c(basis) seems to return an
arma::subview_elem1<double, arma::Mat<unsigned int> >
and the following call appears to work:
vec pi_B = spsolve(trans(B), c(basis), "superlu");
How does spsolve
resolve this input?
Also vec pi_B = spsolve(trans(B), trans(c(basis)), "superlu");
throws a dimensional mismatch error but the following runs:
rowvec d;
vec pi_B2 = spsolve(trans(B), trans(d), "superlu");