I find myself generating equations that include parameters as well as
the unknowns to be solved.  solve() can solve them, but it gives me
solutions involving very large integers:

sage: xeqns
[0 == Xhat_16_0*(0.998269453158672*u_14_0 + 0.979122127166416*u_16_0 +
0.108186256568936) + Xhat_15_0*(0.911956549462578*u_14_0 -
0.590657494738595*u_15_0 - 0.204870943548919) +
Xhat_18_0*(-0.321614246160173*u_14_0 + 0.327627707091522*u_18_0 +
0.0446287749591415) + Xhat_17_0*(-0.990024436399567*u_14_0 +
0.720791652399857*u_17_0 + 1.91503976806778) - Xhat_14_0 + 1,
 0 == Xhat_14_0*(-0.806922377871086*u_14_0 - 0.410286792246970*u_15_0 +
0.0703130815363731) + Xhat_18_0*(0.996339733796336*u_15_0 -
0.581711582792800*u_18_0 + 0.0813040469351425) +
Xhat_17_0*(0.525537953050958*u_15_0 + 0.401845474748703*u_17_0 -
1.14778153829983) + Xhat_16_0*(-0.146374502945015*u_15_0 +
0.963385811219748*u_16_0 + 0.976820867457244) - Xhat_15_0 + 1,
 0 == Xhat_14_0*(-0.203272871020981*u_14_0 + 0.0588056025416353*u_16_0 +
0.123573227511746) + Xhat_15_0*(0.268118963783743*u_15_0 -
0.989229247893328*u_16_0 - 0.471091591754257) +
Xhat_17_0*(0.998721536662396*u_16_0 - 0.995856859070149*u_17_0 -
0.337051483572615) + Xhat_18_0*(-0.935660774020976*u_16_0 -
0.695511874037527*u_18_0 + 0.107069275555778) - Xhat_16_0 + 1,
 0 == Xhat_14_0*(-0.693151782678718*u_14_0 + 0.140895760517200*u_17_0 -
0.354893156513737) + Xhat_15_0*(0.915707493921498*u_15_0 -
0.850770156918429*u_17_0 + 0.748484181251348) +
Xhat_16_0*(-0.0909346811889611*u_16_0 + 0.0505498981868667*u_17_0 -
1.14787557345853) + Xhat_18_0*(0.261790797142044*u_17_0 -
0.909453704721272*u_18_0 + 0.395863031622192) - Xhat_17_0 + 1,
 0 == Xhat_14_0*(0.944806903841177*u_14_0 - 0.946870781398826*u_18_0 +
0.949247262577664) + Xhat_15_0*(0.813395128117138*u_15_0 -
0.0854817808579427*u_18_0 + 0.0744376062782887) +
Xhat_16_0*(-0.718514601850795*u_16_0 + 0.352900716857402*u_18_0 -
0.424756827570030) + Xhat_17_0*(0.415805193532685*u_17_0 -
0.965124644039169*u_18_0 - 0.417952982328260) - Xhat_18_0 + 1]
sage: xsol = solve( xeqns, [ Xhat_14_0, Xhat_15_0, Xhat_16_0, Xhat_17_0,
Xhat_18_0 ], solution_dict=True )
sage: str(xsol[0][Xhat_14_0])[:1000] + '...'
'-1778974251816734312245175211924787585288691331051677911263371996999102511728636760*(469111571006474915724094365743743075436229472017030083584611379539800574117024101916927422258054369875194745584087285796332968857050194496156008471949029583134385030285370894336612138169795232077183775*(76682914143778765874545151020325453648405792439573181871447590559380568101423991514177067855728740041504383010284716452586401696650*u_14_0
+
26711776113116191182825999050478462500301370934372854067032341895513539032970089074577335291904047106089037604224390289323479754111)*u_15_0^2
-
57216349703430620734263259037808035478924662307044649808970563197371466785397308803869126683574383070720550651210097344023485160062475256997747071565528033009712*((320906691122244797364987948730277936224515463120757118608603548739929374872348833251939773805004359526620325669288217107840279588975497523517907312103485894038184756858250*u_14_0
-
2502953691409002987599371027668266270751645059832720781205072777600454960819839032...'

(truncated because it's very long).

I think these large integers are the reason why desolve_system_rk4 fails
when I try to use this solution to construct the RHS of an ODE (in the u
variables).

I guess this is because it's made the decimal numbers in the input
equations into rational numbers before solving?  Can I convince it to
leave them in floating point form?  I considered writing a converter to
traverse those equations as SR expressions and convert the numbers, but
I'd rather not.  Likewise, I'm sure I could do the ODE by constructing a
matrix inversion routine and using it on the fly, but I'd really just
like to solve the equation using floating point.  Any suggestions?

Thanks!
Lee Worden

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to