23 #if defined (HAVE_CONFIG_H)
37 template <
typename Matrix>
130 if (nargin < 1 || nargin > 2 ||
nargout > 2)
137 ord =
args(1).xstring_value (
"schur: second argument must be a string");
139 bool force_complex =
false;
145 else if (ord ==
"complex")
147 force_complex =
true;
152 char ord_char = ord.empty () ?
'U' : ord[0];
154 if (ord_char !=
'U' && ord_char !=
'A' && ord_char !=
'D'
155 && ord_char !=
'u' && ord_char !=
'a' && ord_char !=
'd')
157 warning (
"schur: incorrect ordered schur argument '%s'",
292 if (!
args(0).is_numeric_type ())
294 if (!
args(1).is_numeric_type ())
296 if (
args(0).is_complex_type () ||
args(1).is_complex_type ())
297 error (
"rsf2csf: UR and TR must be real matrices");
299 if (
args(0).is_single_type () ||
args(1).is_single_type ())
bool is_real_type(void) const
octave_idx_type rows(void) const
static octave_value mark_upper_triangular(const Matrix &a)
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())
OCTINTERP_API void print_usage(void)
bool is_numeric_type(void) const
T unitary_matrix(void) const
#define DEFUN(name, args_name, nargout_name, doc)
void error(const char *fmt,...)
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function t
void err_square_matrix_required(const char *fcn, const char *name)
octave_idx_type rows(void) const
T schur_matrix(void) const
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
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)
schur< FloatComplexMatrix > rsf2csf< FloatComplexMatrix, FloatMatrix >(const FloatMatrix &s_arg, const FloatMatrix &u_arg)
Matrix matrix_value(bool frc_str_conv=false) const
void err_wrong_type_arg(const char *name, const char *s)
With real return the complex result
MatrixType matrix_type(void) const
void warning(const char *fmt,...)
schur< ComplexMatrix > rsf2csf< ComplexMatrix, Matrix >(const Matrix &s_arg, const Matrix &u_arg)
=val(i)}if ode{val(i)}occurs in table i
ComplexMatrix complex_matrix_value(bool frc_str_conv=false) const
FloatMatrix float_matrix_value(bool frc_str_conv=false) const
bool is_single_type(void) const
schur< RT > rsf2csf(const AT &s, const AT &u)
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
octave_idx_type columns(void) const