23 #if defined (HAVE_CONFIG_H)
53 if (nargin < 2 || nargin > 3)
56 if (!
args(0).is_sparse_type ())
57 error (
"luinc: matrix A must be sparse");
59 bool zero_level =
false;
63 double droptol = -1.0;
66 if (
args(1).is_string ())
68 if (
args(1).string_value () ==
"0")
71 error (
"luinc: unrecognized string argument");
73 else if (
args(1).is_map ())
76 =
args(1).xscalar_map_value (
"luinc: OPTS must be a scalar structure");
89 milu = (val == 0.0 ?
false :
true);
97 udiag = (val == 0.0 ?
false :
true);
105 if (thresh.
numel () == 1)
108 thresh(1) = thresh(0);
110 else if (thresh.
numel () != 2)
111 error (
"luinc: THRESH must be a 1 or 2-element vector");
115 droptol =
args(1).double_value ();
124 error (
"luinc: unrecognized string argument");
129 error (
"luinc: zero-level factorization not implemented");
133 if (
args(0).is_real_type ())
150 (sm, Qinit, thresh,
false,
true, droptol, milu, udiag);
167 (sm, Qinit, thresh,
false,
true, droptol, milu, udiag);
186 (sm, Qinit, thresh,
false,
false, droptol, milu, udiag);
225 (sm, Qinit, thresh,
false,
true, droptol, milu, udiag);
242 (sm, Qinit, thresh,
false,
true, droptol, milu, udiag);
261 (sm, Qinit, thresh,
false,
false, droptol, milu, udiag);
ColumnVector Pc_vec(void) const
octave_idx_type cols(void) const
octave_idx_type rows(void) const
void resize(octave_idx_type nr, octave_idx_type nc, double rfv=0)
SparseMatrix transpose(void) const
OCTINTERP_API void print_usage(void)
octave_idx_type numel(void) const
Number of elements in the array.
identity matrix If supplied two scalar respectively For allows like xample val
SparseMatrix Pr(void) const
PermMatrix Pr_mat(void) const
bool is_defined(void) const
#define DEFUN(name, args_name, nargout_name, doc)
void error(const char *fmt,...)
ColumnVector Pr_vec(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)
const octave_idx_type * row_perm(void) const
Matrix matrix_value(bool frc_str_conv=false) const
=val(i)}if ode{val(i)}occurs in table i
PermMatrix Pc_mat(void) const
octave_value getfield(const std::string &key) const
double double_value(bool frc_str_conv=false) 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())? '\'': '"'))