/** @file check_lsolve.cpp
*
* These test routines do some simple checks on solving linear systems of
- * symbolic equations. */
+ * symbolic equations. They are a well-tried resource for cross-checking
+ * the underlying symbolic manipulations. */
/*
* GiNaC Copyright (C) 1999-2002 Johannes Gutenberg University Mainz, Germany
{
unsigned result = 0;
- for (int repetition=0; repetition<100; ++repetition) {
+ for (int repetition=0; repetition<200; ++repetition) {
// create two size n vectors of symbols, one for the coefficients
// a[0],..,a[n], one for indeterminates x[0]..x[n]:
vector<symbol> a;
clog << "---------linear solve:" << endl;
// solve some numeric linear systems
- for (unsigned n=1; n<12; ++n)
+ for (unsigned n=1; n<14; ++n)
result += check_matrix_solve(n, n, 1, 0);
cout << '.' << flush;
// solve some underdetermined numeric systems
- for (unsigned n=1; n<12; ++n)
+ for (unsigned n=1; n<14; ++n)
result += check_matrix_solve(n+1, n, 1, 0);
cout << '.' << flush;
// solve some overdetermined numeric systems
- for (unsigned n=1; n<12; ++n)
+ for (unsigned n=1; n<14; ++n)
result += check_matrix_solve(n, n+1, 1, 0);
cout << '.' << flush;
// solve some multiple numeric systems
- for (unsigned n=1; n<12; ++n)
+ for (unsigned n=1; n<14; ++n)
result += check_matrix_solve(n, n, n/3+1, 0);
cout << '.' << flush;
// solve some symbolic linear systems
- for (unsigned n=1; n<7; ++n)
+ for (unsigned n=1; n<8; ++n)
result += check_matrix_solve(n, n, 1, 2);
cout << '.' << flush;
/** @file check_matrices.cpp
*
- * Here we test manipulations on GiNaC's symbolic matrices. */
+ * Here we test manipulations on GiNaC's symbolic matrices. They are a
+ * well-tried resource for cross-checking the underlying symbolic
+ * manipulations. */
/*
* GiNaC Copyright (C) 1999-2002 Johannes Gutenberg University Mainz, Germany
unsigned result = 0;
symbol a("a");
- for (unsigned size=3; size<20; ++size) {
+ for (unsigned size=3; size<22; ++size) {
matrix A(size,size);
// populate one element in each row:
for (unsigned r=0; r<size-1; ++r)
unsigned result = 0;
symbol a("a"), b("b"), c("c");
- for (unsigned size=3; size<8; ++size) {
+ for (unsigned size=3; size<9; ++size) {
matrix A(size,size);
for (unsigned r=0; r<size-1; ++r) {
// populate one or two elements in each row:
unsigned result = 0;
symbol a("a"), b("b"), c("c");
- for (unsigned size=3; size<7; ++size) {
+ for (unsigned size=3; size<8; ++size) {
matrix A(size,size);
for (unsigned co=0; co<size-1; ++co) {
// populate one or two elements in each row:
unsigned result = 0;
symbol a("a");
- for (unsigned size=2; size<7; ++size) {
+ for (unsigned size=2; size<8; ++size) {
matrix A(size,size);
for (unsigned co=0; co<size; ++co) {
for (unsigned ro=0; ro<size; ++ro) {
unsigned result = 0;
symbol a("a"), b("b"), c("c");
- for (unsigned size=2; size<5; ++size) {
+ for (unsigned size=2; size<6; ++size) {
matrix A(size,size);
do {
for (unsigned co=0; co<size; ++co) {