dharr

Dr. David Harrington

5116 Reputation

21 Badges

19 years, 101 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a professor of chemistry at the University of Victoria, BC, Canada, where my research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are answers submitted by dharr

Find the smallest positive solution to eq below.

restart

with(algcurves)

eq := a/(b+c)+b/(a+c)+c/(a+b) = 4

a/(b+c)+b/(a+c)+c/(a+b) = 4

Smallest (!) positive solution is

soln1 := {a = 4373612677928697257861252602371390152816537558161613618621437993378423467772036, b = 36875131794129999827197811565225474825492979968971970996283137471637224634055579, c = 154476802108746166441951315019919837485664325669565431700026634898253202035277999}; eval(eq, soln1)

4 = 4

We more-or-less follow the method given in https://www.agftutoring.com/x-yz-y-xz-z-xy-4/
Rearrange as a polynomial

normal(eq); eq2 := expand(numer(lhs(%))-rhs(%)*denom(lhs(%)))

a^3-3*a^2*b-3*a^2*c-3*a*b^2-5*a*b*c-3*a*c^2+b^3-3*b^2*c-3*b*c^2+c^3

Convert this homogeneous polynomial to a bivariate polynomial - elliptic curves have genus = 1

f := eval(eq2, c = 1); genus(f, a, b)

a^3-3*a^2*b-3*a*b^2+b^3-3*a^2-5*a*b-3*b^2-3*a-3*b+1

1

The j_invariant has the same value despite the various transformations (birational equivalence)

j_invariant(f, a, b)

1408317602329/2153060

Maple finds a Weierstrass form

wform := Weierstrassform(f, a, b, X, Y); w1 := wform[1]

X^3-(11209/48)*X-1185157/864+Y^2

We would like to have it in the standard form y^2 = x^3+A*x+B, with A and B integers.

Try simply scaling X and Y and the whole expression; we also need to change the sign of X.

trans := {X = -x/6^2, Y = y/(72*3)}; w := eval(864*(9*6)*w1, trans)

{X = -(1/36)*x, Y = (1/216)*y}

-x^3+y^2+302643*x-63998478

j_invariant(w, x, y)

1408317602329/2153060

Conversion between f and w

itrans := solve(trans, {x, y}); ab_to_xy := eval(itrans, {X = wform[2], Y = wform[3]})

{x = -36*X, y = 216*Y}

{x = 216*a^2-864*a*b+216*b^2-612*a-612*b-465, y = 7776*a^3-31104*a^2*b+7776*a*b^2-22680*a^2-19440*a*b-648*b^2-25164*a+1836*b+3888}

Test with a known solution (can be found using method below)

xy := eval(ab_to_xy, {a = 4/11, b = -1/11}); eval(w, %)

{x = -573, y = -7020}

0

Conversion between w and f

xy_to_ab := simplify(eval({a = wform[4], b = wform[5]}, trans)); `union`(eval(xy_to_ab, xy), {c = 1}); eval(eq, %)

{a = (3*x-2493+y)/(-10260+36*x), b = (3*x-2493-y)/(-10260+36*x)}

{a = 4/11, b = -1/11, c = 1}

4 = 4

Find the discriminant of the cubic

Cubic := rhs(isolate(w, y^2)); d := discrim(Cubic, x); ifactor(d)

x^3-302643*x+63998478

292921436021760

``(2)^10*``(3)^12*``(5)*``(7)^2*``(13)^3

To find the first solution, we want either y = 0, or a y value for which y^2 divides the disciminant, for which the corresponding x is an integer  (Nagell-Lutz) .
So we test all the divisors of 7*2^5*3^6

divs := `union`({0}, NumberTheory:-Divisors(7*2^5*3^6))

j := 0; for i in divs do facs := factors(eval(w, y = i))[2]; if nops(facs) > 1 then j := j+1; sol[j] := {x = solve(select(proc (z) options operator, arrow; type(z[1], linear) end proc, facs)[1][1], x), y = i}; print(sol[j]) end if end do

{x = 327, y = 0}

{x = 291, y = 756}

We found two solutions - convert back to a,b,c form and check. First one is OK for eq2, but not for the original eq because a denominator is zero

`union`(eval(xy_to_ab, sol[1]), {c = 1}); eval(eq2, %); eval(eq, `%%`)

{a = -1, b = -1, c = 1}

0

Error, numeric exception: division by zero

So the only solution is the second one. (This is the single generator of the torsion group.)

`union`(eval(xy_to_ab, sol[2]), {c = 1}); eval(eq2, %); eval(eq, `%%`)

{a = -4, b = -11, c = 1}

0

4 = 4

To find other points we combine existing point(s) until we find a positive one
Define addition of points in the group algebra - see Wikipedia

A is the coefficient in y^2=x^3+A*x+B

algadd := proc(P::[rational,rational], Q::[rational,rational], A::rational)
  local s,xP,yP,xQ,yQ,xR,yR;
  xP,yP := P[];
  xQ,yQ := Q[];
  if xP <> xQ then
    s := (yP - yQ)/(xP - xQ);
    xR := s^2 - xP - xQ;
    yR := yP - s*(xP - xR);
    [xR, -yR];
  elif yP = -yQ then
    [0, 0] # infinity point not representable
  else # P = Q,sum is tangent
    s := (3*xP^2 + A)/(2*yP);
    xR := s^2 - 2*xP;
    yR := yP - s*(xP - xR);
    [xR, -yR]
  end if;
end proc:

A := coeff(Cubic, x, 1)

-302643

P[1] := eval([x, y], sol[2])

[291, 756]

Incrementally add P[1] unitil we get a positive solution

for i to 8 do P[i+1] := algadd(P[i], P[1], A); soln := eval(xy_to_ab, `~`[`=`]([x, y], P[i+1])) end do

soln2 := {a = numer(eval(a, soln)), b = numer(eval(b, soln)), c = denom(eval(a, soln))}

{a = 36875131794129999827197811565225474825492979968971970996283137471637224634055579, b = 154476802108746166441951315019919837485664325669565431700026634898253202035277999, c = 4373612677928697257861252602371390152816537558161613618621437993378423467772036}

eval(eq, soln2)

4 = 4

NULL

Download elliptic.mw

dcoeffs can do this - the order is determined by the type of derivative, not the way the ode is written; they are the same in your example so hope this generalizes the way you want.

NULL

restart

with(PDEtools)

ode := diff(y(x), x, x) = c*(diff(y(x), x))-2*a*y(x)+b*x

diff(diff(y(x), x), x) = c*(diff(y(x), x))-2*a*y(x)+b*x

