CAMLprim value ml_gsl_linalg_QRPT_QRsolve(value Q, value R, value P, value B, value X) { GSL_PERMUT_OF_BIGARRAY(P); _DECLARE_MATRIX2(Q, R); _DECLARE_VECTOR2(B, X); _CONVERT_MATRIX2(Q, R); _CONVERT_VECTOR2(B, X); gsl_linalg_QRPT_QRsolve(&m_Q, &m_R, &perm_P, &v_B, &v_X); return Val_unit; }
/** * C++ version of gsl_linalg_QRPT_QRsolve(). * @param Q A matrix * @param R A matrix * @param p A permutation * @param b A vector * @param x A vector * @return Error code on failure */ inline int QRPT_QRsolve( matrix const& Q, matrix const& R, permutation const& p, vector const& b, vector& x ){ return gsl_linalg_QRPT_QRsolve( Q.get(), R.get(), p.get(), b.get(), x.get() ); }