public Matrix Solve(Matrix b) { if (Rows == Cols) { return (new LUDecomposition(this)).Solve(b); } else { return (new QRDecomposition(this)).Solve(b); } }