42 DEFNDUNOP_OP (uminus, float_complex_matrix, float_complex_array, -)
50 error (
"transpose not defined for N-d objects");
54 return octave_value (v.float_complex_matrix_value ().transpose ());
63 error (
"complex-conjugate transpose not defined for N-d objects");
67 return octave_value (v.float_complex_matrix_value ().hermitian ());
76 DEFNDBINOP_OP (add, float_complex_matrix, float_complex_matrix,
77 float_complex_array, float_complex_array, +)
78 DEFNDBINOP_OP (sub, float_complex_matrix, float_complex_matrix,
79 float_complex_array, float_complex_array, -)
81 DEFBINOP_OP (mul, float_complex_matrix, float_complex_matrix, *)
83 DEFBINOP (div, float_complex_matrix, float_complex_matrix)
98 error (
"can't do A ^ B for A and B both matrices");
102 DEFBINOP (ldiv, float_complex_matrix, float_complex_matrix)
151 DEFBINOP (trans_ldiv, float_complex_matrix, float_complex_matrix)
165 DEFBINOP (herm_ldiv, float_complex_matrix, float_complex_matrix)
180 float_complex_array, float_complex_array,
mx_el_lt)
182 float_complex_array, float_complex_array,
mx_el_le)
184 float_complex_array, float_complex_array,
mx_el_eq)
186 float_complex_array, float_complex_array,
mx_el_ge)
188 float_complex_array, float_complex_array,
mx_el_gt)
190 float_complex_array, float_complex_array,
mx_el_ne)
192 DEFNDBINOP_FN (el_mul, float_complex_matrix, float_complex_matrix,
193 float_complex_array, float_complex_array,
product)
194 DEFNDBINOP_FN (el_div, float_complex_matrix, float_complex_matrix,
195 float_complex_array, float_complex_array,
quotient)
196 DEFNDBINOP_FN (el_pow, float_complex_matrix, float_complex_matrix,
199 DEFBINOP (el_ldiv, float_complex_matrix, float_complex_matrix)
208 DEFNDBINOP_FN (el_and, float_complex_matrix, float_complex_matrix,
210 DEFNDBINOP_FN (el_or, float_complex_matrix, float_complex_matrix,
211 float_complex_array, float_complex_array,
mx_el_or)
213 DEFNDCATOP_FN (fcm_fcm, float_complex_matrix, float_complex_matrix,
214 float_complex_array, float_complex_array,
concat)
217 float_complex_array, float_complex_array,
concat)
220 float_complex_array, float_complex_array,
concat)
223 float_complex_array, assign)
225 float_complex_array, assign)
227 float_complex_array, assign)
232 float_complex_matrix, float_complex_array, +=)
234 float_complex_matrix, float_complex_array, -=)
342 float_complex_matrix_to_complex_matrix);
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)
virtual MatrixType matrix_type(void) const
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)
#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)
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,...)
FloatComplexMatrix float_complex_matrix_value(bool=false) const
octave_value op_pow(const octave_value &a1, const octave_value &a2)
FloatComplexNDArray float_complex_array_value(bool=false) const
const octave_base_value const Array< octave_idx_type > &ra_idx octave_int16_scalar & v1
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
#define INSTALL_ASSIGNOP(op, t1, t2, f)
MatrixType matrix_type(void) const
#define CAST_BINOP_ARGS(t1, t2)
ComplexMatrix mul_trans(const ComplexMatrix &m, const SparseComplexMatrix &a)
virtual FloatComplexMatrix float_complex_matrix_value(bool=false) const
#define INSTALL_CONVOP(t1, t2, f)
#define DEFBINOP_OP(name, t1, t2, op)
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)
virtual FloatComplexNDArray float_complex_array_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)
void assign(octave_value::assign_op, const octave_value &)
#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)