26 #if defined (HAVE_CONFIG_H)
45 DEFNDUNOP_OP (uminus, float_complex_matrix, float_complex_array, -)
53 error (
"transpose not defined for N-D objects");
64 error (
"complex-conjugate transpose not defined for N-D objects");
75 DEFNDBINOP_OP (add, float_complex_matrix, float_complex_matrix,
76 float_complex_array, float_complex_array, +)
77 DEFNDBINOP_OP (sub, float_complex_matrix, float_complex_matrix,
78 float_complex_array, float_complex_array, -)
80 DEFBINOP_OP (mul, float_complex_matrix, float_complex_matrix, *)
82 DEFBINOP (div, float_complex_matrix, float_complex_matrix)
99 error (
"can't do A ^ B for A and B both matrices");
102 DEFBINOP (ldiv, float_complex_matrix, float_complex_matrix)
161 DEFBINOP (trans_ldiv, float_complex_matrix, float_complex_matrix)
177 DEFBINOP (herm_ldiv, float_complex_matrix, float_complex_matrix)
194 float_complex_array, float_complex_array,
mx_el_lt)
196 float_complex_array, float_complex_array,
mx_el_le)
198 float_complex_array, float_complex_array,
mx_el_eq)
200 float_complex_array, float_complex_array,
mx_el_ge)
202 float_complex_array, float_complex_array,
mx_el_gt)
204 float_complex_array, float_complex_array,
mx_el_ne)
206 DEFNDBINOP_FN (el_mul, float_complex_matrix, float_complex_matrix,
207 float_complex_array, float_complex_array,
product)
208 DEFNDBINOP_FN (el_div, float_complex_matrix, float_complex_matrix,
209 float_complex_array, float_complex_array,
quotient)
210 DEFNDBINOP_FN (el_pow, float_complex_matrix, float_complex_matrix,
213 DEFBINOP (el_ldiv, float_complex_matrix, float_complex_matrix)
224 DEFNDBINOP_FN (el_and, float_complex_matrix, float_complex_matrix,
226 DEFNDBINOP_FN (el_or, float_complex_matrix, float_complex_matrix,
227 float_complex_array, float_complex_array,
mx_el_or)
229 DEFNDCATOP_FN (fcm_fcm, float_complex_matrix, float_complex_matrix,
230 float_complex_array, float_complex_array,
concat)
233 float_complex_array, float_complex_array,
concat)
236 float_complex_array, float_complex_array,
concat)
239 float_complex_array, assign)
241 float_complex_array, assign)
243 float_complex_array, assign)
245 complex_array, assign)
250 float_complex_matrix, float_complex_array, +=)
252 float_complex_matrix, float_complex_array, -=)
ComplexColumnVector quotient(const ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector product_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector product(const ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexColumnVector quotient_eq(ComplexColumnVector &x, const ComplexColumnVector &y)
ComplexMatrix xgemm(const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa, blas_trans_type transb)
ComplexNDArray concat(NDArray &ra, ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
ComplexMatrix mul_trans(const ComplexMatrix &m, const SparseComplexMatrix &a)
ComplexMatrix mul_herm(const ComplexMatrix &m, const SparseComplexMatrix &a)
ComplexMatrix trans_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
ComplexMatrix herm_mul(const SparseComplexMatrix &m, const ComplexMatrix &a)
boolMatrix mx_el_le(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_ne(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_or(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_and(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_gt(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_eq(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_lt(const boolMatrix &m1, const boolMatrix &m2)
boolMatrix mx_el_ge(const boolMatrix &m1, const boolMatrix &m2)
FloatComplexMatrix hermitian(void) const
FloatComplexMatrix transpose(void) const
MatrixType matrix_type(void) const
FloatComplexNDArray float_complex_array_value(bool=false) const
FloatComplexMatrix float_complex_matrix_value(bool=false) const
FloatComplexNDArray float_complex_array_value(bool=false) const
FloatComplexMatrix float_complex_matrix_value(bool=false) const
void error(const char *fmt,...)
octave_int< T > pow(const octave_int< T > &a, const octave_int< T > &b)
void install_fcm_fcm_ops(octave::type_info &ti)
const octave_base_value & a2
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
const octave_char_matrix & v2
#define DEFNDASSIGNOP_FN(name, t1, t2, e, f)
#define DEFNDBINOP_OP(name, t1, t2, e1, e2, op)
#define INSTALL_NCUNOP_TI(ti, op, t, f)
#define DEFNULLASSIGNOP_FN(name, t, f)
#define DEFNDBINOP_FN(name, t1, t2, e1, e2, f)
#define DEFNDCMPLXCMPOP_FN(name, t1, t2, e1, e2, f)
#define DEFBINOPX(name, t1, t2)
#define DEFNDASSIGNOP_FNOP(name, t1, t2, f, fnop)
#define DEFBINOP(name, t1, t2)
#define DEFNDUNOP_OP(name, t, e, op)
#define DEFBINOP_OP(name, t1, t2, op)
#define DEFNCUNOP_METHOD(name, t, method)
#define INSTALL_BINOP_TI(ti, op, t1, t2, f)
#define DEFNDCATOP_FN(name, t1, t2, e1, e2, f)
#define INSTALL_CATOP_TI(ti, t1, t2, f)
#define INSTALL_UNOP_TI(ti, op, t, f)
#define DEFNDASSIGNOP_OP(name, t1, t2, f, op)
#define INSTALL_ASSIGNOP_TI(ti, op, t1, t2, f)
octave_value op_ne(const octave_value &a1, const octave_value &a2)
octave_value op_el_ldiv(const octave_value &a1, const octave_value &a2)
octave_value op_uplus(const octave_value &a)
octave_value op_add(const octave_value &a1, const octave_value &a2)
octave_value op_gt(const octave_value &a1, const octave_value &a2)
octave_value op_uminus(const octave_value &a)
octave_value op_el_div(const octave_value &a1, const octave_value &a2)
octave_value op_mul_herm(const octave_value &a1, const octave_value &a2)
octave_value op_transpose(const octave_value &a)
octave_value op_el_or(const octave_value &a1, const octave_value &a2)
octave_value op_sub(const octave_value &a1, const octave_value &a2)
octave_value op_mul(const octave_value &a1, const octave_value &a2)
octave_value op_hermitian(const octave_value &a)
octave_value op_le(const octave_value &a1, const octave_value &a2)
octave_value op_el_and(const octave_value &a1, const octave_value &a2)
octave_value op_herm_mul(const octave_value &a1, const octave_value &a2)
octave_value op_eq(const octave_value &a1, const octave_value &a2)
octave_value op_el_pow(const octave_value &a1, const octave_value &a2)
octave_value op_not(const octave_value &a)
octave_value op_ldiv(const octave_value &a1, const octave_value &a2)
octave_value op_pow(const octave_value &a1, const octave_value &a2)
octave_value op_ge(const octave_value &a1, const octave_value &a2)
octave_value op_el_mul(const octave_value &a1, const octave_value &a2)
octave_value op_div(const octave_value &a1, const octave_value &a2)
octave_value op_trans_mul(const octave_value &a1, const octave_value &a2)
octave_value op_mul_trans(const octave_value &a1, const octave_value &a2)
octave_value op_lt(const octave_value &a1, const octave_value &a2)
Matrix xdiv(const Matrix &a, const SparseMatrix &b, MatrixType &typ)
Matrix xleftdiv(const SparseMatrix &a, const Matrix &b, MatrixType &typ)
octave_value elem_xpow(double a, const SparseMatrix &b)
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)