On Dec 26, 2009, at 12:42 PM, Martin Rubey wrote:

> William Stein <wst...@gmail.com> writes:
>
>>> I admit however, that calling FriCAS from sage is very awkward,  
>>> since
>>> the interface is absolutely dumb.
>>
>> Could you please give constructive criticism instead?  I for one
>> appreciate the work Bill Page did at Sage Days 2 to write an axiom
>> interface.  I think enumerating some specific criticism of it would  
>> be
>> more useful.  If you've already done so, maybe you could post a link?
>
> I also think that Bill Page did and does a good job.
>
> The main thing that's missing is a proper way to translate between
> fricas and sage types.

Yes.

> Eg: (without understanding the issues involved...)
>
>>> sage: fricas.integrate('sec(t)*tan(t)','t=0..%pi/3','"noPole"')
>>> 1
>
> why is it, that I can't write
>
> fricas.integrate(sec(t)*tan(t),(t,0,%pi/3),"noPole")

You can do fricas.eval("...any valid fricas command..."), though  
fricas.integrate(...) and integrate(..., algorithm='fricas') should  
work much better.

> (and I think that "SegmentBinding", i.e., something of the form
>
>    t=a..
>
> or
>
>    t=a..b
>
> is something missing from sage.  On the other hand, "=" seems to be
> reserved for keyword arguments and assignment in python, except that
> sage uses it at least in "limit" also in the sense of an equation.

Yes, that is correct. The decision to stay close to Python is a  
constraint in some ways, but in many others is a huge benefit.

> I would have expected "==".)
> FriCAS has a type called InputForm, which (in an ideal world) captures
> the semantics of any given object.  (I guess, it's somewhat similar to
> the pickle mechanism?)

Sage has an input form as well:

sage: R.<t> = QQ[]
sage: sage_input(t^3-t)
R.<t> = QQ[]
t^3 - t

sage: R.<t> = GF(101)[]
sage: sage_input(random_matrix(ZZ, 2, 2) + t)
R.<t> = GF(101)[]
matrix(R, [[t, 1], [96, t + 98]])

Pickling is a binary representation, more optimized for compactness  
and speed (and also may store pre-computed cached data).

> I think we would need a FriCAS-SAGE programmer, who implements a
> dictionary style translation between the two type systems.  But maybe
> I'm too optimistic here...

Well, I'm pretty sure there's not a FriCAS equivalent of every Sage  
type, and vice-versa, but even doing a little better would be very  
useful (right now, it doesn't do anything that's not just passing  
strings back and forth.

- Robert

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to