25 #if defined (HAVE_CONFIG_H)
45 template <
typename CHOLT>
52 template <
typename CHOLT>
60 template <
typename CHOLT>
155 if (nargin < 1 || nargin > 3 ||
nargout > 3)
158 error (
"chol: using three output arguments, matrix A must be sparse");
166 std::string tmp =
args(n++).xstring_value (
"chol: optional arguments must be strings");
175 error (
"chol: optional argument must be one of \"vector\", \"lower\", or \"upper\"");
213 error (
"chol: input matrix must be positive definite");
238 error (
"chol: input matrix must be positive definite");
246 error (
"chol: A must be sparse for the \"vector\" option");
258 error (
"chol: input matrix must be positive definite");
271 error (
"chol: input matrix must be positive definite");
279 error (
"chol: A must be sparse for the \"vector\" option");
291 error (
"chol: input matrix must be positive definite");
304 error (
"chol: input matrix must be positive definite");
366 if (
args.length () != 1)
375 if (nr == 0 || nc == 0)
390 retval =
chol.inverse ();
392 error (
"cholinv: A must be positive definite");
401 retval =
chol.inverse ();
403 error (
"cholinv: A must be positive definite");
417 retval =
chol.inverse ();
419 error (
"cholinv: A must be positive definite");
428 retval =
chol.inverse ();
430 error (
"cholinv: A must be positive definite");
444 retval =
chol.inverse ();
446 error (
"cholinv: A must be positive definite");
455 retval =
chol.inverse ();
457 error (
"cholinv: A must be positive definite");
494 if (
args.length () != 1)
504 if (nr == 0 || nc == 0)
628 if (nargin < 2 || nargin > 3)
635 || (nargin > 2 && !
args(2).is_string ()))
644 bool down = (op ==
"-");
646 if (! down && op !=
"+")
647 error (
"cholupdate: OP must be \"+\" or \"-\"");
650 error (
"cholupdate: dimension mismatch between R and U");
728 error (
"cholupdate: downdate violates positiveness");
730 error (
"cholupdate: singular matrix");
821 if (
args.length () != 3)
836 error (
"cholinsert: dimension mismatch between R and U");
838 if (j < 1 || j > n+1)
839 error (
"cholinsert: index J out of range");
904 error (
"cholinsert: insertion violates positiveness");
906 error (
"cholinsert: singular matrix");
908 error (
"cholinsert: diagonal element must be real");
1060 if (
args.length () != 2)
1076 error (
"choldelete: index J out of range");
1186 if (
args.length () != 3)
1205 error (
"cholshift: index I or J is out of range");
ColumnVector column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
bool is_real_type(void) const
static octave_value get_chol_r(const CHOLT &fact)
SparseMatrix Q(void) const
octave_idx_type rows(void) const
static octave_value get_chol(const CHOLT &fact)
FloatComplexMatrix float_complex_matrix_value(bool frc_str_conv=false) const
OCTAVE_EXPORT octave_value_list isa nd deftypefn *return ovl(args(0).is_integer_type())
FloatColumnVector float_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
OCTINTERP_API void print_usage(void)
bool is_numeric_type(void) const
RowVector perm(void) const
static octave_value get_chol_l(const CHOLT &fact)
void error(const char *fmt,...)
octave_idx_type insert_sym(const VT &u, octave_idx_type j)
void err_square_matrix_required(const char *fcn, const char *name)
double scalar_value(bool frc_str_conv=false) const
octave_idx_type columns(void) const
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function xample nargout(@histc)
bool is_sparse_type(void) const
bool is_real_scalar(void) const
nd deftypefn *octave_map m
octave_idx_type downdate(const VT &u)
bool is_complex_type(void) const
void delete_sym(octave_idx_type j)
SparseComplexMatrix sparse_complex_matrix_value(bool frc_str_conv=false) const
Matrix matrix_value(bool frc_str_conv=false) const
void err_wrong_type_arg(const char *name, const char *s)
bool is_empty(void) const
bool strcmpi(const T &str_a, const T &str_b)
True if strings are the same, ignoring case.
=val(i)}if ode{val(i)}occurs in table i
ComplexMatrix complex_matrix_value(bool frc_str_conv=false) const
void shift_sym(octave_idx_type i, octave_idx_type j)
FloatComplexColumnVector float_complex_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
FloatMatrix float_matrix_value(bool frc_str_conv=false) const
ComplexColumnVector complex_column_vector_value(bool frc_str_conv=false, bool frc_vec_conv=false) const
#define DEFUN_DLD(name, args_name, nargout_name, doc)
OCTAVE_EXPORT octave_value_list error nd deftypefn *const octave_scalar_map err
SparseMatrix sparse_matrix_value(bool frc_str_conv=false) const
bool is_single_type(void) const
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))