public Vector solveFor(Vector b) { Matrix W = new Matrix(n_, n_, 0.0); for (int i=0; i<n_; i++) W[i,i] = 1.0/s_[i]; Matrix inverse = V()* W * Matrix.transpose(U()); Vector result = inverse * b; return result; }