cfs := [dcoeffs(rhs(ode)-lhs(ode), y(x))]; vars := [seq(cat(A, i), i = 1 .. 4)]; add(`~`[`*`](cfs, vars)); poly := subs(x = 1, %)

[-1, c, -2*a, b*x]

[A1, A2, A3, A4]

A4*b*x+A2*c-2*A3*a-A1

A2*c-2*A3*a+A4*b-A1

NULL

NULL

Download dcoeffs.mw

restart

with(Student[MultivariateCalculus]):

f := 39584968580329795728950940517214770307434335*xx^3*yy^6*(1/21778071482940061661655974875633165533184)+2207379816207475241162406248223006569040862935*xx^5*yy^8*(1/2787593149816327892691964784081045188247552)+47950825635610780986659544491454706340397108297*xx^5*yy^7*(1/22300745198530623141535718272648361505980416)-588774433706353379897742534304221654039246663*xx^5*yy^6*(1/348449143727040986586495598010130648530944)-44608078263668464626393951292252447406629869273*xx^5*yy^5*(1/22300745198530623141535718272648361505980416)+1613038118657167505912389296857854524947676825*xx^5*yy^4*(1/1393796574908163946345982392040522594123776)+23570688854853763073042723518782612790921757535*xx^5*yy^3*(1/22300745198530623141535718272648361505980416)-113510140727511300460098712979462156361337425*xx^5*yy^2*(1/348449143727040986586495598010130648530944)-6817973449093402642853212701104432585928821163*xx^5*yy*(1/22300745198530623141535718272648361505980416)+184838927094446995029201369223921105703104647*xx^5*(1/2787593149816327892691964784081045188247552)+31380186488931551370058361496245928395816772575*xx^4*yy^9*(1/1393796574908163946345982392040522594123776)-1758702445038817232726176779731884586549332868025*xx^4*yy^8*(1/44601490397061246283071436545296723011960832)-33218490572036542393092937176469859040906121155*xx^4*yy^7*(1/348449143727040986586495598010130648530944)+116540829629507365267125159526451609264014215*xx^7*yy^6*(1/87112285931760246646623899502532662132736)-2146702909675882809503682033933399905335826325*xx^9*yy^9*(1/11150372599265311570767859136324180752990208)+1587967252519403636411870604735180043125989625*xx^9*yy^8*(1/5575186299632655785383929568162090376495104)-20361225581568567923686744589522827658576624955*xx^3*yy^7*(1/11150372599265311570767859136324180752990208)-11540959773500599403794316292492996114189538863*xx^2*yy^2*(1/5575186299632655785383929568162090376495104)-1174244552874873223035231031480900497934023075*xx^3*yy^8*(1/1393796574908163946345982392040522594123776)+27287439738914744607616926917914225474665410565*xx^2*yy^3*(1/174224571863520493293247799005065324265472)-206512033439850904054937113093163624192322042825*xx^8*yy^4*(1/44601490397061246283071436545296723011960832)-62755544772437504320590342390381422715234113715/89202980794122492566142873090593446023921664+11170081785792631086653879206603595320491089331*xx^7*yy^5*(1/11150372599265311570767859136324180752990208)-9205355621994819342146712860571987786619361601*xx*yy*(1/44601490397061246283071436545296723011960832)-652299342907430898149182084981866414949696905*xx^7*yy^4*(1/696898287454081973172991196020261297061888)+27484692689867334306687311759874973819976026005*xx*yy^3*(1/44601490397061246283071436545296723011960832)-4303517165264733669855129139552505045324631645*xx^7*yy^3*(1/11150372599265311570767859136324180752990208)+10578825782023300845453772557509072093336001*xx^7*yy^2*(1/43556142965880123323311949751266331066368)+157001869330425518481531763580902779395436599415*xx^8*yy^6*(1/22300745198530623141535718272648361505980416)-930314746723434588666177195703059675161177190255*xx^2*yy^6*(1/5575186299632655785383929568162090376495104)-3917684154726736823398471536296978037714283086195*yy^8*(1/89202980794122492566142873090593446023921664)+998213736763384913910074759047227544847506773*xx^7*yy*(1/11150372599265311570767859136324180752990208)+1583056855557692418384969876461998197073089695*xx*yy^4*(1/2787593149816327892691964784081045188247552)-104255809907916433055923335622932126645726549*xx*yy^2*(1/696898287454081973172991196020261297061888)+1970986683407627074325019523003479974617451789943*yy^6*(1/22300745198530623141535718272648361505980416)-77131555128675321096947207038878222843991869993*yy^7*(1/696898287454081973172991196020261297061888)-29946355461657315300256240552185966952551471*xx^7*(1/1393796574908163946345982392040522594123776)-125283292999146417157156696376640452081866835*xx^3*(1/1393796574908163946345982392040522594123776)+23458516464006675395891679247259419002768896835*xx^3*yy^5*(1/11150372599265311570767859136324180752990208)-539977758872163289054492124375185771143918033*xx^6*yy*(1/696898287454081973172991196020261297061888)-3479476522267890993628796487849129439635143625*xx^8*yy^3*(1/696898287454081973172991196020261297061888)+18712604797880071317805036942199122521197359575*xx^8*yy^2*(1/22300745198530623141535718272648361505980416)+43423414494451507811145033075147441881593811799*yy^2*(1/22300745198530623141535718272648361505980416)-15637727799880882327290754576104647826715168925*xx^3*yy^3*(1/11150372599265311570767859136324180752990208)+1206817075246069632318716986669541278160772775*xx^9*yy^4*(1/2787593149816327892691964784081045188247552)-2038600361316622246653155899145012259420048867785*yy^4*(1/44601490397061246283071436545296723011960832)+30423874459994412977383604476886160940746185*xx^9*(1/5575186299632655785383929568162090376495104)+220816865194317615868568855814620996552449073*xx*(1/5575186299632655785383929568162090376495104)+5138909461003175489938484170634052266819688725*xx^9*yy^3*(1/44601490397061246283071436545296723011960832)+29341459645317546529685572705520876577051855*xx^3*yy^2*(1/87112285931760246646623899502532662132736)-1277356081222180962342283013232991241852904465*xx^6*yy^9*(1/696898287454081973172991196020261297061888)+17639360745426635511855086638766468926126459875*xx^9*yy^7*(1/44601490397061246283071436545296723011960832)+15350689937843699961175740256400109996121380375*xx^8*yy^5*(1/1393796574908163946345982392040522594123776)-285743684916570536194588196441080828723328178675*xx^8*yy^8*(1/89202980794122492566142873090593446023921664)+1869246621670048362557342074310025153518449965*xx^8*yy*(1/2787593149816327892691964784081045188247552)-2255097230860381206152749351617455809672044745*xx*yy^9*(1/11150372599265311570767859136324180752990208)-4089215965643055747590786827106386135115380275*xx^8*(1/89202980794122492566142873090593446023921664)+35122173917479363738100862234581108137514304171*xx^2*(1/22300745198530623141535718272648361505980416)-72716798311978341010558827315982986191821905*xx^9*yy^2*(1/696898287454081973172991196020261297061888)+57447439083834576362467553225131370438848237035*xx^6*yy^8*(1/22300745198530623141535718272648361505980416)-431284328058774504067793959976795724976545555*xx^9*yy^6*(1/696898287454081973172991196020261297061888)-17449701902039745490242163912540688306429882361*xx^2*yy*(1/696898287454081973172991196020261297061888)-56566850002827011453690682806041619180254985625*yy^3*(1/696898287454081973172991196020261297061888)-1197236208181378637639504269592639035279087665*xx^9*yy*(1/44601490397061246283071436545296723011960832)+216255546256559295251079313253452049445763455*xx^7*yy^9*(1/348449143727040986586495598010130648530944)+76828297887427851822683521168415270943435162685*yy^9*(1/2787593149816327892691964784081045188247552)+36390552938954376406834468187448925576623439893*xx^2*yy^7*(1/174224571863520493293247799005065324265472)+8094790880015327525694605814920739418439287725*xx^8*yy^9*(1/2787593149816327892691964784081045188247552)+941109349474535911451616661821106567867537125*xx^3*yy^9*(1/1393796574908163946345982392040522594123776)-5023626067733175609651265492842895195168362165*xx^5*yy^9*(1/5575186299632655785383929568162090376495104)-36304948749180317956941914133403396762716230691*xx*yy^5*(1/44601490397061246283071436545296723011960832)-12993287722661922638788467553649639108437064835*xx^9*yy^5*(1/44601490397061246283071436545296723011960832)+211134394987302797546644924545169826774270265159*yy^5*(1/1393796574908163946345982392040522594123776)+35696532930567486560276536615522532283474689213*yy*(1/2787593149816327892691964784081045188247552)-48412290717709997717153300332089796247538326265*xx^4*(1/44601490397061246283071436545296723011960832)+1173296429365947392287371443632107462978009165*xx^6*yy^7*(1/174224571863520493293247799005065324265472)+17196469545705046799299985950707233685621881055*xx^4*yy*(1/1393796574908163946345982392040522594123776)+929769947314964740179937673332890647768037984465*xx^2*yy^4*(1/11150372599265311570767859136324180752990208)-868641325364973493898126340263842300348545855*xx^7*yy^8*(1/1393796574908163946345982392040522594123776)+5011420945327438626354964312196465908094234685*xx^3*yy*(1/11150372599265311570767859136324180752990208)-9551461763890264957289963973620923748598225435*xx^4*yy^2*(1/11150372599265311570767859136324180752990208)-23673134207774883972271882396704370580007933039*xx^6*yy^6*(1/5575186299632655785383929568162090376495104)+5795161625895678368156852916105373987594511979*xx^6*(1/22300745198530623141535718272648361505980416)-2937701213452088192123555543440803264914467299*xx^6*yy^5*(1/348449143727040986586495598010130648530944)-14785537121406447202257499440081382142298519099*xx^7*yy^7*(1/11150372599265311570767859136324180752990208)+14159347676475748959036290080103848146860867025*xx^6*yy^4*(1/11150372599265311570767859136324180752990208)-6686861200533386632065997818427854246215113305*xx^8*yy^7*(1/696898287454081973172991196020261297061888)-26051472095770585704126329008135447818638784275*xx^4*yy^3*(1/348449143727040986586495598010130648530944)+749877940244270735637721966049124917356845885*xx^6*yy^3*(1/174224571863520493293247799005065324265472)+27046038795224386955728969793334632924015008227*xx*yy^7*(1/44601490397061246283071436545296723011960832)+782685832362921584689673760969891945953777553*xx^6*yy^2*(1/5575186299632655785383929568162090376495104)-100809382380090436397261413740272360141145204891*xx^2*yy^5*(1/348449143727040986586495598010130648530944)+2168816628024980374461014350770096009019357665*xx*yy^8*(1/5575186299632655785383929568162090376495104)-765302392604646459013613426858243443467023490875*xx^4*yy^4*(1/22300745198530623141535718272648361505980416)+1872760743346397986120124413411813119412045269675*xx^2*yy^8*(1/22300745198530623141535718272648361505980416)+94251624724512021502035994822030873708141367565*xx^4*yy^5*(1/696898287454081973172991196020261297061888)-35643509355104072817665294345590475660747146425*xx^2*yy^9*(1/696898287454081973172991196020261297061888)+843981485493394825713526892530506348990296828805*xx^4*yy^6*(1/11150372599265311570767859136324180752990208)-590212436135125327923049635849260481403670583*xx*yy^6*(1/696898287454081973172991196020261297061888)-851688199122087410134053760306093104684621525*xx^3*yy^4*(1/696898287454081973172991196020261297061888)

