==================================================================== Zero Dimensional Solve ==================================================================== The ZeroDimensionalSolvePackage package constructor provides operations for computing symbolically the complex or real roots of zero-dimensional algebraic systems. The package provides no multiplicity information (i.e. some returned roots may be double or higher) but only distinct roots are returned. Complex roots are given by means of univariate representations of irreducible regular chains. These representations are computed by the univariateSolve operation (by calling the InternalRationalUnivariateRepresentationPackage package constructor which does the job). Real roots are given by means of tuples of coordinates lying in the RealClosure of the coefficient ring. They are computed by the realSolve and positiveSolve operations. The former computes all the solutions of the input system with real coordinates whereas the later concentrate on the solutions with (strictly) positive coordinates. In both cases, the computations are performed by the RealClosure constructor. Both computations of complex roots and real roots rely on triangular decompositions. These decompositions can be computed in two different ways. First, by a applying the zeroSetSplit operation from the REGSET domain constructor. In that case, no Groebner bases are computed. This strategy is used by default. Secondly, by applying the zeroSetSplit from LEXTRIPK. To use this later strategy with the operations univariateSolve, realSolve and positiveSolve one just needs to use an extra boolean argument. Note that the way of understanding triangular decompositions is detailed in the example of the RegularTriangularSet constructor. The ZeroDimensionalSolvePackage constructor takes three arguments.The first one R is the coefficient ring; it must belong to the categories OrderedRing, EuclideanDomain, CharacteristicZero and RealConstant. This means essentially that R is Integer or Fraction(Integer). The second argument ls is the list of variables involved in the systems to solve. The third one MUST BE concat(ls,s) where s is an additional symbol used for the univariate representations. The abbreviation for ZeroDimensionalSolvePackage is ZDSOLVE. We illustrate now how to use the constructor ZDSOLVE by two examples: the Arnborg and Lazard system and the L-3 system (Aubry and Moreno Maza). Note that the use of this package is also demonstrated in the example of the LexTriangularPackage constructor. Define the coefficient ring. :: R := Integer Integer Type: Domain Define the lists of variables: :: ls : List Symbol := [x,y,z,t] [x,y,z,t] Type: List Symbol and: :: ls2 : List Symbol := [x,y,z,t,new()$Symbol] [x,y,z,t,%A] Type: List Symbol Call the package: :: pack := ZDSOLVE(R,ls,ls2) ZeroDimensionalSolvePackage(Integer,[x,y,z,t],[x,y,z,t,%A]) Type: Domain Define a polynomial system (Arnborg-Lazard) :: p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z 2 2 2 x y z + (x y + (x + x + 1)y + x)z + x y Type: Polynomial Integer p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z 2 2 2 2 2 x y z + (x y + (x + x + 1)y + 1)z + x Type: Polynomial Integer p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1 2 2 2 2 2 x y z + ((x + x)y + x y + x + 1)z + 1 Type: Polynomial Integer lp := [p1, p2, p3] 2 2 2 [x y z + (x y + (x + x + 1)y + x)z + x y, 2 2 2 2 2 x y z + (x y + (x + x + 1)y + 1)z + x, 2 2 2 2 2 x y z + ((x + x)y + x y + x + 1)z + 1] Type: List Polynomial Integer Note that these polynomials do not involve the variable t; we will use it in the second example. First compute a decomposition into regular chains (i.e. regular triangular sets). :: triangSolve(lp)$pack [ { 20 19 18 17 16 15 14 13 12 z - 6z - 41z + 71z + 106z + 92z + 197z + 145z + 257z + 11 10 9 8 7 6 5 4 3 278z + 201z + 278z + 257z + 145z + 197z + 92z + 106z + 71z + 2 - 41z - 6z + 1 , 19 18 17 16 14745844z + 50357474z - 130948857z - 185261586z + 15 14 13 12 - 180077775z - 338007307z - 275379623z - 453190404z + 11 10 9 8 - 474597456z - 366147695z - 481433567z - 430613166z + 7 6 5 4 - 261878358z - 326073537z - 163008796z - 177213227z + 3 2 - 104356755z + 65241699z + 9237732z - 1567348 * y + 19 18 17 16 15 1917314z + 6508991z - 16973165z - 24000259z - 23349192z + 14 13 12 11 10 - 43786426z - 35696474z - 58724172z - 61480792z - 47452440z + 9 8 7 6 5 - 62378085z - 55776527z - 33940618z - 42233406z - 21122875z + 4 3 2 - 22958177z - 13504569z + 8448317z + 1195888z - 202934 , 3 2 3 2 2 2 ((z - 2z)y + (- z - z - 2z - 1)y - z - z + 1)x + z - 1} ] Type: List RegularChain(Integer,[x,y,z,t]) We can see easily from this decomposition (consisting of a single regular chain) that the input system has 20 complex roots. Then we compute a univariate representation of this regular chain. :: univariateSolve(lp)$pack [ [ complexRoots = 12 11 10 9 8 7 6 5 4 3 ? - 12? + 24? + 4? - 9? + 27? - 21? + 27? - 9? + 4? + 2 24? - 12? + 1 , coordinates = [ 11 10 9 8 7 6 63x + 62%A - 721%A + 1220%A + 705%A - 285%A + 1512%A + 5 4 3 2 - 735%A + 1401%A - 21%A + 215%A + 1577%A - 142 , 11 10 9 8 7 6 63y - 75%A + 890%A - 1682%A - 516%A + 588%A - 1953%A + 5 4 3 2 1323%A - 1815%A + 426%A - 243%A - 1801%A + 679 , z - %A] ] , 6 5 4 3 2 [complexRoots= ? + ? + ? + ? + ? + ? + 1, 5 3 coordinates= [x - %A ,y - %A ,z - %A]] , 2 [complexRoots= ? + 5? + 1,coordinates= [x - 1,y - 1,z - %A]]] Type: List Record(complexRoots: SparseUnivariatePolynomial Integer, coordinates: List Polynomial Integer) We see that the zeros of our regular chain are split into three components. This is due to the use of univariate polynomial factorization. Each of these components consist of two parts. The first one is an irreducible univariate polynomial p(?) which defines a simple algebraic extension of the field of fractions of R. The second one consists of multivariate polynomials pol1(x,%A), pol2(y,%A) and pol3(z,%A). Each of these polynomials involve two variables: one is an indeterminate x, y or z of the input system lp and the other is %A which represents any root of p(?). Recall that this %A is the last element of the third parameter of ZDSOLVE. Thus any complex root ? of p(?) leads to a solution of the input system lp by replacing %A by this ? in pol1(x,%A), pol2(y,%A) and pol3(z,%A). Note that the polynomials pol1(x,%A), pol2(y,%A) and pol3(z,%A) have degree one w.r.t. x, y or z respectively. This is always the case for all univariate representations. Hence the operation univariateSolve replaces a system of multivariate polynomials by a list of univariate polynomials, what justifies its name. Another example of univariate representations illustrates the LexTriangularPackage package constructor. We now compute the solutions with real coordinates: :: lr := realSolve(lp)$pack [ [%B1, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B1 - ------- %B1 - ------- %B1 + -------- %B1 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B1 + -------- %B1 + ------ %B1 + --------- %B1 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B1 + --------- %B1 + --------- %B1 + --------- %B1 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B1 + ------- %B1 + ------ %B1 + ------- %B1 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B1 + -------- %B1 - ---- %B1 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B1 + ------ %B1 + ------- %B1 - ------- %B1 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B1 - -------- %B1 - -------- %B1 - ------ %B1 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B1 - -------- %B1 - -------- %B1 - ------- %B1 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B1 - -------- %B1 - -------- %B1 - -------- %B1 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B1 - -------- %B1 - ------- %B1 + ------ 26117 705159 705159 705159 ] , [%B2, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B2 - ------- %B2 - ------- %B2 + -------- %B2 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B2 + -------- %B2 + ------ %B2 + --------- %B2 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B2 + --------- %B2 + --------- %B2 + --------- %B2 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B2 + ------- %B2 + ------ %B2 + ------- %B2 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B2 + -------- %B2 - ---- %B2 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B2 + ------ %B2 + ------- %B2 - ------- %B2 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B2 - -------- %B2 - -------- %B2 - ------ %B2 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B2 - -------- %B2 - -------- %B2 - ------- %B2 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B2 - -------- %B2 - -------- %B2 - -------- %B2 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B2 - -------- %B2 - ------- %B2 + ------ 26117 705159 705159 705159 ] , [%B3, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B3 - ------- %B3 - ------- %B3 + -------- %B3 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B3 + -------- %B3 + ------ %B3 + --------- %B3 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B3 + --------- %B3 + --------- %B3 + --------- %B3 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B3 + ------- %B3 + ------ %B3 + ------- %B3 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B3 + -------- %B3 - ---- %B3 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B3 + ------ %B3 + ------- %B3 - ------- %B3 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B3 - -------- %B3 - -------- %B3 - ------ %B3 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B3 - -------- %B3 - -------- %B3 - ------- %B3 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B3 - -------- %B3 - -------- %B3 - -------- %B3 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B3 - -------- %B3 - ------- %B3 + ------ 26117 705159 705159 705159 ] , [%B4, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B4 - ------- %B4 - ------- %B4 + -------- %B4 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B4 + -------- %B4 + ------ %B4 + --------- %B4 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B4 + --------- %B4 + --------- %B4 + --------- %B4 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B4 + ------- %B4 + ------ %B4 + ------- %B4 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B4 + -------- %B4 - ---- %B4 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B4 + ------ %B4 + ------- %B4 - ------- %B4 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B4 - -------- %B4 - -------- %B4 - ------ %B4 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B4 - -------- %B4 - -------- %B4 - ------- %B4 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B4 - -------- %B4 - -------- %B4 - -------- %B4 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B4 - -------- %B4 - ------- %B4 + ------ 26117 705159 705159 705159 ] , [%B5, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B5 - ------- %B5 - ------- %B5 + -------- %B5 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B5 + -------- %B5 + ------ %B5 + --------- %B5 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B5 + --------- %B5 + --------- %B5 + --------- %B5 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B5 + ------- %B5 + ------ %B5 + ------- %B5 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B5 + -------- %B5 - ---- %B5 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B5 + ------ %B5 + ------- %B5 - ------- %B5 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B5 - -------- %B5 - -------- %B5 - ------ %B5 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B5 - -------- %B5 - -------- %B5 - ------- %B5 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B5 - -------- %B5 - -------- %B5 - -------- %B5 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B5 - -------- %B5 - ------- %B5 + ------ 26117 705159 705159 705159 ] , [%B6, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B6 - ------- %B6 - ------- %B6 + -------- %B6 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B6 + -------- %B6 + ------ %B6 + --------- %B6 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B6 + --------- %B6 + --------- %B6 + --------- %B6 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B6 + ------- %B6 + ------ %B6 + ------- %B6 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B6 + -------- %B6 - ---- %B6 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B6 + ------ %B6 + ------- %B6 - ------- %B6 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B6 - -------- %B6 - -------- %B6 - ------ %B6 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B6 - -------- %B6 - -------- %B6 - ------- %B6 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B6 - -------- %B6 - -------- %B6 - -------- %B6 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B6 - -------- %B6 - ------- %B6 + ------ 26117 705159 705159 705159 ] , [%B7, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B7 - ------- %B7 - ------- %B7 + -------- %B7 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B7 + -------- %B7 + ------ %B7 + --------- %B7 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B7 + --------- %B7 + --------- %B7 + --------- %B7 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B7 + ------- %B7 + ------ %B7 + ------- %B7 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B7 + -------- %B7 - ---- %B7 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B7 + ------ %B7 + ------- %B7 - ------- %B7 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B7 - -------- %B7 - -------- %B7 - ------ %B7 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B7 - -------- %B7 - -------- %B7 - ------- %B7 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B7 - -------- %B7 - -------- %B7 - -------- %B7 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B7 - -------- %B7 - ------- %B7 + ------ 26117 705159 705159 705159 ] , [%B8, 1184459 19 2335702 18 5460230 17 79900378 16 ------- %B8 - ------- %B8 - ------- %B8 + -------- %B8 1645371 548457 182819 1645371 + 43953929 15 13420192 14 553986 13 193381378 12 -------- %B8 + -------- %B8 + ------ %B8 + --------- %B8 548457 182819 3731 1645371 + 35978916 11 358660781 10 271667666 9 118784873 8 -------- %B8 + --------- %B8 + --------- %B8 + --------- %B8 182819 1645371 1645371 548457 + 337505020 7 1389370 6 688291 5 3378002 4 --------- %B8 + ------- %B8 + ------ %B8 + ------- %B8 1645371 11193 4459 42189 + 140671876 3 32325724 2 8270 9741532 --------- %B8 + -------- %B8 - ---- %B8 - ------- 1645371 548457 343 1645371 , 91729 19 487915 18 4114333 17 1276987 16 - ------ %B8 + ------ %B8 + ------- %B8 - ------- %B8 705159 705159 705159 235053 + 13243117 15 16292173 14 26536060 13 722714 12 - -------- %B8 - -------- %B8 - -------- %B8 - ------ %B8 705159 705159 705159 18081 + 5382578 11 15449995 10 14279770 9 6603890 8 - ------- %B8 - -------- %B8 - -------- %B8 - ------- %B8 100737 235053 235053 100737 + 409930 7 37340389 6 34893715 5 26686318 4 - ------ %B8 - -------- %B8 - -------- %B8 - -------- %B8 6027 705159 705159 705159 + 801511 3 17206178 2 4406102 377534 - ------ %B8 - -------- %B8 - ------- %B8 + ------ 26117 705159 705159 705159 ] ] Type: List List RealClosure Fraction Integer The number of real solutions for the input system is: :: # lr 8 Type: PositiveInteger Each of these real solutions is given by a list of elements in RealClosure(R). In these 8 lists, the first element is a value of z, the second of y and the last of x. This is logical since by setting the list of variables of the package to [x,y,z,t] we mean that the elimination ordering on the variables is t < z < y < x. Note that each system treated by the ZDSOLVE package constructor needs only to be zero-dimensional w.r.t. the variables involved in the system it-self and not necessarily w.r.t. all the variables used to define the package. We can approximate these real numbers as follows. This computation takes between 30 sec. and 5 min, depending on your machine. :: [ [approximate(r,1/1000000) for r in point] for point in lr] [ 10048059 [- --------, 2097152 4503057316985387943524397913838966414596731976211768219335881208385516_ 314058924567176091423629695777403099833360761048898228916578137094309_ 838597331137202584846939132376157019506760357601165917454986815382098_ 789094851523420392811293126141329856546977145464661495487825919941188_ 447041722440491921567263542158028061437758844364634410045253024786561_ 923163288214175 / 4503057283025245488516511806985826635083100693757320465280554706865644_ 949577509916867201889438090408354817931718593862797624551518983570793_ 048774424291488708829840324189200301436123314860200821443733790755311_ 243632919864895421704228949571290016119498807957023663865443069392027_ 148979688266712323356043491523434068924275280417338574817381189277066_ 143312396681216 , 2106260768823475073894798680486016596249607148690685538763683715020639_ 680858649650790055889505646893309447097099937802187329095325898785247_ 249020717504983660482075156618738724514685333060011202964635166381351_ 543255982200250305283981086837110614842307026091211297929876896285681_ 830479054760056380762664905618462055306047816191782011588703789138988_ 1895 / 2106260609498464192472113804816474175341962953296434102413903142368757_ 967685273888585590975965211778862189872881953943640246297357061959812_ 326103659799025126863258676567202342106877031710184247484181423288921_ 837681237062708470295706218485928867400771937828499200923760593314168_ 901000666373896347598118228556731037072026474496776228383762993923280_ 0768 ] , 2563013 [- -------, 2097152 - 2611346176791927789698617693237757719238259963063541781922752330440_ 189899668072928338490768623593207442125925986733815932243504809294_ 837523030237337236806668167446173001727271353311571242897 / 1165225400505222530583981916004589143757226610276858990008790134819_ 914940922413753983971394019523433320408139928153188829495755455163_ 963417619308395977544797140231469234269034921938055593984 , 3572594550275917221096588729615788272998517054675603239578198141006034_ 091735282826590621902304466963941971038923304526273329316373757450061_ 9789892286110976997087250466235373 / 1039548269345598936877071244834026055800814551120170592200522366591759_ 409659486442339141029452950265179989960104811875822530205346505131581_ 2439017247289173865014702966308864 ] , 1715967 [- -------, 2097152 - 4213093533784303521084839517977082390377261503969586224828998436606_ 030656076359374564813773498376603121267822565801436206939519951465_ 18222580524697287410022543952491 / 9441814144185374458649692034349224052436597470966253663930641960795_ 805882585493199840191699917659443264824641135187383583888147867340_ 19307857605820364195856822304768 , 7635833347112644222515625424410831225347475669008589338834162172501904_ 994376346730876809042845208919919925302105720971453918982731389072591_ 4035 / 2624188764086097199784297610478066633934230467895851602278580978503784_ 549205788499019640602266966026891580103543567625039018629887141284916_ 75648 ] , 437701 [- -------, 2097152 1683106908638349588322172332654225913562986313181951031452750161441497_ 473455328150721364868355579646781603507777199075077835213366484533654_ 91383623741304759 / 1683106868095213389001709982705913638963077668731226111167785188004907_ 425226298680325887810962614140298597366984264887998908377068799998454_ 23381649008099328 , 4961550109835010186422681013422108735958714801003760639707968096646912_ 82670847283444311723917219104249213450966312411133 / 4961549872757738315509192078210209029852897118611097126236384040829376_ 59261914313170254867464792718363492160482442215424 ] , 222801 [-------, 2097152 - 8994884880402428265107595121970691427136045692541978275573001865213_ 759921588137716696126349101655220195142994932299137183241705867672_ 383477 / 1167889998665026372177765100691888582708969960229934769690835752457_ 077779416435209473767866507769405888942764587718542434255625992456_ 372224 , - 2389704888133156878320801544373808395612771509208491019847452991885_ 509546519525467839016613593999693886640036283570552321155037871291_ 458703265 / 5355487273645096326090403286689931905988225444685411433221593833681_ 192957562833671468654290340746993656285925599117602120446183443145_ 479421952 ] , 765693 [-------, 2097152 8558969219816716267873244761178198088724698958616670140213765754322002_ 303251685786118678330840203328837654339523418704917749518340772512899_ 000391009630373148561 / 2941442445533010790976428411376393499815580215945856917906452535495723_ 013856818941702330228779890141296236721138154231997238917322156711965_ 2444639331719460159488 , - 2057618230582572101247650324860242561111302581543588808843923662767_ 549382241659362712290777612800192921420574408948085193743688582762_ 2246433251878894899015 / 2671598203325735538097952353501450220576313759890835097091722520642_ 710198771902667183948906289863714759678360292483949204616471537777_ 775324180661095366656 ] , 5743879 [-------, 2097152 1076288816968906847955546394773570208171456724942618614023663123574768_ 960850434263971398072546592772662158833449797698617455397887562900072_ 984768000608343553189801693408727205047612559889232757563830528688953_ 535421809482771058917542602890060941949620874083007858366669453501766_ 24841488732463225 / 3131768957080317946648461940023552044190376613458584986228549631916196_ 601616219781765615532532294746529648276430583810894079374566460757823_ 146888581195556029208515218838883200318658407469399426063260589828612_ 309231596669129707986481319851571942927230340622934023923486703042068_ 1530440845099008 , - 2113286699185750918364120475565458437870172489865485994389828135335_ 264444665284557526492734931691731407872701432935503473348172076098_ 720545849008780077564160534317894688366119529739980502944162668550_ 098127961950496210221942878089359674925850594427768502251789758706_ 752831632503615 / 1627615584937987580242906624347104580889144466168459718043153839408_ 372525533309808070363699585502216011211087103263609551026027769414_ 087391148126221168139781682587438075322591466131939975457200522349_ 838568964285634448018562038272378787354460106106141518010935617205_ 1706396253618176 ] , 19739877 [--------, 2097152 - 2997249936832703303799015804861520949215040387500707177701285766720_ 192530579422478953566024359860143101547801638082771611160372212874_ 847778035809872843149225484238365858013629341705321702582333350918_ 009601789937023985935304900460493389873837030853410347089908880814_ 853981132018464582458800615394770741699487295875960210750215891948_ 814476854871031530931295467332190133702671098200902282300510751860_ 7185928457030277807397796525813862762239286996106809728023675 / 2308433274852278590728910081191811023906504141321432646123936794873_ 933319270608960702138193417647898360620229519176632937631786851455_ 014766027206259022252505551741823688896883806636602574431760472240_ 292093196729475160247268834121141893318848728661844434927287285112_ 897080767552864895056585864033178565910387065006112801516403522741_ 037360990556054476949527059227070809593049491257519554708879259595_ 52929920110858560812556635485429471554031675979542656381353984 , - 5128189263548228489096276397868940080600938410663080459407966335845_ 009264109490520459825316250084723010047035024497436523038925818959_ 289312931584701353927621435434398674263047293909122850133851990696_ 490231566094371994333795070782624011727587749989296611277318372294_ 624207116537910436554574146082884701305543912620419354885410735940_ 157775896602822364575864611831512943973974715166920465061850603762_ 87516256195847052412587282839139194642913955 / 2288281939778439330531208793181290471183631092455368990386390824243_ 509463644236249773080647438987739144921607794682653851741189091711_ 741868145114978337284191822497675868358729486644730856622552687209_ 203724411800481405702837198310642291275676195774614443815996713502_ 629391749783590041470860127752372996488627742672487622480063268808_ 889324891850842494934347337603075939980268208482904859678177751444_ 65749979827872616963053217673201717237252096 ] ] Type: List List Fraction Integer We can also concentrate on the solutions with real (strictly) positive coordinates: :: lpr := positiveSolve(lp)$pack [] Type: List List RealClosure Fraction Integer Thus we have checked that the input system has no solution with strictly positive coordinates. Let us define another polynomial system (L-3). :: f0 := x**3 + y + z + t- 1 3 z + y + x + t - 1 Type: Polynomial Integer f1 := x + y**3 + z + t -1 3 z + y + x + t - 1 Type: Polynomial Integer f2 := x + y + z**3 + t-1 3 z + y + x + t - 1 Type: Polynomial Integer f3 := x + y + z + t**3 -1 3 z + y + x + t - 1 Type: Polynomial Integer lf := [f0, f1, f2, f3] 3 3 3 3 [z + y + x + t - 1,z + y + x + t - 1,z + y + x + t - 1,z + y + x + t - 1] Type: List Polynomial Integer First compute a decomposition into regular chains (i.e. regular triangular sets). :: lts := triangSolve(lf)$pack [ 2 3 3 {t + t + 1, z - z - t + t, 3 2 2 3 6 3 3 2 (3z + 3t - 3)y + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + 6 3 9 6 3 (3t - 6t + 3)z + t - 3t + 5t - 3t , x + y + z} , 16 13 10 7 4 2 {t - 6t + 9t + 4t + 15t - 54t + 27, 15 14 13 12 11 4907232t + 40893984t - 115013088t + 22805712t + 36330336t + 10 9 8 7 162959040t - 159859440t - 156802608t + 117168768t + 6 5 4 3 126282384t - 129351600t + 306646992t + 475302816t + 2 - 1006837776t - 237269088t + 480716208 * z + 54 51 48 46 45 43 42 48t - 912t + 8232t - 72t - 46848t + 1152t + 186324t + 40 39 38 37 36 35 - 3780t - 543144t - 3168t - 21384t + 1175251t + 41184t + 34 33 32 31 30 278003t - 1843242t - 301815t - 1440726t + 1912012t + 29 28 27 26 25 1442826t + 4696262t - 922481t - 4816188t - 10583524t + 24 23 22 21 20 - 208751t + 11472138t + 16762859t - 857663t - 19328175t + 19 18 17 16 15 - 18270421t + 4914903t + 22483044t + 12926517t - 8605511t + 14 13 12 11 10 - 17455518t - 5014597t + 8108814t + 8465535t + 190542t + 9 8 7 6 5 4 - 4305624t - 2226123t + 661905t + 1169775t + 226260t - 209952t + 3 - 141183t + 27216t , 3 2 2 3 6 3 3 2 (3z + 3t - 3)y + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + 6 3 9 6 3 (3t - 6t + 3)z + t - 3t + 5t - 3t , 3 x + y + z + t - 1} , 2 2 2 {t,z - 1,y - 1,x + y}, {t - 1,z,y - 1,x + y}, {t - 1,z - 1,z y + 1,x}, 16 13 10 7 4 2 {t - 6t + 9t + 4t + 15t - 54t + 27, 29 28 27 26 25 4907232t + 40893984t - 115013088t - 1730448t - 168139584t + 24 23 22 21 738024480t - 195372288t + 315849456t - 2567279232t + 20 19 18 17 937147968t + 1026357696t + 4780488240t - 2893767696t + 16 15 14 13 - 5617160352t - 3427651728t + 5001100848t + 8720098416t + 12 11 10 9 2331732960t - 499046544t - 16243306272t - 9748123200t + 8 7 6 5 3927244320t + 25257280896t + 10348032096t - 17128672128t + 4 3 2 - 14755488768t + 544086720t + 10848188736t + 1423614528t + - 2884297248 * z + 68 65 62 60 59 57 56 - 48t + 1152t - 13560t + 360t + 103656t - 7560t - 572820t + 54 53 52 51 50 49 71316t + 2414556t + 2736t - 402876t - 7985131t - 49248t + 48 47 46 45 44 1431133t + 20977409t + 521487t - 2697635t - 43763654t + 43 42 41 40 39 - 3756573t - 2093410t + 71546495t + 19699032t + 35025028t + 38 37 36 35 34 - 89623786t - 77798760t - 138654191t + 87596128t + 235642497t + 33 32 31 30 29 349607642t - 93299834t - 551563167t - 630995176t + 186818962t + 28 27 26 25 995427468t + 828416204t - 393919231t - 1076617485t + 24 23 22 21 - 1609479791t + 595738126t + 1198787136t + 4342832069t + 20 19 18 17 - 2075938757t - 4390835799t - 4822843033t + 6932747678t + 16 15 14 13 6172196808t + 1141517740t - 4981677585t - 9819815280t + 12 11 10 9 - 7404299976t - 157295760t + 29124027630t + 14856038208t + 8 7 6 5 - 16184101410t - 26935440354t - 3574164258t + 10271338974t + 4 3 2 11191425264t + 6869861262t - 9780477840t - 3586674168t + 2884297248 , 3 3 2 6 3 9 6 3 (3z + (6t - 6)z + (6t - 12t + 3)z + 2t - 6t + t + 3t)y + 3 3 6 3 2 9 6 3 12 9 (3t - 3)z + (6t - 12t + 6)z + (4t - 12t + 11t - 3)z + t - 4t + 6 3 5t - 2t , 3 x + y + z + t - 1} , 2 {t - 1,z - 1,y,x + z}, 8 7 6 5 4 3 2 {t + t + t - 2t - 2t - 2t + 19t + 19t - 8, 7 6 5 4 3 2395770t + 3934440t - 3902067t - 10084164t - 1010448t + 2 32386932t + 22413225t - 10432368 * z + 7 6 5 4 3 - 463519t + 3586833t + 9494955t - 8539305t - 33283098t + 2 35479377t + 46263256t - 17419896 , 4 3 3 6 3 2 3 3z + (9t - 9)z + (12t - 24t + 9)z + (- 152t + 219t - 67)z + 6 4 3 - 41t + 57t + 25t - 57t + 16 * y + 3 4 6 3 3 3 2 (3t - 3)z + (9t - 18t + 9)z + (- 181t + 270t - 89)z + 6 4 3 7 6 4 3 (- 92t + 135t + 49t - 135t + 43)z + 27t - 27t - 54t + 396t + - 486t + 144 , 3 x + y + z + t - 1} , 3 {t,z - t + 1,y - 1,x - 1}, {t - 1,z,y,x}, {t,z - 1,y,x}, {t,z,y - 1,x}, {t,z,y,x - 1}] Type: List RegularChain(Integer,[x,y,z,t]) Then we compute a univariate representation. :: univariateSolve(lf)$pack [[complexRoots= ?,coordinates= [x - 1,y - 1,z + 1,t - %A]], [complexRoots= ?,coordinates= [x,y - 1,z,t - %A]], [complexRoots= ? - 1,coordinates= [x,y,z,t - %A]], [complexRoots= ?,coordinates= [x - 1,y,z,t - %A]], [complexRoots= ?,coordinates= [x,y,z - 1,t - %A]], [complexRoots= ? - 2,coordinates= [x - 1,y + 1,z,t - 1]], [complexRoots= ?,coordinates= [x + 1,y - 1,z,t - 1]], [complexRoots= ? - 1,coordinates= [x - 1,y + 1,z - 1,t]], [complexRoots= ? + 1,coordinates= [x + 1,y - 1,z - 1,t]], 6 3 2 [complexRoots= ? - 2? + 3? - 3, 3 3 coordinates= [2x + %A + %A - 1,2y + %A + %A - 1,z - %A,t - %A]] , 5 3 2 [complexRoots= ? + 3? - 2? + 3? - 3, 3 coordinates= [x - %A,y - %A,z + %A + 2%A - 1,t - %A]] , 4 3 2 [complexRoots= ? - ? - 2? + 3, 3 3 3 coordinates= [x + %A - %A - 1,y + %A - %A - 1,z - %A + 2%A + 1,t - %A]] , [complexRoots= ? + 1,coordinates= [x - 1,y - 1,z,t - %A]], 6 3 2 [complexRoots= ? + 2? + 3? - 3, 3 3 coordinates= [2x - %A - %A - 1,y + %A,2z - %A - %A - 1,t + %A]] , 6 4 3 2 [complexRoots= ? + 12? + 20? - 45? - 42? - 953, coordinates = 5 4 3 2 [12609x + 23%A + 49%A - 46%A + 362%A - 5015%A - 8239, 5 4 3 2 25218y + 23%A + 49%A - 46%A + 362%A + 7594%A - 8239, 5 4 3 2 25218z + 23%A + 49%A - 46%A + 362%A + 7594%A - 8239, 5 4 3 2 12609t + 23%A + 49%A - 46%A + 362%A - 5015%A - 8239] ] , 5 3 2 [complexRoots= ? + 12? - 16? + 48? - 96, 3 coordinates= [8x + %A + 8%A - 8,2y - %A,2z - %A,2t - %A]] , 5 4 3 2 [complexRoots= ? + ? - 5? - 3? + 9? + 3, coordinates = 3 3 3 [2x - %A + 2%A - 1, 2y + %A - 4%A + 1, 2z - %A + 2%A - 1, 3 2t - %A + 2%A - 1] ] , 4 3 2 [complexRoots= ? - 3? + 4? - 6? + 13, coordinates = 3 2 3 2 [9x - 2%A + 4%A - %A + 2, 9y + %A - 2%A + 5%A - 1, 3 2 3 2 9z + %A - 2%A + 5%A - 1, 9t + %A - 2%A - 4%A - 1] ] , 4 2 [complexRoots= ? - 11? + 37, coordinates = 2 2 2 2 [3x - %A + 7,6y + %A + 3%A - 7,3z - %A + 7,6t + %A - 3%A - 7] ] , [complexRoots= ? + 1,coordinates= [x - 1,y,z - 1,t + 1]], [complexRoots= ? + 2,coordinates= [x,y - 1,z - 1,t + 1]], [complexRoots= ? - 2,coordinates= [x,y - 1,z + 1,t - 1]], [complexRoots= ?,coordinates= [x,y + 1,z - 1,t - 1]], [complexRoots= ? - 2,coordinates= [x - 1,y,z + 1,t - 1]], [complexRoots= ?,coordinates= [x + 1,y,z - 1,t - 1]], 4 3 2 [complexRoots= ? + 5? + 16? + 30? + 57, coordinates = 3 2 3 2 [151x + 15%A + 54%A + 104%A + 93, 151y - 10%A - 36%A - 19%A - 62, 3 2 3 2 151z - 5%A - 18%A - 85%A - 31, 151t - 5%A - 18%A - 85%A - 31] ] , 4 3 2 [complexRoots= ? - ? - 2? + 3, 3 3 3 coordinates= [x - %A + 2%A + 1,y + %A - %A - 1,z - %A,t + %A - %A - 1]] , 4 3 2 [complexRoots= ? + 2? - 8? + 48, coordinates = 3 3 3 [8x - %A + 4%A - 8,2y + %A,8z + %A - 8%A + 8,8t - %A + 4%A - 8] ] , 5 4 3 2 [complexRoots= ? + ? - 2? - 4? + 5? + 8, 3 3 3 coordinates= [3x + %A - 1,3y + %A - 1,3z + %A - 1,t - %A]] , 3 [complexRoots= ? + 3? - 1,coordinates= [x - %A,y - %A,z - %A,t - %A]]] Type: List Record(complexRoots: SparseUnivariatePolynomial Integer, coordinates: List Polynomial Integer) Note that this computation is made from the input system lf. However it is possible to reuse a pre-computed regular chain as follows: :: ts := lts.1 2 3 3 {t + t + 1, z - z - t + t, 3 2 2 3 6 3 3 2 (3z + 3t - 3)y + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + 6 3 9 6 3 (3t - 6t + 3)z + t - 3t + 5t - 3t , x + y + z} Type: RegularChain(Integer,[x,y,z,t]) univariateSolve(ts)$pack [ 4 3 2 [complexRoots= ? + 5? + 16? + 30? + 57, coordinates = 3 2 3 2 [151x + 15%A + 54%A + 104%A + 93, 151y - 10%A - 36%A - 19%A - 62, 3 2 3 2 151z - 5%A - 18%A - 85%A - 31, 151t - 5%A - 18%A - 85%A - 31] ] , 4 3 2 [complexRoots= ? - ? - 2? + 3, 3 3 3 coordinates= [x - %A + 2%A + 1,y + %A - %A - 1,z - %A,t + %A - %A - 1]] , 4 3 2 [complexRoots= ? + 2? - 8? + 48, coordinates = 3 3 3 [8x - %A + 4%A - 8,2y + %A,8z + %A - 8%A + 8,8t - %A + 4%A - 8] ] ] Type: List Record(complexRoots: SparseUnivariatePolynomial Integer, coordinates: List Polynomial Integer) realSolve(ts)$pack [] Type: List List RealClosure Fraction Integer We compute now the full set of points with real coordinates: :: lr2 := realSolve(lf)$pack [[0,- 1,1,1], [0,0,1,0], [1,0,0,0], [0,0,0,1], [0,1,0,0], [1,0,%B37,- %B37], [1,0,%B38,- %B38], [0,1,%B35,- %B35], [0,1,%B36,- %B36], [- 1,0,1,1], [%B32, 1 15 2 14 1 13 4 12 11 11 4 10 -- %B32 + -- %B32 + -- %B32 - -- %B32 - -- %B32 - -- %B32 27 27 27 27 27 27 + 1 9 14 8 1 7 2 6 1 5 2 4 3 -- %B32 + -- %B32 + -- %B32 + - %B32 + - %B32 + - %B32 + %B32 27 27 27 9 3 9 + 4 2 - %B32 - %B32 - 2 3 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B32 - -- %B32 - -- %B32 + -- %B32 + -- %B32 + -- %B32 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B32 - -- %B32 - -- %B32 - - %B32 - - %B32 - - %B32 - %B32 54 27 54 9 6 9 + 2 2 1 3 - - %B32 + - %B32 + - 3 2 2 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B32 - -- %B32 - -- %B32 + -- %B32 + -- %B32 + -- %B32 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B32 - -- %B32 - -- %B32 - - %B32 - - %B32 - - %B32 - %B32 54 27 54 9 6 9 + 2 2 1 3 - - %B32 + - %B32 + - 3 2 2 ] , [%B33, 1 15 2 14 1 13 4 12 11 11 4 10 -- %B33 + -- %B33 + -- %B33 - -- %B33 - -- %B33 - -- %B33 27 27 27 27 27 27 + 1 9 14 8 1 7 2 6 1 5 2 4 3 -- %B33 + -- %B33 + -- %B33 + - %B33 + - %B33 + - %B33 + %B33 27 27 27 9 3 9 + 4 2 - %B33 - %B33 - 2 3 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B33 - -- %B33 - -- %B33 + -- %B33 + -- %B33 + -- %B33 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B33 - -- %B33 - -- %B33 - - %B33 - - %B33 - - %B33 - %B33 54 27 54 9 6 9 + 2 2 1 3 - - %B33 + - %B33 + - 3 2 2 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B33 - -- %B33 - -- %B33 + -- %B33 + -- %B33 + -- %B33 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B33 - -- %B33 - -- %B33 - - %B33 - - %B33 - - %B33 - %B33 54 27 54 9 6 9 + 2 2 1 3 - - %B33 + - %B33 + - 3 2 2 ] , [%B34, 1 15 2 14 1 13 4 12 11 11 4 10 -- %B34 + -- %B34 + -- %B34 - -- %B34 - -- %B34 - -- %B34 27 27 27 27 27 27 + 1 9 14 8 1 7 2 6 1 5 2 4 3 -- %B34 + -- %B34 + -- %B34 + - %B34 + - %B34 + - %B34 + %B34 27 27 27 9 3 9 + 4 2 - %B34 - %B34 - 2 3 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B34 - -- %B34 - -- %B34 + -- %B34 + -- %B34 + -- %B34 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B34 - -- %B34 - -- %B34 - - %B34 - - %B34 - - %B34 - %B34 54 27 54 9 6 9 + 2 2 1 3 - - %B34 + - %B34 + - 3 2 2 , 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B34 - -- %B34 - -- %B34 + -- %B34 + -- %B34 + -- %B34 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B34 - -- %B34 - -- %B34 - - %B34 - - %B34 - - %B34 - %B34 54 27 54 9 6 9 + 2 2 1 3 - - %B34 + - %B34 + - 3 2 2 ] , [- 1,1,0,1], [- 1,1,1,0], [%B23, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B23 - -- %B23 - -- %B23 + -- %B23 + -- %B23 + -- %B23 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B23 - -- %B23 - -- %B23 - - %B23 - - %B23 - - %B23 - %B23 54 27 54 9 6 9 + 2 2 1 3 - - %B23 + - %B23 + - 3 2 2 , %B30, 1 15 1 14 1 13 2 12 11 11 - %B30 + -- %B23 + -- %B23 + -- %B23 - -- %B23 - -- %B23 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B23 + -- %B23 + -- %B23 + -- %B23 + - %B23 + - %B23 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B23 + - %B23 - - %B23 - - 9 3 2 2 ] , [%B23, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B23 - -- %B23 - -- %B23 + -- %B23 + -- %B23 + -- %B23 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B23 - -- %B23 - -- %B23 - - %B23 - - %B23 - - %B23 - %B23 54 27 54 9 6 9 + 2 2 1 3 - - %B23 + - %B23 + - 3 2 2 , %B31, 1 15 1 14 1 13 2 12 11 11 - %B31 + -- %B23 + -- %B23 + -- %B23 - -- %B23 - -- %B23 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B23 + -- %B23 + -- %B23 + -- %B23 + - %B23 + - %B23 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B23 + - %B23 - - %B23 - - 9 3 2 2 ] , [%B24, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B24 - -- %B24 - -- %B24 + -- %B24 + -- %B24 + -- %B24 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B24 - -- %B24 - -- %B24 - - %B24 - - %B24 - - %B24 - %B24 54 27 54 9 6 9 + 2 2 1 3 - - %B24 + - %B24 + - 3 2 2 , %B28, 1 15 1 14 1 13 2 12 11 11 - %B28 + -- %B24 + -- %B24 + -- %B24 - -- %B24 - -- %B24 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B24 + -- %B24 + -- %B24 + -- %B24 + - %B24 + - %B24 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B24 + - %B24 - - %B24 - - 9 3 2 2 ] , [%B24, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B24 - -- %B24 - -- %B24 + -- %B24 + -- %B24 + -- %B24 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B24 - -- %B24 - -- %B24 - - %B24 - - %B24 - - %B24 - %B24 54 27 54 9 6 9 + 2 2 1 3 - - %B24 + - %B24 + - 3 2 2 , %B29, 1 15 1 14 1 13 2 12 11 11 - %B29 + -- %B24 + -- %B24 + -- %B24 - -- %B24 - -- %B24 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B24 + -- %B24 + -- %B24 + -- %B24 + - %B24 + - %B24 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B24 + - %B24 - - %B24 - - 9 3 2 2 ] , [%B25, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B25 - -- %B25 - -- %B25 + -- %B25 + -- %B25 + -- %B25 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B25 - -- %B25 - -- %B25 - - %B25 - - %B25 - - %B25 - %B25 54 27 54 9 6 9 + 2 2 1 3 - - %B25 + - %B25 + - 3 2 2 , %B26, 1 15 1 14 1 13 2 12 11 11 - %B26 + -- %B25 + -- %B25 + -- %B25 - -- %B25 - -- %B25 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B25 + -- %B25 + -- %B25 + -- %B25 + - %B25 + - %B25 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B25 + - %B25 - - %B25 - - 9 3 2 2 ] , [%B25, 1 15 1 14 1 13 2 12 11 11 2 10 - -- %B25 - -- %B25 - -- %B25 + -- %B25 + -- %B25 + -- %B25 54 27 54 27 54 27 + 1 9 7 8 1 7 1 6 1 5 1 4 3 - -- %B25 - -- %B25 - -- %B25 - - %B25 - - %B25 - - %B25 - %B25 54 27 54 9 6 9 + 2 2 1 3 - - %B25 + - %B25 + - 3 2 2 , %B27, 1 15 1 14 1 13 2 12 11 11 - %B27 + -- %B25 + -- %B25 + -- %B25 - -- %B25 - -- %B25 54 27 54 27 54 + 2 10 1 9 7 8 1 7 1 6 1 5 - -- %B25 + -- %B25 + -- %B25 + -- %B25 + - %B25 + - %B25 27 54 27 54 9 6 + 1 4 2 2 1 1 - %B25 + - %B25 - - %B25 - - 9 3 2 2 ] , [1,%B21,- %B21,0], [1,%B22,- %B22,0], [1,%B19,0,- %B19], [1,%B20,0,- %B20], 1 3 1 1 3 1 1 3 1 [%B17,- - %B17 + -,- - %B17 + -,- - %B17 + -], 3 3 3 3 3 3 1 3 1 1 3 1 1 3 1 [%B18,- - %B18 + -,- - %B18 + -,- - %B18 + -]] 3 3 3 3 3 3 Type: List List RealClosure Fraction Integer The number of real solutions for the input system is: :: #lr2 27 Type: PositiveInteger Another example of computation of real solutions illustrates the LexTriangularPackage package constructor. We concentrate now on the solutions with real (strictly) positive coordinates: :: lpr2 := positiveSolve(lf)$pack 1 3 1 1 3 1 1 3 1 [[%B40,- - %B40 + -,- - %B40 + -,- - %B40 + -]] 3 3 3 3 3 3 Type: List List RealClosure Fraction Integer Finally, we approximate the coordinates of this point with 20 exact digits: :: [approximate(r,1/10**21)::Float for r in lpr2.1] [0.3221853546 2608559291, 0.3221853546 2608559291, 0.3221853546 2608559291, 0.3221853546 2608559291] Type: List Float See Also: * )show ZeroDimensionalSolvePackage