# Singular #### D.5.4.2 invertBirMap

Procedure from library `paraplanecurves.lib` (see paraplanecurves_lib).

Usage:
invertBirMap(phi, I); phi ideal, I ideal

Assume:
The ideal phi in the basering R represents a birational map of the variety given by the ideal I in R to its image in projective space P = PP^(size(phi)-1).

Note:
The procedure might fail or give a wrong output if phi does not define a birational map.

Return:
ring, the coordinate ring of P, with an ideal named J and an ideal named psi.
The ideal J defines the image of phi.
The ideal psi gives the inverse of phi.
Note that the entries of psi should be considered as representatives of classes in the quotient ring R/J.

Theory:
We compute the ideal I(G) in R**S of the graph G of phi.
The ideal J is given by the intersection of I(G) with S.
The map psi is given by a relation mod J of those relations in I(G) which are linear in the variables of R.

Example:
 ```LIB "paraplanecurves.lib"; ring R = 0,(x,y,z),dp; poly f = y^8-x^3*(z+x)^5; ideal adj = adjointIdeal(f); def Rn = invertBirMap(adj,ideal(f)); ==> // 'invertBirMap' created a ring together with two ideals J and psi. ==> // Supposing you typed, say, def RPn = invertBirMap(phi,I); ==> // you may access the ideals by typing ==> // setring RPn; J; psi; setring(Rn); J; ==> J=y(5)*y(6)-y(4)*y(7) ==> J=y(4)*y(6)-y(3)*y(7) ==> J=y(2)*y(6)-y(1)*y(7) ==> J=y(4)*y(5)-y(2)*y(7) ==> J=y(3)*y(5)-y(1)*y(7) ==> J=y(1)*y(5)-y(7)^2 ==> J=y(4)^2-y(1)*y(7) ==> J=y(3)*y(4)-y(1)*y(6) ==> J=y(2)*y(4)-y(7)^2 ==> J=y(1)*y(4)-y(6)*y(7) ==> J=y(2)*y(3)-y(6)*y(7) ==> J=y(1)*y(3)-y(6)^2 ==> J=y(2)^2-y(5)*y(7) ==> J=y(1)*y(2)-y(4)*y(7) ==> J=y(1)^2-y(3)*y(7) ==> J=y(1)*y(6)^2-y(3)^2*y(7) ==> J=y(6)^4-y(3)^3*y(7) psi; ==> psi=-y(6)^2 ==> psi=-y(4)*y(7) ==> psi=y(6)^2-y(5)*y(7) ```

### Misc
{"ft_lang_label":"__label__en","ft_lang_prob":0.7451215,"math_prob":0.9983453,"size":1858,"snap":"2022-40-2023-06","text_gpt3_token_len":764,"char_repetition_ratio":0.17044228,"word_repetition_ratio":0.0,"special_character_ratio":0.44994617,"punctuation_ratio":0.09915612,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9998834,"pos_list":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],"im_url_duplicate_count":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2023-01-30T15:18:04Z\",\"WARC-Record-ID\":\"<urn:uuid:019a6dce-ca42-4805-8cb4-42b09f01818f>\",\"Content-Length\":\"14989\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:612829e5-f5bd-4ec3-8a23-33c580f43abf>\",\"WARC-Concurrent-To\":\"<urn:uuid:ccee8d90-4bfe-4d36-80c4-66fc2c2b0e3f>\",\"WARC-IP-Address\":\"131.246.164.60\",\"WARC-Target-URI\":\"https://www.singular.uni-kl.de/Manual/4-1-2/sing_1468.htm\",\"WARC-Payload-Digest\":\"sha1:CJKMJ3BLFBYEFPNVXVOYQUJZ5DZLYFDL\",\"WARC-Block-Digest\":\"sha1:NCTMDJNYRBS3HGNASZOUCV6FBYHMFRNQ\",\"WARC-Identified-Payload-Type\":\"application/xhtml+xml\",\"warc_filename\":\"/cc_download/warc_2023/CC-MAIN-2023-06/CC-MAIN-2023-06_segments_1674764499819.32_warc_CC-MAIN-20230130133622-20230130163622-00235.warc.gz\"}"}