g := .5*(1+tanh(f))

Values are close to zero, so need to scale function to reasonable values

TaylorApproximation(evalf(g), [xx, yy] = [0, 0], 6)

0.2259369109e-600*xx^6+0.1496133470e-597*xx^5*yy+0.4645575308e-595*xx^4*yy^2+0.7998759715e-593*xx^3*yy^3+0.9696415420e-591*xx^2*yy^4+0.6264381195e-589*xx*yy^5+0.3379234176e-587*yy^6+0.5849644085e-602*xx^5+0.3631645737e-599*xx^4*yy+0.9376535155e-597*xx^3*yy^2+0.1515139614e-594*xx^2*yy^3+0.1223177462e-592*xx*yy^4+0.7916210715e-591*yy^5+0.1419522894e-603*xx^4+0.7327837035e-601*xx^3*yy+0.1775662734e-598*xx^2*yy^2+0.1910714715e-596*xx*yy^3+0.1545397580e-594*yy^4+0.2863414606e-605*xx^3+0.1387337376e-602*xx^2*yy+0.2238559204e-600*xx*yy^2+0.2413560442e-598*yy^3+0.5419743765e-607*xx^2+0.1748457882e-604*xx*yy+0.2827108662e-602*yy^2+0.6828367775e-609*xx+0.2207703247e-606*yy

scale := 10^(-610)

h := evalf(TaylorApproximation(g/scale, [xx, yy] = [0, 0], 35))

plot3d(h, xx = -1 .. 1, yy = -10 .. 10, color = red, style = surface)

 

NULL

