#include "utils.h"
#include "debugmsg.h"
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
namespace GiNaC {
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC
GINAC_IMPLEMENT_REGISTERED_CLASS(matrix, basic)
// Compute the sign of a permutation of a vector of things, used internally
// by determinant_symbolic_perm() where it is instantiated for int.
-template <class T>
+template <typename T>
int permutation_sign(vector<T> s)
{
if (s.size() < 2)
matrix a(*this); // make a copy of the matrix
matrix b(rhs); // make a copy of the rhs vector
+
+ /*
+ cout << "before" << endl;
+ cout << "a=" << a << endl;
+ cout << "b=" << b << endl;
+ */
// given an m x n matrix a, reduce it to upper echelon form
unsigned m=a.row;
zero_in_last_row=zero_in_this_row;
}
#endif // def DO_GINAC_ASSERT
+
+ /*
+ cout << "after" << endl;
+ cout << "a=" << a << endl;
+ cout << "b=" << b << endl;
+ */
// assemble solution
matrix sol(n,1);
cout << vars.ffe_get(c,1) << "->" << sol.ffe_get(c,1) << endl;
}
*/
+
+ // cout << "sol=" << sol << endl;
#ifdef DO_GINAC_ASSERT
// test solution with echelon matrix
const matrix some_matrix;
const type_info & typeid_matrix=typeid(some_matrix);
-#ifndef NO_GINAC_NAMESPACE
+#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
-#endif // ndef NO_GINAC_NAMESPACE
+#endif // ndef NO_NAMESPACE_GINAC