Yet another datapoint : our interface to mathematica *can* be used to get a 
solution. The problem I got was that the result can't be translated back to 
Sage : Mathematica express its results as "rules" (e.g "var  -> expression" 
means "expression is a solution for var"). Manually translating these rules 
gives the Sage expression of the solutions.

HTH,

--
Emmanuel Charpentier

Le dimanche 8 octobre 2017 11:59:33 UTC+2, Emmanuel Charpentier a écrit :
>
> Another datapoint : Sympy seems to be able to (slowly) solve this system, 
> via :
>
> from sympy.solvers import solve as ssolve
> ssol=ssolve([e.rhs()-e.lhs() for e in [eq1,eq2,eq3]],[x,y,z])
>
> The output can be converted to Sage via:
>
> Ssol=map(lambda S:map(lambda v,s:v==SR(repr(s)).simplify_full(), [x,y,z], 
> S), ssol)
>
> HTH,
>
> --
> Emmanuel Charpentier
>
> Le samedi 7 octobre 2017 20:19:55 UTC+2, Emmanuel Charpentier a écrit :
>>
>> Inspired by an as.sagemath question 
>> <https://ask.sagemath.org/question/39040/solving-a-system-of-equations-small-known-number-hinders-the-solution/>,
>>  
>> I tried to solve a not-so-simple system, and found that Sagemath (8.1beta7) 
>> is currently unable to solve it :
>>
>> sage: var("x,y,z,K")
>> (x, y, z, K)
>> sage: xi=3/4
>> sage: yi=0
>> sage: zi=0
>> sage: eq1=K==y^2*z/x^2
>> sage: eq2=xi+yi==x+y
>> sage: eq3=2*xi+yi+2*zi==2*x+y+2*z
>> sage: solve([eq1,eq2,eq3],[x,y,z])
>> []
>>
>> However, this system *is* solvable : one ca solve [eq2,eq3] for y and z, 
>> substitute the (only) solution in eq1 and solve it for x, which turns out 
>> to give three solutions (looking suspiciously close to the solution of a 
>> cubic) ; substituting each of these solutions in the solutions for y and z 
>> gives three (not-so-light) solutions for the system.
>>
>> Trying to solve it with maxima invoked from sage also fails :
>>
>> sage: %%maxima
>> ....: display2d:false;
>> ....: xi:3/4$
>> ....: yi:0$
>> ....: zi:0$
>> ....: eq1:K=y^2*z/x^2$
>> ....: eq2:xi+yi=x+y$
>> ....: eq3:2*xi+y+2*zi=2*x+y+2*z$
>> ....: sys:[eq1,eq2,eq3];
>> ....: sol:solve(sys,[x,y,z])$
>> ....: l:length(sol)$
>> ....: l;
>> ....: 
>> false
>>
>>
>>
>>
>>
>>
>> [K=(y^2*z)/x^2,3/4=y+x,y+3/2=2*z+y+2*x]
>>
>>
>> 0
>>
>> Printing the value of sys shows that it is defined. Printing the length 
>> of the solution that this solution is indeed has length 0 (no solution) and 
>> that failing to print it is *not* an interprocess communication problem 
>> caused by a "too long" result.
>>
>> However, when running the same Maxima program in the interpreter from the 
>> command line does give a solution (much more massive, by the way, that the 
>> one obtained manually). See enclosed source and output, obtained by :
>>
>> cat ttstSolve.mac | sage --maxima > ttstSolve.out
>>
>> Therefore, the problem seems to exist in Sage's interface to maxima, not 
>> in Maxima itself.
>>
>> Perusing the list <https://trac.sagemath.org/wiki/symbolics> of 
>> symbolics tickets didn't allow me to recognize this bug. A cursory 
>> inspection of Maxima-related tickets gave no more results.
>>
>> Questions :
>> 1) Is this a new bug ?
>> 2) Does it deserve a ticket ?
>>
>> For what it's worth, Mathematica has no problem solving the system (in 
>> its native interface) and gives relatively lightweight solutions ; I failed 
>> to obtain solutions from fricas, giac and maple, as well as to get 
>> Mathematica's answer through its Sage interface.
>>
>> HTH,
>>
>> --
>> Emmanuel Charpentier
>>
>>
>>

-- 
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 sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to