Download taylorProblem.mw

This can be done with LinearSolve as shown. c1 etc are very complicated expressions that perhaps can be simplified, but I did not wait to see if that were the case. This method assumes that the equations are independent (Determinant(A)<>0), and pays no attention to any relationships that might exist between the Bessel functions.

NULL

restart;

with(LinearAlgebra):

fn1 := (2*BesselK(1, alpha1*sigma)*T1*alpha1^3*b1*c+2*BesselK(1, alpha1*sigma)*T1*T2*alpha1*b1*c+BesselK(1, alpha1*sigma)*alpha1*b1*c+BesselK(1, alpha1*sigma)*alpha1*b1+BesselK(0, alpha1*sigma))*c1+(-2*BesselI(1, alpha1*sigma)*T1*alpha1^3*b1*c-2*BesselI(1, alpha1*sigma)*T1*T2*alpha1*b1*c-BesselI(1, alpha1*sigma)*alpha1*b1*c-BesselI(1, alpha1*sigma)*alpha1*b1+BesselI(0, alpha1*sigma))*c2+(2*BesselK(1, alpha2*sigma)*T1*alpha2^3*b1*c+2*BesselK(1, alpha2*sigma)*T1*T2*alpha2*b1*c+BesselK(1, alpha2*sigma)*alpha2*b1*c+BesselK(1, alpha2*sigma)*alpha2*b1+BesselK(0, alpha2*sigma))*c3+(-2*BesselI(1, alpha2*sigma)*T1*alpha2^3*b1*c-2*BesselI(1, alpha2*sigma)*T1*T2*alpha2*b1*c-BesselI(1, alpha2*sigma)*alpha2*b1*c-BesselI(1, alpha2*sigma)*alpha2*b1+BesselI(0, alpha2*sigma))*c4+ur/alpha^2+(-2*A1*K*BesselI(1, k*sigma)*T1*b1*c*k^3+2*B1*K*BesselK(1, k*sigma)*T1*b1*c*k^3-2*A1*K*BesselI(1, k*sigma)*T1*T2*b1*c*k+2*B1*K*BesselK(1, k*sigma)*T1*T2*b1*c*k-2*A1*BesselI(1, k*sigma)*T1*b1*c*k*k1+2*B1*BesselK(1, k*sigma)*T1*b1*c*k*k1-A1*K*BesselI(1, k*sigma)*b1*c*k+B1*K*BesselK(1, k*sigma)*b1*c*k-A1*K*BesselI(1, k*sigma)*b1*k+B1*K*BesselK(1, k*sigma)*b1*k+A1*K*BesselI(0, k*sigma)+B1*K*BesselK(0, k*sigma))*EZ;

(2*BesselK(1, alpha1*sigma)*T1*alpha1^3*b1*c+2*BesselK(1, alpha1*sigma)*T1*T2*alpha1*b1*c+BesselK(1, alpha1*sigma)*alpha1*b1*c+BesselK(1, alpha1*sigma)*alpha1*b1+BesselK(0, alpha1*sigma))*c1+(-2*BesselI(1, alpha1*sigma)*T1*alpha1^3*b1*c-2*BesselI(1, alpha1*sigma)*T1*T2*alpha1*b1*c-BesselI(1, alpha1*sigma)*alpha1*b1*c-BesselI(1, alpha1*sigma)*alpha1*b1+BesselI(0, alpha1*sigma))*c2+(2*BesselK(1, alpha2*sigma)*T1*alpha2^3*b1*c+2*BesselK(1, alpha2*sigma)*T1*T2*alpha2*b1*c+BesselK(1, alpha2*sigma)*alpha2*b1*c+BesselK(1, alpha2*sigma)*alpha2*b1+BesselK(0, alpha2*sigma))*c3+(-2*BesselI(1, alpha2*sigma)*T1*alpha2^3*b1*c-2*BesselI(1, alpha2*sigma)*T1*T2*alpha2*b1*c-BesselI(1, alpha2*sigma)*alpha2*b1*c-BesselI(1, alpha2*sigma)*alpha2*b1+BesselI(0, alpha2*sigma))*c4+ur/alpha^2+(-2*A1*K*BesselI(1, k*sigma)*T1*b1*c*k^3+2*B1*K*BesselK(1, k*sigma)*T1*b1*c*k^3-2*A1*K*BesselI(1, k*sigma)*T1*T2*b1*c*k+2*B1*K*BesselK(1, k*sigma)*T1*T2*b1*c*k-2*A1*BesselI(1, k*sigma)*T1*b1*c*k*k1+2*B1*BesselK(1, k*sigma)*T1*b1*c*k*k1-A1*K*BesselI(1, k*sigma)*b1*c*k+B1*K*BesselK(1, k*sigma)*b1*c*k-A1*K*BesselI(1, k*sigma)*b1*k+B1*K*BesselK(1, k*sigma)*b1*k+A1*K*BesselI(0, k*sigma)+B1*K*BesselK(0, k*sigma))*EZ

fn2 := (-2*BesselK(1, alpha1)*T1*alpha1^3*b1*c-2*BesselK(1, alpha1)*T1*T2*alpha1*b1*c-BesselK(1, alpha1)*alpha1*b1*c-BesselK(1, alpha1)*alpha1*b1+BesselK(0, alpha1))*c1+(2*BesselI(1, alpha1)*T1*alpha1^3*b1*c+2*BesselI(1, alpha1)*T1*T2*alpha1*b1*c+BesselI(1, alpha1)*alpha1*b1*c+BesselI(1, alpha1)*alpha1*b1+BesselI(0, alpha1))*c2+(-2*BesselK(1, alpha2)*T1*alpha2^3*b1*c-2*BesselK(1, alpha2)*T1*T2*alpha2*b1*c-BesselK(1, alpha2)*alpha2*b1*c-BesselK(1, alpha2)*alpha2*b1+BesselK(0, alpha2))*c3+(2*BesselI(1, alpha2)*T1*alpha2^3*b1*c+2*BesselI(1, alpha2)*T1*T2*alpha2*b1*c+BesselI(1, alpha2)*alpha2*b1*c+BesselI(1, alpha2)*alpha2*b1+BesselI(0, alpha2))*c4+ur/alpha^2+(2*A1*K*BesselI(1, k)*T1*b1*c*k^3-2*B1*K*BesselK(1, k)*T1*b1*c*k^3+2*A1*K*BesselI(1, k)*T1*T2*b1*c*k-2*B1*K*BesselK(1, k)*T1*T2*b1*c*k+2*A1*BesselI(1, k)*T1*b1*c*k*k1-2*B1*BesselK(1, k)*T1*b1*c*k*k1+A1*K*BesselI(1, k)*b1*c*k-B1*K*BesselK(1, k)*b1*c*k+A1*K*BesselI(1, k)*b1*k-B1*K*BesselK(1, k)*b1*k+A1*K*BesselI(0, k)+B1*K*BesselK(0, k))*EZ;

