Hi Alexandre!

On Wed, Feb 16, 2011 at 01:13:57PM -0800, Alexandre Blondin Massé wrote:
> On 16 fév, 15:52, Eviatar <eviatarb...@gmail.com> wrote:
> > Another option would be to use Sage's existing symbolic capabilities.
> > For example:
> >
> > sage: solve(u*v==log(u*v), u)
> > [u == log(u*v)/v]
> 
> The equations I'm handling are on words, not on numbers. More
> precisely, the * operation is the concatenation (it has a monoid
> structure).

I assume Eviatar's message was really about using Sage's symbolic
capabilities for manipulating systems of equations. Not Sage's
symbolic solver. So one could imagine doing something like:

    sage: symbolic_word("u,v")
    sage: solve( u * v == phi(u * v) )

which would delegate the work to the word equation solver.


Something which is quite related is how species / lazy power series
can be defined by implicit equations in Sage:

        sage: L = LazyPowerSeriesRing(QQ)
        sage: one = L(1)
        sage: monom = L.gen()
        sage: s = L()
        sage: s._name = 's'
        sage: s.define(monom + s*s)

        sage: [s.coefficient(i) for i in range(7)]
        [0, 1, 1, 2, 5, 14, 42]

Unless there is a clear technical hurdle, I would vote for using
something in that style, rather than writing equations as strings and
using a separate parser.

Cheers,
                                Nicolas
--
Nicolas M. Thiéry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

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

Reply via email to