4
$\begingroup$

I am trying to find a way in Mathematica to compute points on discriminant variety for modest size systems, but I couldn't find one. The system is something like:

poly = {-4 + gamma1 - 7/8 X[7, 1] - 441/440 X[4, 1] X[7, 1] + 
  441/440 X[2, 1] X[8, 1], -2 + gamma2 + 441/440 X[4, 1] X[7, 1] - 
  7/10 X[8, 1] - 441/440 X[2, 1] X[8, 1], 
  X[5, 1] + 7/8 X[7, 1] + 7/10 X[8, 1], -1 + X[1, 1] + 7/8 X[2, 1] - (
  3381 X[2, 1]^2)/1760 + 441/440 X[2, 1] X[4, 1] - (3381 X[7, 1]^2)/
  1760 + 441/440 X[7, 1] X[8, 1], -(1/2) + X[3, 1] + 7/10 X[4, 1] + 
  441/440 X[2, 1] X[4, 1] - (1911 X[4, 1]^2)/1100 + 
  441/440 X[7, 1] X[8, 1] - (1911 X[8, 1]^2)/1100, -(3/2) + 
  7/8 X[2, 1] + 7/10 X[4, 1] + X[6, 1], 1 - X[2, 1]^2 - X[7, 1]^2, 
  1 - X[4, 1]^2 - X[8, 1]^2}

where X's are variables and gamma are parameters.

There seems a mention on multivariate resultant here: Multivariate resultant in Mathematica? But apparently it is hardcoded to work for only 3 variables case. I don't know if there is any further progress on it.

$\endgroup$
  • 1
    $\begingroup$ You are interested in points on the zero set that satisfy what condition? Multiplicity, for particular gammaN values? Vanishing leading coefficients in a Groebner basis? Something else? $\endgroup$ – Daniel Lichtblau Aug 31 '15 at 16:41
  • $\begingroup$ @DanielLichtblau, I am interseted in the zero set of these equations which also satisfy the condition that the Jacobian determinant vanishes (or, equivalently, the Jacobian matrix of this system of equations has at least one zero eigenvalue). $\endgroup$ – dbm Aug 31 '15 at 17:47
  • $\begingroup$ Btw, why are people voting to close the question?! What's wrong with it? $\endgroup$ – dbm Aug 31 '15 at 19:00
  • 2
    $\begingroup$ I don't know, it seemed like a reasonable question to me. Just a bit underspecified. Maybe there is a concern that we not discriminate against varieties (one can never be too careful). $\endgroup$ – Daniel Lichtblau Aug 31 '15 at 19:05
  • $\begingroup$ I agree. I am using too many algebraic geometry terms which may not be familiar to many. But it is a very specific question so I was hoping that only an expert (like you!) may read/answer anyway. $\endgroup$ – dbm Aug 31 '15 at 19:54
6
$\begingroup$

This should give you a start at least.

polys = {-4 + gamma1 - 7/8 X[7, 1] - 441/440 X[4, 1] X[7, 1] + 
    441/440 X[2, 1] X[8, 1], -2 + gamma2 + 441/440 X[4, 1] X[7, 1] - 
    7/10 X[8, 1] - 441/440 X[2, 1] X[8, 1], 
   X[5, 1] + 7/8 X[7, 1] + 7/10 X[8, 1], -1 + X[1, 1] + 
    7/8 X[2, 1] - (3381 X[2, 1]^2)/1760 + 
    441/440 X[2, 1] X[4, 1] - (3381 X[7, 1]^2)/1760 + 
    441/440 X[7, 1] X[8, 1], -(1/2) + X[3, 1] + 7/10 X[4, 1] + 
    441/440 X[2, 1] X[4, 1] - (1911 X[4, 1]^2)/1100 + 
    441/440 X[7, 1] X[8, 1] - (1911 X[8, 1]^2)/1100, -(3/2) + 
    7/8 X[2, 1] + 7/10 X[4, 1] + X[6, 1], 1 - X[2, 1]^2 - X[7, 1]^2, 
   1 - X[4, 1]^2 - X[8, 1]^2};