(-2*BesselK(1, alpha1)*T1*alpha1^3*b1*c-2*BesselK(1, alpha1)*T1*T2*alpha1*b1*c-BesselK(1, alpha1)*alpha1*b1*c-BesselK(1, alpha1)*alpha1*b1+BesselK(0, alpha1))*c1+(2*BesselI(1, alpha1)*T1*alpha1^3*b1*c+2*BesselI(1, alpha1)*T1*T2*alpha1*b1*c+BesselI(1, alpha1)*alpha1*b1*c+BesselI(1, alpha1)*alpha1*b1+BesselI(0, alpha1))*c2+(-2*BesselK(1, alpha2)*T1*alpha2^3*b1*c-2*BesselK(1, alpha2)*T1*T2*alpha2*b1*c-BesselK(1, alpha2)*alpha2*b1*c-BesselK(1, alpha2)*alpha2*b1+BesselK(0, alpha2))*c3+(2*BesselI(1, alpha2)*T1*alpha2^3*b1*c+2*BesselI(1, alpha2)*T1*T2*alpha2*b1*c+BesselI(1, alpha2)*alpha2*b1*c+BesselI(1, alpha2)*alpha2*b1+BesselI(0, alpha2))*c4+ur/alpha^2+(2*A1*K*BesselI(1, k)*T1*b1*c*k^3-2*B1*K*BesselK(1, k)*T1*b1*c*k^3+2*A1*K*BesselI(1, k)*T1*T2*b1*c*k-2*B1*K*BesselK(1, k)*T1*T2*b1*c*k+2*A1*BesselI(1, k)*T1*b1*c*k*k1-2*B1*BesselK(1, k)*T1*b1*c*k*k1+A1*K*BesselI(1, k)*b1*c*k-B1*K*BesselK(1, k)*b1*c*k+A1*K*BesselI(1, k)*b1*k-B1*K*BesselK(1, k)*b1*k+A1*K*BesselI(0, k)+B1*K*BesselK(0, k))*EZ

fn3 := -T1*alpha1*(alpha1^2+T2)*(BesselK(0, alpha1*sigma)*alpha1*b2*sigma+BesselK(1, alpha1*sigma)*b2*s1+BesselK(1, alpha1*sigma)*b2+BesselK(1, alpha1*sigma)*sigma)*c1/sigma+T1*alpha1*(alpha1^2+T2)*(-BesselI(0, alpha1*sigma)*alpha1*b2*sigma+BesselI(1, alpha1*sigma)*b2*s1+BesselI(1, alpha1*sigma)*b2+BesselI(1, alpha1*sigma)*sigma)*c2/sigma-T1*alpha2*(alpha2^2+T2)*(BesselK(0, alpha2*sigma)*alpha2*b2*sigma+BesselK(1, alpha2*sigma)*b2*s1+BesselK(1, alpha2*sigma)*b2+BesselK(1, alpha2*sigma)*sigma)*c3/sigma+T1*alpha2*(alpha2^2+T2)*(-BesselI(0, alpha2*sigma)*alpha2*b2*sigma+BesselI(1, alpha2*sigma)*b2*s1+BesselI(1, alpha2*sigma)*b2+BesselI(1, alpha2*sigma)*sigma)*c4/sigma+T1*EZ*k*(K*k^2+K*T2+k1)*(-A1*BesselI(0, k*sigma)*b2*k*sigma-B1*BesselK(0, k*sigma)*b2*k*sigma+A1*BesselI(1, k*sigma)*b2*s1-B1*BesselK(1, k*sigma)*b2*s1+A1*BesselI(1, k*sigma)*b2+A1*BesselI(1, k*sigma)*sigma-B1*BesselK(1, k*sigma)*b2-B1*BesselK(1, k*sigma)*sigma)/sigma;

-T1*alpha1*(alpha1^2+T2)*(BesselK(0, alpha1*sigma)*alpha1*b2*sigma+BesselK(1, alpha1*sigma)*b2*s1+BesselK(1, alpha1*sigma)*b2+BesselK(1, alpha1*sigma)*sigma)*c1/sigma+T1*alpha1*(alpha1^2+T2)*(-BesselI(0, alpha1*sigma)*alpha1*b2*sigma+BesselI(1, alpha1*sigma)*b2*s1+BesselI(1, alpha1*sigma)*b2+BesselI(1, alpha1*sigma)*sigma)*c2/sigma-T1*alpha2*(alpha2^2+T2)*(BesselK(0, alpha2*sigma)*alpha2*b2*sigma+BesselK(1, alpha2*sigma)*b2*s1+BesselK(1, alpha2*sigma)*b2+BesselK(1, alpha2*sigma)*sigma)*c3/sigma+T1*alpha2*(alpha2^2+T2)*(-BesselI(0, alpha2*sigma)*alpha2*b2*sigma+BesselI(1, alpha2*sigma)*b2*s1+BesselI(1, alpha2*sigma)*b2+BesselI(1, alpha2*sigma)*sigma)*c4/sigma+T1*EZ*k*(K*k^2+K*T2+k1)*(-A1*BesselI(0, k*sigma)*b2*k*sigma-B1*BesselK(0, k*sigma)*b2*k*sigma+A1*BesselI(1, k*sigma)*b2*s1-B1*BesselK(1, k*sigma)*b2*s1+A1*BesselI(1, k*sigma)*b2+A1*BesselI(1, k*sigma)*sigma-B1*BesselK(1, k*sigma)*b2-B1*BesselK(1, k*sigma)*sigma)/sigma

fn4 := T1*alpha1*(alpha1^2+T2)*(BesselK(1, alpha1)*b2*s1+BesselK(0, alpha1)*alpha1*b2+BesselK(1, alpha1)*b2-BesselK(1, alpha1))*c1-T1*alpha1*(alpha1^2+T2)*(BesselI(1, alpha1)*b2*s1-BesselI(0, alpha1)*alpha1*b2+BesselI(1, alpha1)*b2-BesselI(1, alpha1))*c2+T1*alpha2*(alpha2^2+T2)*(BesselK(1, alpha2)*b2*s1+BesselK(0, alpha2)*alpha2*b2+BesselK(1, alpha2)*b2-BesselK(1, alpha2))*c3-T1*alpha2*(alpha2^2+T2)*(BesselI(1, alpha2)*b2*s1-BesselI(0, alpha2)*alpha2*b2+BesselI(1, alpha2)*b2-BesselI(1, alpha2))*c4-T1*EZ*k*(K*k^2+K*T2+k1)*(A1*BesselI(1, k)*b2*s1-A1*BesselI(0, k)*b2*k-B1*BesselK(1, k)*b2*s1-B1*BesselK(0, k)*b2*k+A1*BesselI(1, k)*b2-B1*BesselK(1, k)*b2-A1*BesselI(1, k)+B1*BesselK(1, k));

