示例#1
0
CAMLprim value ml_gsl_linalg_R_solve(value R, value B, value X)
{
  _DECLARE_MATRIX(R);
  _DECLARE_VECTOR2(B, X);
  _CONVERT_MATRIX(R);
  _CONVERT_VECTOR2(B, X);
  gsl_linalg_R_solve(&m_R, &v_B, &v_X);
  return Val_unit;
}
示例#2
0
static int
newton_direction (const gsl_matrix * r, const gsl_vector * qtf, gsl_vector * p)
{
  const size_t N = r->size2;
  size_t i;
  int status;

  status = gsl_linalg_R_solve (r, qtf, p);

#ifdef DEBUG
  printf("rsolve status = %d\n", status);
#endif

  for (i = 0; i < N; i++)
    {
      double pi = gsl_vector_get (p, i);
      gsl_vector_set (p, i, -pi);
    }

  return status;
}
示例#3
0
 /**
  * C++ version of gsl_linalg_R_solve().
  * @param R A matrix
  * @param b A vector
  * @param x A vector
  * @return Error code on failure
  */
 inline int R_solve( matrix const& R, vector const& b, vector& x ){
   return gsl_linalg_R_solve( R.get(), b.get(), x.get() ); }