Vector b = Matrices.random(A.numRows());
Vector x = Matrices.random(A.numRows());
x = A.transSolve(b, x);
Vector y = A.transMultAdd(-1, x, x.copy().set(b));
assertEquals(0, y.norm(Vector.Norm.Two), tol);
assertEquals(Ad, A);
return;
} catch (MatrixSingularException e) {
Utilities.addDiagonal(A, Ad, 1);
} catch (MatrixNotSPDException e) {