]> www.ginac.de Git - ginac.git/blobdiff - ginac/matrix.h
- As advertised: we are calling the Gamma function tgamma() now!
[ginac.git] / ginac / matrix.h
index 3a6f0e539f19757410d6eff2b7e4a4701102e3d7..8b0555c8eb102bb937e538e922f5c755f83efca7 100644 (file)
@@ -77,9 +77,9 @@ protected:
     
     // non-virtual functions in this class
 public:
-    unsigned rows() const            //! get number of rows.
+    unsigned rows(void) const        //! get number of rows.
         { return row; }
-    unsigned cols() const            //! get number of columns.
+    unsigned cols(void) const        //! get number of columns.
         { return col; }
     matrix add(const matrix & other) const;
     matrix sub(const matrix & other) const;
@@ -87,7 +87,7 @@ public:
     const ex & operator() (unsigned ro, unsigned co) const;
     matrix & set(unsigned ro, unsigned co, ex value);
     matrix transpose(void) const;
-    ex determinant(bool normalized=true) const;
+    ex determinant(void) const;
     ex trace(void) const;
     ex charpoly(const ex & lambda) const;
     matrix inverse(void) const;
@@ -96,10 +96,13 @@ public:
     matrix old_solve(const matrix & v) const;  // FIXME: may be removed
 protected:
     ex determinant_numeric(void) const;
-    ex determinant_symbolic_minor(void) const;
-    ex determinant_symbolic_perm(void) const;
+    ex determinant_minor_sparse(void) const;
+    ex determinant_minor_dense(void) const;
+    ex determinant_bareiss(void) const;
+    ex determinant_perm(void) const;
     int gauss_elimination(void);
     int fraction_free_elimination(void);
+    int division_free_elimination(void);
     int pivot(unsigned ro, bool symbolic=true);
 private:  // FIXME: these should be obsoleted
     void ffe_swap(unsigned r1, unsigned c1, unsigned r2 ,unsigned c2);
@@ -144,8 +147,8 @@ inline unsigned cols(const matrix & m)
 inline matrix transpose(const matrix & m)
 { return m.transpose(); }
 
-inline ex determinant(const matrix & m, bool normalized=true)
-{ return m.determinant(normalized); }
+inline ex determinant(const matrix & m)
+{ return m.determinant(); }
 
 inline ex trace(const matrix & m)
 { return m.trace(); }