public Transform invert () {
// compute the determinant, storing the subdeterminants for later use
double det = m00*m11 - m10*m01;
if (Math.abs(det) == 0f) {
// determinant is zero; matrix is not invertible
throw new NoninvertibleTransformException(this.toString());
}
double rdet = 1f / det;
return new AffineTransform(
+m11 * rdet, -m10 * rdet,
-m01 * rdet, +m00 * rdet,