LRtriple applies the Littlewood-Richardson homotopies to solve a generic instance of a Schubert problem defined by at least three Schubert conditions. The flags defining the instance are generated in the routine.
Use the method parseTriplet to parse the three strings f, p, and s into proper Macaulay2 polynomials, solution lists, and complex matrices.
The example below computes all 3-planes that satisfy [2 4 6]3.
i1 : R := ZZ; n := 6; m := matrix{{3, 2, 4, 6}}; 1 4 o3 : Matrix ZZ <--- ZZ |
i4 : result := LRtriple(n,m); PHCv2.4.27 released 2016-10-16 the input data for phc -e : 5 6 [ 2 4 6 ]^3; 0 0 0 /var/folders/11/t6mmkf11455d4nt0fn639c6h0000gn/T/M2-12064-0/3PHCout 0 y y 0 0 0 writing data to file /var/folders/11/t6mmkf11455d4nt0fn639c6h0000gn/T/M2-12064-0/2PHCip running phc -e, session output to /var/folders/11/t6mmkf11455d4nt0fn639c6h0000gn/T/M2-12064-0/4PHCses writing output to /var/folders/11/t6mmkf11455d4nt0fn639c6h0000gn/T/M2-12064-0/3PHCout opening output file /var/folders/11/t6mmkf11455d4nt0fn639c6h0000gn/T/M2-12064-0/5PHCsolutions |
i5 : stdio << "the fixed flags :\n" << result_0; the fixed flags : -8.29022886565264E-01 -5.59214675729274E-01 9.76827504981400E-02 9.95217604474076E-01 -8.45011068078958E-01 -5.34748814700939E-01 -9.29606821445155E-01 -3.68552787972953E-01 9.65324815297876E-01 2.61051720871787E-01 -1.11985961958912E-02 9.99937293755584E-01 8.01669576350549E-01 -5.97767421623102E-01 9.69508938895885E-01 2.45055947491537E-01 -2.10595556557071E-01 -9.77573276822979E-01 5.76944850730193E-01 8.16783104144494E-01 -9.89107634125742E-01 1.47194049180586E-01 -2.73296918048886E-01 -9.61929724348396E-01 6.12766793179059E-01 7.90263789615248E-01 6.12206984460356E-03 9.99981259954814E-01 -4.53924900687049E-01 -8.91039945533449E-01 -1.82813607152295E-01 -9.83147590669868E-01 -4.94375801484574E-01 8.69248276907401E-01 2.04187054081962E-01 -9.78931890861325E-01 -9.97943836066348E-01 6.40944619852738E-02 -7.02060551514187E-01 7.12117252991104E-01 8.82093493870176E-01 -4.71074376369491E-01 -9.85742835477572E-01 1.68258914487869E-01 9.99298213083565E-01 -3.74577272134011E-02 -3.19463994353325E-01 9.47598415106219E-01 9.17807244782684E-01 -3.97026272964924E-01 -7.97524830005053E-01 -6.03286122437281E-01 9.06868571189345E-01 -4.21413567162943E-01 -1.26118609314453E-01 9.92015169432700E-01 1.88852962137819E-01 -9.82005376101257E-01 -9.74268107568927E-01 -2.25392223854466E-01 8.07020286828348E-01 -5.90523713873957E-01 4.07376260165538E-01 -9.13260413383576E-01 -8.15289839077833E-01 5.79053087632249E-01 9.98854562104005E-01 4.78493862449350E-02 -9.79972530659555E-01 1.99132717434145E-01 -6.81605912005203E-01 -7.31719468594047E-01 THE MOVED FLAG : 1 1 1 1 1 1 -1 -1 -1 -1 -1 0 1 1 1 1 0 0 -1 -1 -1 0 0 0 1 1 0 0 0 0 -1 0 0 0 0 0 THE 3-SOLUTION PLANES : -4.53965964235655E-01 1.18899431834912E-01 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 2.29435028911436E-01 1.79083091093778E-01 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 -6.52613419441330E-02 -9.82963572148417E-01 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 -1.35778403635397E+00 -1.51884955761909E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 -4.83403257782166E-01 -5.02632809813715E-01 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 -8.39088147915431E-01 -5.65660351286339E-01 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00 |
i6 : stdio << "polynomial system solved :\n" << result_1; polynomial system solved : 6 3 +(-3.56705919301439E-01 + 4.98426210005591E+00*i)*x11*x32*x53 +(-1.72642368665351E+00 + 1.02570155722498E+01*i)*x11*x32 +( 5.51899391845285E+00 + 4.69443833660856E+00*i)*x11*x53 +( 6.99112443978732E-01 + 1.55606810547079E-01*i)*x32*x53 +(-6.84955574113303E-01 + 1.23838444503588E+01*i)*x11 +( 3.08942694319184E+00 + 8.17165957494603E-01*i)*x32 +( 3.02865817477227E+00 + 1.80004351838856E+00*i)*x53 +(-2.68547307910624E-02 + 6.55274210734938E+00*i); +(-1.17478312386843E+00 + 2.26354763465130E+00*i)*x11*x32*x53 +( 1.05063564313370E+01 - 7.26099005487244E-02*i)*x11*x32 +(-3.40232518425028E+00 - 2.04181866651161E+01*i)*x11*x53 +( 3.11516124776645E+00 + 7.45340300066674E+00*i)*x32*x53 +( 1.87497835400889E+01 - 1.27717907885198E+01*i)*x11 +(-1.38462533712059E+00 + 3.35060286864898E+00*i)*x32 +(-3.48024330223633E+00 - 1.11074215229965E+01*i)*x53 +( 9.43411484483972E+00 - 7.86321490391898E+00*i); +( 1.25781612885591E+01 - 6.03847008503803E+00*i)*x11*x32*x53 +( 1.53184005623173E+01 - 1.72530911420793E+00*i)*x11*x32 +( 6.43849797122673E+00 - 7.40951776881755E+00*i)*x11*x53 +( 7.23829032381867E+00 - 6.39089721721376E-01*i)*x32*x53 +( 1.27913908587530E+01 - 3.18453434113125E+00*i)*x11 +( 4.08966553075589E+00 + 9.89511300079834E-01*i)*x32 +( 3.42489422184151E+00 - 3.83087964180077E+00*i)*x53 +( 5.26379975931046E+00 - 1.98262996563073E+00*i); +( 3.90147881433556E+00 + 9.37648343879722E-01*i)*x11*x32*x53 +( 1.68406841667549E+01 + 7.29525471502446E+00*i)*x11*x32 +( 2.82492221009920E+00 - 2.01838614140541E+01*i)*x11*x53 +( 2.06020205249338E+00 + 7.66228767874837E+00*i)*x32*x53 +( 2.05762511797511E+01 - 4.44379599463613E+00*i)*x11 +( 1.46945614643293E+00 + 2.76025580578704E+00*i)*x32 +(-6.19542483381137E-01 - 1.10840303947763E+01*i)*x53 +( 1.04238696921857E+01 - 4.34758122318481E+00*i); +( 1.13603877633030E-01 - 3.16426776761987E+00*i)*x11*x32*x53 +( 1.38305404578201E+01 + 2.89108685309796E+00*i)*x11*x32 +(-2.40341456257187E+00 - 2.37860828098966E+01*i)*x11*x53 +( 1.71541825692051E+00 + 5.01784278100090E+00*i)*x32*x53 +( 1.70430832943293E+01 - 1.10144527281662E+01*i)*x11 +( 1.28021170067460E+00 + 1.90690514696846E+00*i)*x32 +(-3.23392053296552E+00 - 1.27727030153111E+01*i)*x53 +( 8.45777130161303E+00 - 6.61525331712569E+00*i); +(-9.52626595512000E+00 + 3.78289284158651E-01*i)*x11*x32*x53 +(-5.12683153013040E+00 - 6.93513519191898E-01*i)*x11*x32 +(-1.79636152250254E+00 - 1.30023058835334E+01*i)*x11*x53 +(-4.26998607893702E+00 + 3.40176935680298E+00*i)*x32*x53 +( 5.69497120848433E+00 - 7.08619016589717E+00*i)*x11 +(-3.35110499582458E+00 - 4.91413921383599E-01*i)*x32 +(-2.30398449912018E+00 - 6.75598339121860E+00*i)*x53 +( 2.37140649202908E+00 - 3.89374124983478E+00*i); |
i7 : stdio << "solutions :\n" << result_2; solutions : 2 3 =========================================================================== solution 1 : t : 1.00000000000000E+00 0.00000000000000E+00 m : 1 the solution for t : x11 : -4.53965964235655E-01 1.18899431834912E-01 x32 : 2.29435028911436E-01 1.79083091093778E-01 x53 : -6.52613419441330E-02 -9.82963572148417E-01 == err : 0.000E+00 = rco : 1.000E+00 = res : 2.013E-15 == solution 2 : t : 1.00000000000000E+00 0.00000000000000E+00 m : 1 the solution for t : x11 : -1.35778403635397E+00 -1.51884955761909E+00 x32 : -4.83403257782166E-01 -5.02632809813715E-01 x53 : -8.39088147915431E-01 -5.65660351286339E-01 == err : 0.000E+00 = rco : 1.000E+00 = res : 2.013E-15 == TIMING INFORMATION for resolving a Schubert problem The elapsed time in seconds was 0.011271000 = 0h 0m 0s 11ms User time in seconds was 0.011099000 = 0h 0m 0s 11ms System CPU time in seconds was 0.000172000 = 0h 0m 0s 0ms Non-I/O page faults was 148 I/O page faults was 0 Signals delivered was 0 Swaps was 0 Total context switches was 2 Seed used in random number generators : 12068. PHCv2.4.27 released 2016-10-16 |