These are timing and accuracy results to solve the system
$$
\gathered
 -\nabla\cdot(a\nabla u)+b\cdot\nabla u+cu=f\quad\text{on }\Omega,
\\
a\frac{\partial u}{\partial n}+\gamma u=g\quad\text{on }\partial Omega.
\endgathered
$$
with $b=0$ with $\Omega=[0,1]^2$ and a regular
grid of size $129 \times 129$ with one set of diagonals and
linear finite elements.  Conjugate gradient with various preconditioers
was used.  I solved the problem on the k=7'th refinement
of the two-triangulation of the square until the dot product of the
residual with the preconditioner of the residual was $16^{-k}$. 
It's not clear to me what the stopping criterion should be.

The four columns of numbers are L2 error, H1 error, User ms, and GC ms.

The L2 and H1 errors were estimated by injecting the approximate
solution into a $257 \times 257$ grid and comparing it with the
interpolant of the true solution on the fine grid.  The problems
are roughly in increasing order of difficulty; in the last
problem, for example, the stiffness coefficient $a$ varies from
1.0 to 21.0 over the domain.

User ms is the amount of user+system time to solve the linear
system only; every once in a while there was a garbage collection
during the solution process, whose time is measured separately.

The tests were run on a box:

% cat /proc/cpu
model name	: Intel(R) Core(TM)2 Quad  CPU   Q8200  @ 2.33GHz

% uname -a
Linux heine 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

% gsi -v
v4.6.4 20120222164157 x86_64-unknown-linux-gnu "./configure 'CC=gcc -march=native -fschedule-insns -frename-registers' '--enable-single-host' '--enable-shared' '--enable-multiple-versions'"

% gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) 

heine:~/programs/615project/2012/code> gsc++ -:m1000000
[ Meroon V3 Paques2001+1 $Revision: 1.2 $ ]
Gambit v4.6.4

> (load "all")
"/home/lucier/programs/615project/2012/code/all.o1"
> (load "final-tests")
"/home/lucier/programs/615project/2012/code/final-tests.o1"
> (run-cg-tests symmetric-tests)
The number of refinements is 7

a=1, c=1, u=1, Robin, gamma=x (error = 0 with exact linear algebra)
CG: (Identity preconditioner)           .0000068903     .0000923789     420.    0.
CG: (Diagonal preconditioner)           .0000462286     .0003439902     368.    100.
CG: (Gauss-Seidel preconditioner)       .0000364740     .0002816136     320.    0.

a=1, c=1, u=x, Neumann (error = 0 with exact linear algebra)
CG: (Identity preconditioner)           .0000049105     .0000978166     372.    0.
CG: (Diagonal preconditioner)           .0000280211     .0003103475     144.    96.
CG: (Gauss-Seidel preconditioner)       .0000932567     .0004037135     252.    0.

a=1+xy, c=1, u=x+y, Neumann (error = 0 with exact linear algebra)
CG: (Identity preconditioner)           .0000058875     .0000905903     544.    0.
CG: (Diagonal preconditioner)           .0000480641     .0003347609     388.    100.
CG: (Gauss-Seidel preconditioner)       .0000308550     .0002028615     372.    0.

a=1, c=1, u=x^2-y^2, Neumann
CG: (Identity preconditioner)           .0000178524     .0055265902     280.    0.
CG: (Diagonal preconditioner)           .0000062320     .0055243868     204.    96.
CG: (Gauss-Seidel preconditioner)       .0000227212     .0055283885     176.    0.

a=1, c=1, u=\cos(\pi x), Neumann
CG: (Identity preconditioner)           .0000308271     .0136300308     176.    0.
CG: (Diagonal preconditioner)           .0000513635     .0136335376     60.     0.
CG: (Gauss-Seidel preconditioner)       .0000463294     .0136320274     136.    0.

a=1, c=1, u=\sin(\pi x)+\sin(\pi y), Neumann
CG: (Identity preconditioner)           .0001293431     .0192817840     248.    0.
CG: (Diagonal preconditioner)           .0001168842     .0192826374     180.    0.
CG: (Gauss-Seidel preconditioner)       .0001162350     .0192801277     324.    0.

a=11.0+10.0*\cos\pi x, c=1, u=xy, Neumann
CG: (Identity preconditioner)           .0000143842     .0039063974     1368.   100.
CG: (Diagonal preconditioner)           .0000173137     .0039080293     568.    96.
CG: (Gauss-Seidel preconditioner)       .0000167438     .0039074115     476.    0.

a=1, c=1+xy, u=x^2-y^2, Neumann
CG: (Identity preconditioner)           .0000103995     .0055255250     260.    120.
CG: (Diagonal preconditioner)           .0001655261     .0056521738     188.    0.
CG: (Gauss-Seidel preconditioner)       .0000233600     .0055282658     232.    0.

a=1, c=2+\cos(\pi y), u=\cos(\pi x), Neumann
CG: (Identity preconditioner)           .0000309947     .0136305575     260.    0.
CG: (Diagonal preconditioner)           .0000334641     .0136317774     180.    0.
CG: (Gauss-Seidel preconditioner)       .0000486066     .0136329634     168.    96.

a=1, c=1, gamma=2+\cos(\pi x), u=\sin(\pi x)+\sin(\pi y), Robin
CG: (Identity preconditioner)           .0000358807     .0192766031     348.    0.
CG: (Diagonal preconditioner)           .0000394758     .0192773913     360.    0.
CG: (Gauss-Seidel preconditioner)       .0000384384     .0192771901     328.    92.

a=11.0+10.0*\cos\pi x, c=1+xy, gamma=2+\cos(\pi x), u=xy, Robin
CG: (Identity preconditioner)           .0000123240     .0039061715     1140.   96.
CG: (Diagonal preconditioner)           .0000158813     .0039078359     568.    0.
CG: (Gauss-Seidel preconditioner)       .0000147558     .0039071844     520.    0.
> 

