public static GVector conjugateGradientSolve( GMatrix matrix, GVector b,
GVector initialGuess, double eps ) {
GVector x = new GVector( initialGuess );
GVector tempv = new GVector( initialGuess );
tempv.mul( matrix, initialGuess );
GVector bb = new GVector( b );
bb.sub( tempv );
GVector r = new GVector( bb );
GVector p = new GVector( r );
GVector xnew = new GVector( p );