hilbert.set(r,c,numeric(1,r+c+1));
ex det = hilbert.determinant();
- // The closed form of the determinant of n x n Hilbert matrices is:
- //
- // n-1 / n-1 \
- // ----- | ----- |
- // | | | pow(factorial(r),2) | | hilbert(r,c) |
- // | | | | | |
- // r = 0 \ c = 0 /
+ /*
+ The closed form of the determinant of n x n Hilbert matrices is:
+
+ n-1 / n-1 \
+ ----- | ----- |
+ | | | pow(factorial(r),2) | | hilbert(r,c) |
+ | | | | | |
+ r = 0 \ c = 0 /
+ */
ex hilbdet = 1;
for (unsigned r=0; r<n; ++r) {
return sollist;
}
-/** Force inclusion of functions from initcns_gamma and inifcns_zeta
- * for static lib (so ginsh will see them). */
+/* Force inclusion of functions from inifcns_gamma and inifcns_zeta
+ * for static lib (so ginsh will see them). */
unsigned force_include_tgamma = function_index_tgamma;
unsigned force_include_zeta1 = function_index_zeta1;
#include <functional>
#include <algorithm>
-#define DO_GINAC_ASSERT
-#include "assertion.h"
-
#include "symmetry.h"
#include "lst.h"
#include "numeric.h" // for factorial()
first = symm.children.begin();
switch (symm.type) {
case symmetry::symmetric:
+ // Sort the children in ascending order
shaker_sort(first, last, sy_is_less(v), sy_swap(v, something_changed));
break;
case symmetry::antisymmetric:
+ // Sort the children in ascending order, keeping track of the signum
sign *= permutation_sign(first, last, sy_is_less(v), sy_swap(v, something_changed));
break;
case symmetry::cyclic:
+ // Permute the smallest child to the front
cyclic_permutation(first, last, min_element(first, last, sy_is_less(v)), sy_swap(v, something_changed));
break;
default: