- unsigned rows(void) const //! get number of rows.
- { return row; }
- unsigned cols(void) const //! get number of columns.
- { return col; }
- matrix add(const matrix & other) const;
- matrix sub(const matrix & other) const;
- matrix mul(const matrix & other) const;
- const ex & operator() (unsigned ro, unsigned co) const;
- matrix & set(unsigned ro, unsigned co, ex value);
- matrix transpose(void) const;
- ex determinant(void) const;
- ex trace(void) const;
- ex charpoly(const ex & lambda) const;
- matrix inverse(void) const;
- matrix fraction_free_elim(const matrix & vars, const matrix & v) const;
- matrix solve(const matrix & vars, const matrix & rhs) const;
- matrix old_solve(const matrix & v) const; // FIXME: may be removed
+ unsigned rows(void) const /// Get number of rows.
+ { return row; }
+ unsigned cols(void) const /// Get number of columns.
+ { return col; }
+ matrix add(const matrix & other) const;
+ matrix sub(const matrix & other) const;
+ matrix mul(const matrix & other) const;
+ const ex & operator() (unsigned ro, unsigned co) const;
+ matrix & set(unsigned ro, unsigned co, ex value);
+ matrix transpose(void) const;
+ ex determinant(unsigned algo = determinant_algo::automatic) const;
+ ex trace(void) const;
+ ex charpoly(const symbol & lambda) const;
+ matrix inverse(void) const;
+ matrix solve(const matrix & vars, const matrix & rhs,
+ unsigned algo = solve_algo::automatic) const;