24 #if defined (HAVE_CONFIG_H)
103 if (nargin > 4 || nargin == 0)
122 bool AEPcase = nargin == 1 ||
args(1).is_string ();
138 bool qz_flag =
false;
139 bool chol_flag =
false;
140 bool balance_flag =
false;
141 bool no_balance_flag =
false;
142 bool matrix_flag =
false;
143 bool vector_flag =
false;
145 for (
int i = (AEPcase ? 1 : 2);
i <
args.length (); ++
i)
147 if (!
args(
i).is_string ())
158 no_balance_flag =
true;
164 error (
"eig: invalid option \"%s\"", arg_i.c_str ());
167 if (balance_flag && no_balance_flag)
168 error (
"eig: \"balance\" and \"nobalance\" options are mutually exclusive");
169 if (vector_flag && matrix_flag)
170 error (
"eig: \"vector\" and \"matrix\" options are mutually exclusive");
171 if (qz_flag && chol_flag)
172 error (
"eig: \"qz\" and \"chol\" options are mutually exclusive");
177 error (
"eig: invalid \"qz\" option for algebraic eigenvalue problem");
179 error (
"eig: invalid \"chol\" option for algebraic eigenvalue problem");
184 error (
"eig: invalid \"balance\" option for generalized eigenvalue problem");
186 error (
"eig: invalid \"nobalance\" option for generalized eigenvalue problem");
190 const bool balance = no_balance_flag ?
false :
true;
191 const bool force_qz = qz_flag;
bool is_real_type(void) const
octave_idx_type rows(void) const
FloatComplexMatrix left_eigenvectors(void) const
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)
ComplexMatrix left_eigenvectors(void) const
#define DEFUN(name, args_name, nargout_name, doc)
void error(const char *fmt,...)
void err_square_matrix_required(const char *fcn, const char *name)
FloatComplexColumnVector eigenvalues(void) const
ComplexColumnVector eigenvalues(void) const
bool is_float_type(void) 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)
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
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
FloatComplexMatrix right_eigenvectors(void) const
FloatMatrix float_matrix_value(bool frc_str_conv=false) const
ComplexMatrix right_eigenvectors(void) 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