I don't normally find it kosher to advertise on forums, but it seems appropriate in this case. If you are interested in ScaLAPACK functionality in C++, you may want to consider Elemental, which can be found here:
http://code.google.com/p/elemental.
I bring it up because I found the example Julie posted to be surprisingly verbose relative to the Elemental equivalent, which can be found here:
http://code.google.com/p/elemental/sour ... nation.cppI should probably mentioned that I noticed a few bugs in the timer_pdgesv.c example code: it seems they are incorrectly computing the norms of the factored A rather than the original A, i.e., on lines 215, 244, 275, 350, 379, 410, 485, 514, 545, 620, 649, 680, 755, 784, 815, 890, 919, 950, 1025, 1054, 1085, 1160, 1189, 1220, 1295, 1324, 1355, 1430, 1459, 1490, 1565, 1594, and 1625.
Julie, perhaps I'm misunderstanding something, but it seems that the same code was copied and pasted several times in the main body in order to test the accuracy on several random matrices. Why not just do a for loop instead?
By the way, to be completely fair, I should mention that while Elemental has a large percentage of the functionality of ScaLAPACK, and some extra neat functions like Hermitian matrix functions, Hermitian pseudoinverses, and a skew-Hermitian eigensolver, it is currently lacking SVD, non-Hermitian eigensolves, and support for banded matrices.
Jack