{"id":"affine2d-invert","version":"1.0.0","description":"Invert a nonsingular exact rational 2D affine map with canonical output.","supported_operations":["invert affine transformation exactly","find inverse 2D affine map","exact rational matrix inverse","undo a planar affine transform","invert translation rotation shear scale","compute affine inverse"],"unsupported_operations":["pseudoinverse of singular maps","floating point matrix inversion"],"semantics":["The determinant a*d-b*c is tested exactly.","Zero determinant is not_computable.","Rationals are canonical reduced strings."],"limits":{"max_input_bytes":65536,"max_rational_chars":256,"max_items":256,"max_output_bytes":65536},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["transform"],"properties":{"transform":{"type":"object","additionalProperties":false,"required":["a","b","c","d","tx","ty"],"properties":{"a":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"b":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"c":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"d":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"tx":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"ty":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["transform","reference"],"properties":{"transform":{"type":"object","additionalProperties":false,"required":["a","b","c","d","tx","ty"],"properties":{"a":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"b":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"c":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"d":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"tx":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"ty":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}},"reference":{"type":"string","const":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}}},"examples":[{"input":{"transform":{"a":"1","b":"0","c":"0","d":"1","tx":"2","ty":"-3"}},"output":{"transform":{"a":"1","b":"0","c":"0","d":"1","tx":"-2","ty":"3"},"reference":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}},{"input":{"transform":{"a":"2","b":"0","c":"0","d":"3","tx":"0","ty":"0"}},"output":{"transform":{"a":"1/2","b":"0","c":"0","d":"1/3","tx":"0","ty":"0"},"reference":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}}],"execute_url":"/v1/tools/affine2d-invert/versions/1.0.0/execute"}