T1*alpha1*(alpha1^2+T2)*(BesselK(1, alpha1)*b2*s1+BesselK(0, alpha1)*alpha1*b2+BesselK(1, alpha1)*b2-BesselK(1, alpha1))*c1-T1*alpha1*(alpha1^2+T2)*(BesselI(1, alpha1)*b2*s1-BesselI(0, alpha1)*alpha1*b2+BesselI(1, alpha1)*b2-BesselI(1, alpha1))*c2+T1*alpha2*(alpha2^2+T2)*(BesselK(1, alpha2)*b2*s1+BesselK(0, alpha2)*alpha2*b2+BesselK(1, alpha2)*b2-BesselK(1, alpha2))*c3-T1*alpha2*(alpha2^2+T2)*(BesselI(1, alpha2)*b2*s1-BesselI(0, alpha2)*alpha2*b2+BesselI(1, alpha2)*b2-BesselI(1, alpha2))*c4-T1*EZ*k*(K*k^2+K*T2+k1)*(A1*BesselI(1, k)*b2*s1-A1*BesselI(0, k)*b2*k-B1*BesselK(1, k)*b2*s1-B1*BesselK(0, k)*b2*k+A1*BesselI(1, k)*b2-B1*BesselK(1, k)*b2-A1*BesselI(1, k)+B1*BesselK(1, k))

Eqns are linear in c1,c2,c3,c4 - convert to matrix form

A,b:=GenerateMatrix([fn1,fn2,fn3,fn4],[c1,c2,c3,c4]):

Solve the system with simpler variables

AA:=Matrix(4,4,symbol=x):bb:=Vector(4,symbol=y):

CC:=LinearSolve(AA,bb):

Substitute the more complicated expressions into the solution

C:=eval(CC,{entries(AA=~A,'nolist'),entries(bb=~b,'nolist')}):

soln:={c1=C[1],c2=C[2],c3=C[3],c4=C[4]}:

Check the solution

simplify(eval([fn1,fn2,fn3,fn4],soln));

[0, 0, 0, 0]

NULL

Download 4eqns.mw

I assume your tools->options->network has "enable maple cloud connection" checked? (becomes active next time you open Maple)

I agree that the documentation suggests that Q and rp are the same size "r". However, a look at the code using showstat(RowEchelonTransform) suggests that the length of Q (=P in the code) need not be the same as rp. P is initialized as a 1..n row vector (n=number of rows presumably) (line 7), but on line 9 only the entries from 1 to min(r,n-1) are output. Presumably r is the rank and in your case min(16,15) = 15.

Since the length of Q is the number of swaps needed to construct P, perhaps you don't need to do the last one if it is full rank, just do all the swaps in Q. I suspect this will work, but if not you could just do RowReduce as a workaround if you only want the row reduced form.

Edit: I confirmed this works for the reduced form (redflag = true). The redflag = false case gives different answers for RowEchelonTransform and RowReduce, but the nonreduced form is not unique. So I think the swap procedure is correct.

I submitted an SCR for the help page.

restart;

with(LinearAlgebra[Modular]):interface(rtablesize=39):

p:=29:

M1:=[[-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,-1,-1,-1,-1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,-1,-1,1,1,1,1],[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,-1],[0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],[0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0]]:

nrows:=nops(M1);ncols:=nops(M1[1]);

16

39

M:=Mod(p,M1,integer[]):

RowEchelonTransform - U1 is altered in place.

U1:=Copy(p,M):
Q,rp,d:=RowEchelonTransform(p, U1, true, true, true, false):

Q;nQ:=numelems(Q);
rp;r:=numelems(rp);

Vector[row](15, {(1) = 1, (2) = 9, (3) = 5, (4) = 5, (5) = 13, (6) = 10, (7) = 10, (8) = 11, (9) = 10, (10) = 14, (11) = 15, (12) = 12, (13) = 15, (14) = 16, (15) = 16})

15

[1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 16, 18, 19, 22, 29, 34]

16

Rank(p,M);
RankProfile(p,M);

16

[1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 16, 18, 19, 22, 29, 34]

Construct P by doing the row swaps specified in Q

P:=Create(p,nrows,nrows,identity,integer[]):
for i to nQ do
  Swap(p,P,i,P,Q[i]);
end do:

Construct U from U1 - first r columns from U1, rest are identity (in this case U is just the identity)

U:=Create(p,nrows,nrows,identity,integer[]):
U[..,1..r]:=U1[..,1..r]:

Row reduced form is U.P.M

RR:=Multiply(p,U,Multiply(p,P,M)):

Do the same thing with RowReduce

RR2:=Copy(p,M):
RowReduce(p,RR2,nrows,ncols,ncols,'det',0,'rank',0,0,true);

RR2,det,rank:

EqualEntries(RR,RR2);

true

NULL

Download Modular.mw

Your side note question is the easiest - the spaces are missing commas. The code is something like this

P:=proc();
userinfo(1,P,`entered with args:`,args);
7;
end proc:
infolevel[P]:=1;
P(as,3,5);

which gives 

P: entered with args: as 3 5

For your main question, I don't think there is a simple answer - many internal routines are called and internal tables probably retain some information. For your first example, the message 

Solving each unknown as a function of the next ones using the order: [y(t), x(t)]

comes from `PDEtools/sdsolve`, but I don't see where the next message comes from. You could set printlevel to a high value to track it down, but even if you did, the solution (perhaps forget on a deep routine?) would have to be different for different odes.

(I encountered the same problem with SolveTools:-Polynomials system and infolevel[solve].)

output=basis is for exact solutions; earlier you had integer parameters and an analytical solution in terms of Heun functions was possible (not sure if this is the same equation). So you could try leaving those parameters as variables, find the exact solution, and then plug the values of the parameters into the solutions. I gave up on this after some time computing, but it might ultimately work. (The general solution is then a*(solution 1)+b*(solution 2), where a and b depend on the initial conditions.) Otherwise, for a numerical solution you need to choose initial conditions, as you succeeded to do in an earlier case.

My interpretation is that convert(...,unit_free) only removes the units from a product of a number and unit. So it removed the 1/um^2 but not the unit in the argument of the exponential ("data structure with units embedded in it").

