23 #if ! defined (octave_CMatrix_h)
24 #define octave_CMatrix_h 1
26 #include "octave-config.h"
192 double& rcon,
bool force,
bool calc_cond)
const;
195 double& rcon,
bool force,
bool calc_cond)
const;
201 bool force =
false,
bool calc_cond =
true)
const;
206 double& rcon,
bool force =
false,
207 bool calc_cond =
true)
const;
220 bool calc_cond =
true)
const;
222 double& rcon,
bool calc_cond =
true)
const;
224 double rcond (
void)
const;
232 bool calc_cond =
false,
239 bool calc_cond =
false,
246 bool calc_cond =
false)
const;
257 bool singular_fallback =
true,
268 bool singular_fallback =
true,
409 friend OCTAVE_API std::ostream&
operator << (std::ostream& os,
411 friend OCTAVE_API std::istream&
operator >> (std::istream&
is,
Array< Complex > as_matrix(void) const
Return the array as a matrix.
ComplexMatrix complex_matrix_type
ComplexMatrix stack(const Matrix &a) const
ComplexMatrix ifourier(void) const
ComplexRowVector row_vector_type
ComplexDiagMatrix complex_diag_matrix_type
OCTAVE_EXPORT octave_value_list column
ComplexDET determinant(void) const
ColumnVector real_column_vector_type
bool operator!=(const dim_vector &a, const dim_vector &b)
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
ComplexMatrix inverse(void) const
identity matrix If supplied two scalar respectively For allows like xample val
OCTAVE_API ComplexMatrix linspace(const ComplexColumnVector &x1, const ComplexColumnVector &x2, octave_idx_type n)
ComplexMatrix finverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
ComplexMatrix(const dim_vector &dv, const Complex &val)
ComplexMatrix(octave_idx_type r, octave_idx_type c)
MArray< T > transpose(void) const
DiagMatrix real_diag_matrix_type
bool column_is_real_only(octave_idx_type) const
void(* solve_singularity_handler)(double rcon)
Template for N-dimensional array classes with like-type math operators.
#define SM_CMP_OP_DECLS(S, M, API)
ComplexMatrix tinverse(MatrixType &mattype, octave_idx_type &info, double &rcon, bool force, bool calc_cond) const
OCTAVE_API ComplexMatrix Sylvester(const ComplexMatrix &, const ComplexMatrix &, const ComplexMatrix &)
ComplexMatrix operator-=(ComplexMatrix &x, const Complex &y)
#define MARRAY_FORWARD_DEFS(B, R, T)
OCTAVE_API ComplexMatrix xgemm(const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa=blas_no_trans, blas_trans_type transb=blas_no_trans)
ComplexMatrix prod(int dim=-1) const
ComplexRowVector column_min(void) const
ComplexMatrix fsolve(MatrixType &typ, const ComplexMatrix &b, octave_idx_type &info, double &rcon, solve_singularity_handler sing_handler, bool calc_cond=false) 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
ComplexMatrix cumprod(int dim=-1) const
ComplexMatrix hermitian(void) const
ComplexMatrix cumsum(int dim=-1) const
bool is_hermitian(void) const
ComplexMatrix(const dim_vector &dv)
#define SM_BOOL_OP_DECLS(S, M, API)
nd deftypefn *octave_map m
boolMatrix all(int dim=-1) const
ComplexMatrix(const MArray< U > &a)
#define MM_CMP_OP_DECLS(M1, M2, API)
bool row_is_real_only(octave_idx_type) const
#define MM_BOOL_OP_DECLS(M1, M2, API)
void resize(const dim_vector &dv, const T &rfv)
ComplexColumnVector row_min(void) const
ComplexMatrix solve(MatrixType &typ, const Matrix &b) const
static M ltsolve(const SM &L, const ColumnVector &Q, const M &m)
ComplexMatrix fourier(void) const
ComplexMatrix sumsq(int dim=-1) const
ComplexColumnVector row_max(void) const
ComplexMatrix transpose(void) const
OCTAVE_API ComplexMatrix Givens(const Complex &, const Complex &)
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the c
OCTAVE_API ComplexMatrix min(const Complex &c, const ComplexMatrix &m)
ComplexMatrix & insert(const Matrix &a, octave_idx_type r, octave_idx_type c)
MArray< T > hermitian(T(*fcn)(const T &)=0) const
bool operator==(const dim_vector &a, const dim_vector &b)
#define MS_CMP_OP_DECLS(M, S, API)
ComplexMatrix(const ComplexMatrix &a)
ComplexMatrix pseudo_inverse(double tol=0.0) const
N Dimensional Array with copy-on-write semantics.
ComplexRowVector column_max(void) const
void resize(octave_idx_type nr, octave_idx_type nc, const Complex &rfv=Complex(0))
=val(i)}if ode{val(i)}occurs in table i
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<
OCTAVE_API ComplexMatrix operator*(const ColumnVector &a, const ComplexRowVector &b)
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
ComplexColumnVector column_vector_type
RowVector real_row_vector_type
OCTAVE_API ComplexMatrix conj(const ComplexMatrix &a)
ComplexMatrix(octave_idx_type r, octave_idx_type c, const Complex &val)
#define MS_BOOL_OP_DECLS(M, S, API)
ComplexMatrix sum(int dim=-1) const
static M utsolve(const SM &U, const ColumnVector &Q, const M &m)
ComplexMatrix & fill(double val)
ComplexMatrix ifourier2d(void) const
OCTAVE_API ComplexMatrix max(const Complex &c, const ComplexMatrix &m)
ComplexMatrix diag(octave_idx_type k=0) const
ComplexMatrix(const Array< U > &a)
std::complex< double > Complex
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
the second is matched to the second specifier and placed in the second column and so forth If there are more words than specifiers then the process is repeated until all words have been processed or the limit imposed by any(non-whitespace) text in the format that is not one of these specifiers is considered a literal.If there is a literal between two format specifiers then that same literal must appear in the input stream between the matching words.The following specifiers are valid
ComplexMatrix lssolve(const Matrix &b) const
ComplexMatrix extract_n(octave_idx_type r1, octave_idx_type c1, octave_idx_type nr, octave_idx_type nc) const
ComplexMatrix extract(octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
where the brackets indicate optional arguments and and character or cell array For character arrays the conversion is repeated for every row
Array< Complex > index(const idx_vector &i) const
Indexing without resizing.
ComplexMatrix fourier2d(void) const
ComplexMatrix operator+=(ComplexMatrix &x, const Complex &y)