Changeset a212fe in git
 Timestamp:
 Oct 5, 2010, 1:46:34 PM (14 years ago)
 Branches:
 (u'fiekerDuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '8a337797cc4177aa8747d661d5c4214ea2095dac')
 Children:
 a1f90e40f6eb4bdcfaf9ef62b43cfc9c02f4f093
 Parents:
 354d57c31490c4e447bb298f2e25eaaa537479eb
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/paraplanecurves.lib
r354d57 ra212fe 12 12 OVERVIEW: 13 13 14 A library for computing rational parametrizations of rational plane curves 15 defined over Q. @* 16 Suppose the curve is C = {f(x,y,z)=0} where f is homogeneous of degree 17 n and absolutely irreducible. (The conditions required will be checked 18 automatically.) @* 14 Suppose C = {f(x,y,z)=0} is a rational plane curve, where f is homogeneous 15 of degree n with coefficients in Q and absolutely irreducible (these 16 conditions are checked automatically.) @* 19 17 After a first step, realized by a projective automorphism in the procedure 20 18 adjointIdeal, C satisfies: @* 21 19  C does not have singularities at infinity z=0. @* 22 20  C does not contain the point (0:1:0) (that is, the dehomogenization of f 23 with respect to the third variable z must be monic as a polynomial in the 24 second variable y). @* 21 with respect to z is monic as a polynomial in y). @* 25 22 Considering C in the chart z<>0, the algorithm regards x as transcendental 26 23 and y as algebraic and computes an integral basis in C(x)[y] of the integral 27 24 closure of C[x] in C(x,y) using the normalization algorithm from 28 @ref normal.lib: see @ref integralbasis.lib. In a future edition of the library,29 also van Hoeij's algorithm for computing the integral basis will be 30 available. @*25 @ref{normal.lib}: see @ref{integralbasis.lib}. In a future edition of the 26 library, also van Hoeij's algorithm for computing the integral basis will 27 be available. @* 31 28 From the integral basis, the adjoint ideal is obtained by linear algebra. 32 29 Alternatively, the algorithm starts with a local analysis of the singular … … 34 31 does not correspond to ordinary multiple points or cusps, the integral 35 32 basis algorithm is applied separately. The ordinary multiple points and 36 cusps, in turn, are ad ressed by a straightforward direct algorithm. The33 cusps, in turn, are addressed by a straightforward direct algorithm. The 37 34 adjoint ideal is obtained by intersecting all ideals obtained locally. 38 35 The local variant of the algorithm is used by default. @* … … 49 46 REFERENCES: 50 47 48 Janko Boehm: Parametrisierung rationaler Kurven, Diploma Thesis, 49 http://www.math.unisb.de/ag/schreyer/jb/diplom%20janko%20boehm.pdf 50 51 51 Theo de Jong: An algorithm for computing the integral closure, 52 52 Journal of Symbolic Computation 26 (3) (1998), p. 273277 … … 54 54 GertMartin Greuel, Santiago Laplagne, Frank Seelisch: Normalization of Rings, 55 55 Journal of Symbolic Computation 9 (2010), p. 887901 56 57 Janko Boehm: Parametrisierung rationaler Kurven, Diploma Thesis,58 http://www.math.unisb.de/ag/schreyer/jb/diplom%20janko%20boehm.pdf59 56 60 57 Mark van Hoeij: An Algorithm for Computing an Integral Basis in an Algebraic … … 110 107 NOTE: The procedure might fail or give a wrong output if phi does 111 108 not define a birational map. 112 RETURN: ring, the coordinate ring of P, with an ideal 113 named J and an ideal named psi.114 @formatThe ideal J defines the image of phi.@*109 RETURN: ring, the coordinate ring of P, with an ideal named J and an ideal 110 named psi.@* 111 The ideal J defines the image of phi.@* 115 112 The ideal psi gives the inverse of phi.@* 116 113 Note that the entries of psi should be considered as representatives 117 114 of classes in the quotient ring R/J.@* 118 @end format119 115 THEORY: We compute the ideal I(G) in R**S of the graph G of phi.@* 120 116 The ideal J is given by the intersection of I(G) with S.@* … … 232 228 /////////////////////////////////////////////////////////////////////////////// 233 229 proc paraPlaneCurve(poly f, list #) 234 "USAGE: paraPlaneCurve(f [, c]); f poly , c optional integer@*230 "USAGE: paraPlaneCurve(f [, c]); f poly , c optional integer@* 235 231 optional integer c can be: @* 236 232 1: compute integral basis via normalization. @* … … 242 238 The polynomial f must be homogeneous and absolutely irreducible. @* 243 239 The curve C = {f = 0} must be rational, i.e., have geometric genus 0 244 (see @ref genus). @* 240 (see @ref{genus}). @* 241 These conditions will be checked automatically. 245 242 RETURN: ring with an ideal PARA. 246 243 THEORY: After a first step, realized by a projective automorphism in the … … 248 245  C does not have singularities at infinity z=0. @* 249 246  C does not contain the point (0:1:0) (that is, the dehomogenization of f 250 with respect to the third variable must be monic as a polynomial in the 251 second variable). @* 247 with respect to z is monic as a polynomial in y). @* 252 248 Considering C in the chart z<>0, the algorithm regards x as transcendental 253 249 and y as algebraic and computes an integral basis in C(x)[y] of the integral 254 closure of C[x] in C(x,y) using the normalization algorithm from normal.lib255 (see integralbasis.lib). In a future edition of the library, also van Hoeij's250 closure of C[x] in C(x,y) using the normalization algorithm from @ref{normal.lib}: 251 see @ref{integralbasis.lib}. In a future edition of the library, also van Hoeij's 256 252 algorithm for computing the integral basis will be available. @* 257 253 From the integral basis, the adjoint ideal is obtained by linear algebra. … … 260 256 does not correspond to ordinary multiple points or cusps, the integral 261 257 basis algorithm is applied separately. The ordinary multiple points and 262 cusps, in turn, are ad ressed by a straightforward direct algorithm. The258 cusps, in turn, are addressed by a straightforward direct algorithm. The 263 259 adjoint ideal is obtained by intersecting all ideals obtained locally. 264 260 The local variant of the algorithm is used by default. @* … … 434 430 /////////////////////////////////////////////////////////////////////////////// 435 431 proc adjointIdeal(poly f, list #) 436 "USAGE: adjointIdeal(f , [,choices]); f polynomial in three variables, choices432 "USAGE: adjointIdeal(f [, choices]); f polynomial in three variables, choices 437 433 optional list consisting of one integer or of one string or of one 438 434 integer followed by one string. @* 439 optional integer can be: @*435 Optional integer can be: @* 440 436 1: compute integral basis via normalization. @* 441 437 2: make local analysis of singularities first and apply normalization 442 438 separately. @* 443 439 The default is 2. @* 444 optional string may contain substrings: @*440 Optional string may contain substrings: @* 445 441  rattestyes > causes error message if curve is not rational. @* 446 442  firstchecksdone > prevents that check of assumptions will be done … … 454 450 transcendental and y as algebraic and computes an integral basis in C(x)[y] of 455 451 the integral closure of C[x] in C(x,y) using the normalization algorithm 456 from normal.lib (see integralbasis.lib). In a future edition of the library,452 from @ref{normal.lib}: see @ref{integralbasis.lib}. In a future edition of the library, 457 453 also van Hoeij's algorithm for computing the integral basis will be available.@* 458 454 From the integral basis, the adjoint ideal is obtained by linear algebra. … … 461 457 does not correspond to ordinary multiple points or cusps, the integral 462 458 basis algorithm is applied separately. The ordinary multiple points and 463 cusps, in turn, are ad ressed by a straightforward direct algorithm. The459 cusps, in turn, are addressed by a straightforward direct algorithm. The 464 460 adjoint ideal is obtained by intersecting all ideals obtained locally. 465 461 The local variant of the algorithm is used by default. @* … … 836 832 irreducible. 837 833 The plane curve C defined by f is rational. 838 The ideal I is the adjoint ideal of C.834 The ideal AI is the adjoint ideal of C. 839 835 RETURN: ring with an ideal RNC. 840 836 EXAMPLE: example mapToRatNormCurve; shows an example … … 900 896 proc rncAntiCanonicalMap(ideal I) 901 897 "USAGE: rncAntiCanonicalMap(I); I ideal 902 ASSUME: I is a homogeneous ideal in the basering 898 ASSUME: I is a homogeneous ideal in the basering 903 899 defining a rational normal curve C in PP^n. 904 900 NOTE: The procedure will fail or give a wrong output if I is not the … … 944 940 proc rncItProjOdd(ideal I) 945 941 "USAGE: rncItProjOdd(I); I ideal 946 ASSUME: I is a homogeneous ideal in the basering 947 with n+1 variables defining a rational normal curve C in PP^n with n 948 odd. 942 ASSUME: I is a homogeneous ideal in the basering with n+1 variables 943 defining a rational normal curve C in PP^n with n odd. 949 944 NOTE: The procedure will fail or give a wrong output if I is not the 950 945 ideal of a rational normal curve. It will test whether n is odd. … … 952 947 Note that the entries of PHI should be considered as 953 948 representatives of elements in R/I, where R is the basering. 954 THEORY: We iterate the procedure @ref rncAntiCanonicalMapto obtain PHI.949 THEORY: We iterate the procedure @ref{rncAntiCanonicalMap} to obtain PHI. 955 950 KEYWORDS: rational normal curve, projection. 956 951 SEE ALSO: rncItProjEven. … … 1059 1054 proc rncItProjEven(ideal I) 1060 1055 "USAGE: rncItProjEven(I); I ideal 1061 ASSUME: I is a homogeneous ideal in the basering 1062 with n+1 variables defining a rational normal curve C in PP^n with n 1063 even. 1056 ASSUME: I is a homogeneous ideal in the basering with n+1 variables 1057 defining a rational normal curve C in PP^n with n even. 1064 1058 NOTE: The procedure will fail or give a wrong output if I is not the 1065 1059 ideal of a rational normal curve. It will test whether n is odd. 1066 RETURN: ring with an ideal CONIC defining a conic C2 in PP^2. In addition,1067 an ideal PHI in the basering defining an isomorphic projection1068 of C to C2 will be exported.@*1060 RETURN: ring with an ideal CONIC defining a conic C2 in PP^2.@* 1061 In addition, an ideal PHI in the basering defining an isomorphic 1062 projection of C to C2 will be exported.@* 1069 1063 Note that the entries of PHI should be considered as 1070 1064 representatives of elements in R/I, where R is the basering. 1071 THEORY: We iterate the procedure @ref rncAntiCanonicalMapto obtain PHI.1065 THEORY: We iterate the procedure @ref{rncAntiCanonicalMap} to obtain PHI. 1072 1066 KEYWORDS: rational normal curve, projection. 1073 1067 SEE ALSO: rncItProjOdd. … … 1668 1662 The polynomial q must be homogeneous of degree 2 and absolutely 1669 1663 irreducible. @* 1670 We have the technical requirement that the basering should neither1671 use a variable s nor t.1672 1664 NOTE: The procedure might fail or give a wrong output if the assumptions 1673 1665 do not hold. … … 1677 1669 parametrization PP^1 > C2 = {q=0}. 1678 1670 1679 RETURN: ring with an ideal Ipoint defining a pencil of lines through a point 1680 on the conic C2 = {q=0}. This point has either coefficients in Q or 1681 in a quadratic extension field of Q. 1682 1683 THEORY: We compute a point on C2 via @ref rationalPointConic. The pencil of 1671 THEORY: We compute a point on C2 via @ref{rationalPointConic}. The pencil of 1684 1672 lines through this point projects C2 birationally to PP^1. Inverting 1685 1673 the projection gives the result. … … 2337 2325 ASSUME: assumes that p is an irreducible quadratic polynomial in the first 2338 2326 three ring variables; 2339 Ground field is expected to be Q.2327 ground field is expected to be Q. 2340 2328 RETURN: The method finds a point on the given conic. There are two 2341 2329 possibilities: … … 2537 2525 /////////////////////////////////////////////////////////////////////////////// 2538 2526 proc testParametrization(poly f, def rTT) 2539 "USAGE: testParametrization(f, rTT); f poly, rTT ring2527 "USAGE: testParametrization(f, rTT); f poly, rTT ring 2540 2528 ASSUME: The assumptions on the basering and the polynomial f are as required 2541 by @ref paraPlaneCurve. The ring rTT has two variables and contains2529 by @ref{paraPlaneCurve}. The ring rTT has two variables and contains 2542 2530 an ideal PARA (such as the ring obtained by applying 2543 @ref paraPlaneCurveto f).2531 @ref{paraPlaneCurve} to f). 2544 2532 RETURN: int which is 1 if PARA defines a parametrization of the curve 2545 2533 {f=0} and 0, otherwise. 2546 THEORY: We compute the image of PARA and compare it with f. 2534 THEORY: We compute the polynomial defining the image of PARA 2535 and compare it with f. 2547 2536 KEYWORDS: Parametrization, image. 2548 2537 EXAMPLE: example testParametrization; shows an example
Note: See TracChangeset
for help on using the changeset viewer.