subsindets(expr, anything, convert, unit_free)

will remove all the units.

You had diff(E,psi), which evaluates to 0 instead of diff(E(psi),psi). Note also gamma has a special meaning unless you use "local gamma". Changes in red. I didn't proceed beyond the mess you now get for fin1.

Note: Maple's JacobiSN is spelled with J not j, and has two arguments, so you will have to fix that.

0123.mw

@MaPal93 sent me some notes about how argmin was derived, so I could proceed with a matrix-based method, similar to in the earlier thread. This can probably be refined for the second part of the problem, but I used it in the maximization part to avoid ever creating a problematic denominator, thus avoiding the issue. For the calibration problem, there are a few restrictions on lambda__2, then solve a quadratic for lambda__3, then a linear equation for lambda__1. So finding conditions for positive solutions should not be intractable, though perhaps tedious.

MatrixNew2.mw

Edit: There are no positive solutions for the calibration problem (meaning the conjecture is not correct), and a more detailed analysis is given below.

Unless there is some dramatic cancelling of terms, then probably not. A 32x32 determinant has 32! terms. Now 32!/16! = 12576278705767096320000 = 1.26 x 10^22, which is how many times longer the calculation for a 32x32 determinant will be over a 16x16 one as an estimate.

On the other hand, your matrix has a lot of structure, which you presumably know about in detail. Did the 16x16 one have 16! terms or was it much simpler? Do you have a guess as to what the answer is, or what form it takes? Perhaps it can be divided into simpler tasks (Determinants of submatrices, perhaps). Do you really want this determinant, or is it just a step to something else that can be calculated without it (solutions to a linear system for example)? Do you just need some information about it? - zero or non-zero perhaps? Do you know anything about the signs of the variables?

Without some guidance about the nature of the problem, which might suggest a clever solution, I'd say you are out of luck. 

This partly duplicates @mmcdara's analysis (I voted up!) that used numerical values for the parameters, but with the analytical solutions, and shows how to interpret the PolynomialSystem answer and do the backsubstitution (part of your second question). In this case solve is simpler (and presumably the same as if backsubstitute=true was chosen, but I didn't check), but had there been restrictions on lambda__2 and lambda__3, then fishing out the required solutions from all of them probably would have been easier starting from the PolynomialSystem, backsubstitute=false form, as was the case in your earlier problem.

restart;

@mmcdara's solve solution (without assumptions on the variables).

 The interpretation is, as @mmcdara noted, that one can choose any lambda__2 and lambda__3 and from them find an acceptable lambda__1

sol_solve := {lambda__1 = -(sigma__v^2*(p - 1) - sigma__e^2)*(p*gamma*(lambda__2 + lambda__3)*sigma__v^4 + (sigma__e^2*(lambda__2 + lambda__3)*gamma + 2*lambda__2*lambda__3)*sigma__v^2 + 2*lambda__2*lambda__3*sigma__e^2)*sigma__v^2*gamma/(p*gamma^2*(p - 1)*sigma__v^8 - 2*(1/2*gamma*sigma__e^2 + p*lambda__3 + lambda__2)*gamma*sigma__v^6 + (-gamma^2*sigma__e^4 - 2*sigma__e^2*((p + 1)*lambda__3 + 3*lambda__2)*gamma - 4*lambda__2*lambda__3)*sigma__v^4 - 4*sigma__e^2*(sigma__e^2*(lambda__2 + 1/2*lambda__3)*gamma + 2*lambda__2*lambda__3)*sigma__v^2 - 4*lambda__2*lambda__3*sigma__e^4), lambda__2 = lambda__2, lambda__3 = lambda__3}

{lambda__1 = -(sigma__v^2*(p-1)-sigma__e^2)*(p*gamma*(lambda__2+lambda__3)*sigma__v^4+(sigma__e^2*(lambda__2+lambda__3)*gamma+2*lambda__2*lambda__3)*sigma__v^2+2*lambda__2*lambda__3*sigma__e^2)*sigma__v^2*gamma/(p*gamma^2*(p-1)*sigma__v^8-2*((1/2)*gamma*sigma__e^2+p*lambda__3+lambda__2)*gamma*sigma__v^6+(-gamma^2*sigma__e^4-2*sigma__e^2*((p+1)*lambda__3+3*lambda__2)*gamma-4*lambda__2*lambda__3)*sigma__v^4-4*sigma__e^2*(sigma__e^2*(lambda__2+(1/2)*lambda__3)*gamma+2*lambda__2*lambda__3)*sigma__v^2-4*lambda__2*lambda__3*sigma__e^4), lambda__2 = lambda__2, lambda__3 = lambda__3}

Extract the numerator and denominator pieces of the lambda__1 solution. It is implicit in this solution that the lambda__2 and lambda__3 chosen must not make the denominator zero.

solnm1:=eval(lambda__1,sol_solve):
n1=numer(%);d1:=denom(%%);

n1 = -(p*sigma__v^2-sigma__e^2-sigma__v^2)*(gamma*p*lambda__2*sigma__v^4+gamma*p*lambda__3*sigma__v^4+gamma*lambda__2*sigma__e^2*sigma__v^2+gamma*lambda__3*sigma__e^2*sigma__v^2+2*lambda__2*lambda__3*sigma__e^2+2*lambda__2*lambda__3*sigma__v^2)*sigma__v^2*gamma

gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6-2*gamma*p*lambda__3*sigma__e^2*sigma__v^4-2*gamma*p*lambda__3*sigma__v^6-4*gamma*lambda__2*sigma__e^4*sigma__v^2-6*gamma*lambda__2*sigma__e^2*sigma__v^4-2*gamma*lambda__2*sigma__v^6-2*gamma*lambda__3*sigma__e^4*sigma__v^2-2*gamma*lambda__3*sigma__e^2*sigma__v^4-4*lambda__2*lambda__3*sigma__e^4-8*lambda__2*lambda__3*sigma__e^2*sigma__v^2-4*lambda__2*lambda__3*sigma__v^4

@MaPal93's solution from SolveTools:-PolynomialSystem using the variable order lambda__1 > lambda__3 > lambda__2 (see the userinfo output)

