23 #if defined (HAVE_CONFIG_H)
42 DEFNDUNOP_OP (uminus, float_complex_matrix, float_complex_array, -)
50 error (
"transpose not defined for N-D objects");
61 error (
"complex-conjugate transpose not defined for N-D objects");
72 DEFNDBINOP_OP (add, float_complex_matrix, float_complex_matrix,
73 float_complex_array, float_complex_array, +)
74 DEFNDBINOP_OP (sub, float_complex_matrix, float_complex_matrix,
75 float_complex_array, float_complex_array, -)
77 DEFBINOP_OP (mul, float_complex_matrix, float_complex_matrix, *)
79 DEFBINOP (div, float_complex_matrix, float_complex_matrix)
96 error (
"can't do A ^ B for A and B both matrices");
99 DEFBINOP (ldiv, float_complex_matrix, float_complex_matrix)
158 DEFBINOP (trans_ldiv, float_complex_matrix, float_complex_matrix)
174 DEFBINOP (herm_ldiv, float_complex_matrix, float_complex_matrix)
191 float_complex_array, float_complex_array,
mx_el_lt)
193 float_complex_array, float_complex_array,
mx_el_le)
195 float_complex_array, float_complex_array,
mx_el_eq)
197 float_complex_array, float_complex_array,
mx_el_ge)
199 float_complex_array, float_complex_array,
mx_el_gt)
201 float_complex_array, float_complex_array,
mx_el_ne)
203 DEFNDBINOP_FN (el_mul, float_complex_matrix, float_complex_matrix,
204 float_complex_array, float_complex_array,
product)
205 DEFNDBINOP_FN (el_div, float_complex_matrix, float_complex_matrix,
206 float_complex_array, float_complex_array,
quotient)
207 DEFNDBINOP_FN (el_pow, float_complex_matrix, float_complex_matrix,
210 DEFBINOP (el_ldiv, float_complex_matrix, float_complex_matrix)
221 DEFNDBINOP_FN (el_and, float_complex_matrix, float_complex_matrix,
223 DEFNDBINOP_FN (el_or, float_complex_matrix, float_complex_matrix,
224 float_complex_array, float_complex_array,
mx_el_or)
226 DEFNDCATOP_FN (fcm_fcm, float_complex_matrix, float_complex_matrix,
227 float_complex_array, float_complex_array,
concat)
230 float_complex_array, float_complex_array,
concat)
233 float_complex_array, float_complex_array,
concat)
236 float_complex_array, assign)
238 float_complex_array, assign)
240 float_complex_array, assign)
242 complex_array, assign)
247 float_complex_matrix, float_complex_array, +=)
249 float_complex_matrix, float_complex_array, -=)
FloatComplexMatrix transpose(void) const
ComplexColumnVector quotient_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector product(const ComplexColumnVector &x, const ComplexColumnVector &y)
octave_value op_mul_trans(const octave_value &a1, const octave_value &a2)
octave_value op_uplus(const octave_value &a)
#define DEFBINOP(name, t1, t2)
octave_value op_el_pow(const octave_value &a1, const octave_value &a2)
#define INSTALL_NCUNOP(op, t, f)
#define DEFBINOPX(name, t1, t2)
octave_value op_eq(const octave_value &a1, const octave_value &a2)
FloatComplexMatrix hermitian(void) const
#define DEFNDASSIGNOP_FNOP(name, t1, t2, f, fnop)
#define DEFNULLASSIGNOP_FN(name, t, f)
octave_value op_el_ldiv(const octave_value &a1, const octave_value &a2)
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the then the first element defines the pivoting tolerance for the unsymmetric the values defined such that for full matrix
static void transpose(octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
boolMatrix mx_el_le(const boolMatrix &m1, const boolMatrix &m2)
void error(const char *fmt,...)
octave_value op_pow(const octave_value &a1, const octave_value &a2)
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
#define INSTALL_ASSIGNOP(op, t1, t2, f)
MatrixType matrix_type(void) const
ComplexMatrix mul_trans(const ComplexMatrix &m, const SparseComplexMatrix &a)
#define DEFBINOP_OP(name, t1, t2, op)
const octave_base_value & a2
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_value op_div(const octave_value &a1, const octave_value &a2)
octave_value op_el_or(const octave_value &a1, const octave_value &a2)
ComplexColumnVector quotient(const ComplexColumnVector &x, const ComplexColumnVector &y)
#define INSTALL_BINOP(op, t1, t2, f)
boolMatrix mx_el_ge(const boolMatrix &m1, const boolMatrix &m2)
void install_fcm_fcm_ops(void)
octave_value op_not(const octave_value &a)
ComplexMatrix herm_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
boolMatrix mx_el_gt(const boolMatrix &m1, const boolMatrix &m2)
octave_value op_trans_mul(const octave_value &a1, const octave_value &a2)
octave_value op_transpose(const octave_value &a)
FloatComplexNDArray float_complex_array_value(bool=false) const
FloatComplexMatrix float_complex_matrix_value(bool=false) const
octave_value elem_xpow(double a, const SparseMatrix &b)
octave_value op_el_and(const octave_value &a1, const octave_value &a2)
octave_int< T > pow(const octave_int< T > &a, const octave_int< T > &b)
ComplexMatrix mul_herm(const ComplexMatrix &m, const SparseComplexMatrix &a)
octave_value op_mul_herm(const octave_value &a1, const octave_value &a2)
Matrix xleftdiv(const SparseMatrix &a, const Matrix &b, MatrixType &typ)
boolMatrix mx_el_ne(const boolMatrix &m1, const boolMatrix &m2)
octave_value op_le(const octave_value &a1, const octave_value &a2)
octave_value op_lt(const octave_value &a1, const octave_value &a2)
#define INSTALL_CATOP(t1, t2, f)
octave_value op_el_div(const octave_value &a1, const octave_value &a2)
ComplexMatrix xgemm(const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa, blas_trans_type transb)
const octave_char_matrix & v2
boolMatrix mx_el_or(const boolMatrix &m1, const boolMatrix &m2)
#define DEFNDASSIGNOP_FN(name, t1, t2, e, f)
Matrix xdiv(const Matrix &a, const SparseMatrix &b, MatrixType &typ)
octave_value op_ne(const octave_value &a1, const octave_value &a2)
ComplexMatrix trans_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
boolMatrix mx_el_and(const boolMatrix &m1, const boolMatrix &m2)
#define DEFNDASSIGNOP_OP(name, t1, t2, f, op)
octave_value op_add(const octave_value &a1, const octave_value &a2)
#define INSTALL_UNOP(op, t, f)
octave_value op_ldiv(const octave_value &a1, const octave_value &a2)
#define DEFNDCMPLXCMPOP_FN(name, t1, t2, e1, e2, f)
octave_value op_sub(const octave_value &a1, const octave_value &a2)
boolMatrix mx_el_lt(const boolMatrix &m1, const boolMatrix &m2)
octave_value op_el_mul(const octave_value &a1, const octave_value &a2)
octave_value op_herm_mul(const octave_value &a1, const octave_value &a2)
#define DEFNDUNOP_OP(name, t, e, op)
octave_value op_hermitian(const octave_value &a)
octave_value op_ge(const octave_value &a1, const octave_value &a2)
#define DEFNDBINOP_OP(name, t1, t2, e1, e2, op)
#define DEFNDCATOP_FN(name, t1, t2, e1, e2, f)
boolMatrix mx_el_eq(const boolMatrix &m1, const boolMatrix &m2)
octave_value op_uminus(const octave_value &a)
octave_value op_mul(const octave_value &a1, const octave_value &a2)
ComplexColumnVector product_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
octave_value op_gt(const octave_value &a1, const octave_value &a2)
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
#define DEFNCUNOP_METHOD(name, t, method)