vars = Complement[Variables[poly], {gamma1, gamma2}];
jac = Map[D[poly, #] &, vars];
djac = Det[jac];

Now we'll coopt one parameter as a variable (so the system does not become overdetermined) and see if we can deduce an algebraic relation between the parameters when the polynomials and the Jacobian determinant simultaneously vanish.

Timing[
 gb = GroebnerBasis[Append[polys, djac], Join[vars, {gamma1}], 
    CoefficientDomain -> RationalFunctions];]

(* Out[75]= {0.934818, Null} *)

In[79]:= Map[Variables, gb]

(* Out[79]= {{gamma1, gamma2}, {gamma2, gamma1, X[8, 1]}, {gamma2, 
  gamma1, X[7, 1]}, {gamma2, gamma1, X[6, 1]}, {gamma1, gamma2, 
  X[5, 1]}, {gamma2, gamma1, X[4, 1]}, {gamma2, gamma1, 
  X[3, 1]}, {gamma2, gamma1, X[2, 1]}, {gamma2, gamma1, X[1, 1]}} *)

The first polynomial is our sought-for relation. Et voila:

gb[[1]]

(* Out[80]= 1459068093786121848060322509463046499552349521 + 
 155339953761226945028161536000000000000 gamma1^10 - 
 1915081166369656946633953547098274176310630400 gamma2 + 
 1472689157311413871968864565590205614437779200 gamma2^2 - 
 854732322369957045024818473014965287895040000 gamma2^3 + 
 362501092261881670885736234709145199016960000 gamma2^4 - 
 107203152552705234143124031318081536000000000 gamma2^5 + 
 21804221591296818674158690271896780800000000 gamma2^6 - 
 3022977264174495213466056523776000000000000 gamma2^7 + 
 276495404190509689829586505728000000000000 gamma2^8 - 
 15169917359494818850406400000000000000000 gamma2^9 + 
 379247933987370471260160000000000000000 gamma2^10 + 
 gamma1^9 (-7766997688061347251408076800000000000000 + 
    776699768806134725140807680000000000000 gamma2) + 
 gamma1^8 (173620998328347639242334379022745600000000 - 
    35463188957706973623707762688000000000000 gamma2 + 
    2841975963396753927073431552000000000000 gamma2^2 - 
    483238321612611523706880000000000000000 gamma2^3 + 
    60404790201576440463360000000000000000 gamma2^4) + 
 gamma1^7 (-2285921061734240766213357677051904000000000 + 
    715343187911285115790011864082022400000000 gamma2 - 
    115539348048158560134975455232000000000000 gamma2^2 + 
    26006156783015461486149500928000000000000 gamma2^3 - 
    4349144894513503713361920000000000000000 gamma2^4 + 
    241619160806305761853440000000000000000 gamma2^5) + 
 gamma1^6 (19650977977333178764263961334360309760000000 - 
    8376132281047373564314386391734681600000000 gamma2 + 
    2036431571230925334410809461807513600000000 gamma2^2 - 
    564832875586212239202362327040000000000000 gamma2^3 + 
    115855767402478864384112197632000000000000 gamma2^4 - 
    11114481397090065045258240000000000000000 gamma2^5 + 
    362428741209458642780160000000000000000 gamma2^6) + 
 gamma1^5 (-115465200303375621315017318717833347072000000 + 
    62882630782816692750502501078332604416000000 gamma2 - 
    20375689441769276292379168222268620800000000 gamma2^2 + 
    6646687440530329832323145586337382400000000 gamma2^3 - 
    1590536281056624849342544478208000000000000 gamma2^4 + 
    204576166491517886686512021504000000000000 gamma2^5 - 
    12080958040315288092672000000000000000000 gamma2^6 + 
    241619160806305761853440000000000000000 gamma2^7) + 
 gamma1^3 (-1323930422365375280230653474237698771251200000 + 
    1061675221619643207381494366847958237685760000 gamma2 - 
    513521569670534542884166420278038167552000000 gamma2^2 + 
    212952135324061183679809249026825224192000000 gamma2^3 - 
    63740503853662813431339512106424729600000000 gamma2^4 + 
    11575499427772949788833118867292160000000000 gamma2^5 - 
    1165298601551076084170172137472000000000000 gamma2^6 + 
    57234946380051493389179289600000000000000 gamma2^7 - 
    966476643225223047413760000000000000000 gamma2^8) + 
 gamma1^4 (471074446316683506094239920576948797524480000 - 
    315165269503868173617389532503389470720000000 gamma2 + 
    127289066523684946559226698769628979200000000 gamma2^2 - 
    47294832704629235034515708559019212800000000 gamma2^3 + 
    12780811424171980839888938655553945600000000 gamma2^4 - 
    1998595521387778096202602512384000000000000 gamma2^5 + 
    161923221138829317372685320192000000000000 gamma2^6 - 
    5798859859351338284482560000000000000000 gamma2^7 + 
    60404790201576440463360000000000000000 gamma2^8) + 
 gamma1^2 (2469857162602076049138895158610675338174384000 - 
    2341195424451366002163637089762771076608000000 gamma2 + 
    1326933311129266469529106887939395042206720000 gamma2^2 - 
    609492894745618287455356632392943730688000000 gamma2^3 + 
    201307407569622679927467844954108469248000000 gamma2^4 - 
    42041985166732409454943207642890240000000000 gamma2^5 + 
    5179471567201371366078534263439360000000000 gamma2^6 - 
    342781571502925189685968896000000000000000 gamma2^7 + 
    9424891017101341830728908800000000000000 gamma2^8) + 
 gamma1 (-2786737678459577150137926127828331274117388800 + 
    3106455164737358855569198858431423758946758400 gamma2 - 
    2048040280835498276844870306211639452364800000 gamma2^2 + 
    1048746806405314688100975443808154856355840000 gamma2^3 - 
    387792281025161977938479519935573622784000000 gamma2^4 + 
    95116472904167442428814573142925721600000000 gamma2^5 - 
    14896128259370412132867091240058880000000000 gamma2^6 + 
    1436478901562699090551332421632000000000000 gamma2^7 - 
    78604189612466939542005350400000000000000 gamma2^8 + 
    1896239669936852356300800000000000000000 gamma2^9) *)

For more strenuous systems one might want to use term orders that are (often) faster than the default MonomialOrder->Lexicographic. I'd go with an order that is degree-based on the variables followed by degree in the parameter gamma1.

|improve this answer|||||
$\endgroup$
  • $\begingroup$ Great answer! Will the condition that the det of jacobian vanishes be better than the jac.v=0 where 'v' is an arbitrary vector of v1, ..., v8, and 0 is a 8-dim vector of 0? The latter condition will give 8 equations. $\endgroup$ – dbm Aug 31 '15 at 19:52
  • 1
    $\begingroup$ How will that arbitrary v be specified? This is a bit of an unfamiliar for me. Seems mildly related to u-resultants, maybe. $\endgroup$ – Daniel Lichtblau Aug 31 '15 at 20:56
  • $\begingroup$ Probably, with additional constraint equation that the norm of the vector v is 1. Anyway, never mind. I was just trying to see if it was better (in terms of scalability of Groebner basis computation) to put det(jac)=0 condition, or jac.v = 0 with Transpose[v].v-1=0. $\endgroup$ – dbm Aug 31 '15 at 21:14
  • 1
    $\begingroup$ I think it is akin to the difference between Sylvester and Bezout formulation of ordinary resultants. One is larger, but more sparse. The use of Jacobian determinant corresponds to the smaller (only one polynomial...) denser (...but it's a very large polynomial) approach. $\endgroup$ – Daniel Lichtblau Aug 31 '15 at 21:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.