Solution := [[(((-4*sigma__e^4 - 8*sigma__e^2*sigma__v^2 - 4*sigma__v^4)*lambda__2 - 2*gamma*p*sigma__e^2*sigma__v^4 - 2*gamma*p*sigma__v^6 - 2*gamma*sigma__e^4*sigma__v^2 - 2*gamma*sigma__e^2*sigma__v^4)*lambda__3 + (-4*gamma*sigma__e^4*sigma__v^2 - 6*gamma*sigma__e^2*sigma__v^4 - 2*gamma*sigma__v^6)*lambda__2 + gamma^2*p^2*sigma__v^8 - gamma^2*p*sigma__v^8 - gamma^2*sigma__e^4*sigma__v^4 - gamma^2*sigma__e^2*sigma__v^6)*lambda__1 + ((2*gamma*p*sigma__e^2*sigma__v^4 + 2*gamma*p*sigma__v^6 - 2*gamma*sigma__e^4*sigma__v^2 - 4*gamma*sigma__e^2*sigma__v^4 - 2*gamma*sigma__v^6)*lambda__2 + gamma^2*p^2*sigma__v^8 - gamma^2*p*sigma__v^8 - gamma^2*sigma__e^4*sigma__v^4 - gamma^2*sigma__e^2*sigma__v^6)*lambda__3 + (gamma^2*p^2*sigma__v^8 - gamma^2*p*sigma__v^8 - gamma^2*sigma__e^4*sigma__v^4 - gamma^2*sigma__e^2*sigma__v^6)*lambda__2], {((-4*sigma__e^4 - 8*sigma__e^2*sigma__v^2 - 4*sigma__v^4)*lambda__2 - 2*gamma*p*sigma__e^2*sigma__v^4 - 2*gamma*p*sigma__v^6 - 2*gamma*sigma__e^4*sigma__v^2 - 2*gamma*sigma__e^2*sigma__v^4)*lambda__3 + (-4*gamma*sigma__e^4*sigma__v^2 - 6*gamma*sigma__e^2*sigma__v^4 - 2*gamma*sigma__v^6)*lambda__2 + gamma^2*p^2*sigma__v^8 - gamma^2*p*sigma__v^8 - gamma^2*sigma__e^4*sigma__v^4 - gamma^2*sigma__e^2*sigma__v^6 <> 0}]

[[(((-4*sigma__e^4-8*sigma__e^2*sigma__v^2-4*sigma__v^4)*lambda__2-2*gamma*p*sigma__e^2*sigma__v^4-2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-2*gamma*sigma__e^2*sigma__v^4)*lambda__3+(-4*gamma*sigma__e^4*sigma__v^2-6*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__1+((2*gamma*p*sigma__e^2*sigma__v^4+2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-4*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__3+(gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__2], {((-4*sigma__e^4-8*sigma__e^2*sigma__v^2-4*sigma__v^4)*lambda__2-2*gamma*p*sigma__e^2*sigma__v^4-2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-2*gamma*sigma__e^2*sigma__v^4)*lambda__3+(-4*gamma*sigma__e^4*sigma__v^2-6*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6 <> 0}]

Extract the solution and the left-hand side of the condition<>0.

soln:=Solution[][1][];
cond:=lhs(Solution[][2][]);

(((-4*sigma__e^4-8*sigma__e^2*sigma__v^2-4*sigma__v^4)*lambda__2-2*gamma*p*sigma__e^2*sigma__v^4-2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-2*gamma*sigma__e^2*sigma__v^4)*lambda__3+(-4*gamma*sigma__e^4*sigma__v^2-6*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__1+((2*gamma*p*sigma__e^2*sigma__v^4+2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-4*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__3+(gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6)*lambda__2

((-4*sigma__e^4-8*sigma__e^2*sigma__v^2-4*sigma__v^4)*lambda__2-2*gamma*p*sigma__e^2*sigma__v^4-2*gamma*p*sigma__v^6-2*gamma*sigma__e^4*sigma__v^2-2*gamma*sigma__e^2*sigma__v^4)*lambda__3+(-4*gamma*sigma__e^4*sigma__v^2-6*gamma*sigma__e^2*sigma__v^4-2*gamma*sigma__v^6)*lambda__2+gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6

The output from the solver with backsubstitute=false is usually three (partial) solutions, which using the solver order here would contain (lambda__1, lambda__2, lambda__3),  (lambda__2, lambda__3) and (lambda__2). The backsubstitution process consists of finding the solutions to the third equation for lambda__2 substituting into the second equation to find the values of lambda__3 and then substituting the values for lambda__3 and lambda__2 into the first solution to find the values of lambda__1. In this case, the lack of the second and third solutions is just a way of saying that lambda__2 and lambda__3 can have any values. Then we solve for lambda__1 as follows

solnm2:=solve(soln,lambda__1);

-gamma*sigma__v^2*(gamma*p^2*lambda__2*sigma__v^6+gamma*p^2*lambda__3*sigma__v^6-gamma*p*lambda__2*sigma__v^6-gamma*p*lambda__3*sigma__v^6-gamma*lambda__2*sigma__e^4*sigma__v^2-gamma*lambda__2*sigma__e^2*sigma__v^4-gamma*lambda__3*sigma__e^4*sigma__v^2-gamma*lambda__3*sigma__e^2*sigma__v^4+2*p*lambda__2*lambda__3*sigma__e^2*sigma__v^2+2*p*lambda__2*lambda__3*sigma__v^4-2*lambda__2*lambda__3*sigma__e^4-4*lambda__2*lambda__3*sigma__e^2*sigma__v^2-2*lambda__2*lambda__3*sigma__v^4)/(gamma^2*p^2*sigma__v^8-gamma^2*p*sigma__v^8-gamma^2*sigma__e^4*sigma__v^4-gamma^2*sigma__e^2*sigma__v^6-2*gamma*p*lambda__3*sigma__e^2*sigma__v^4-2*gamma*p*lambda__3*sigma__v^6-4*gamma*lambda__2*sigma__e^4*sigma__v^2-6*gamma*lambda__2*sigma__e^2*sigma__v^4-2*gamma*lambda__2*sigma__v^6-2*gamma*lambda__3*sigma__e^4*sigma__v^2-2*gamma*lambda__3*sigma__e^2*sigma__v^4-4*lambda__2*lambda__3*sigma__e^4-8*lambda__2*lambda__3*sigma__e^2*sigma__v^2-4*lambda__2*lambda__3*sigma__v^4)

This is the same as the solution solve gave, and the condition is just that the denominator is not zero

simplify(solnm1-solnm2);
simplify(cond-d1);

0

0

NULL

Download solvers.mw

Looks like a bug. As you probably know, you can set the display precision for the whole worksheet from the menu Tools -> Options -> Pecision.

The divide symbol is not on my keyboad. Yours appears as "&divide;" in the string. Assuming yours is always encoded in the same way, then it can be substituted with "/" using StringTools:-Subs. I needed to use 1-D entry here.

PEMDASTest.mw

1 2 3 4 5 6 7 Last Page 1 of 56