The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Message from discussion patches for the calculus code

From:
To:
Cc:
Followup To:
Subject:
 Validation: For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon.

More options Nov 2 2008, 2:38 pm
From: "William Stein" <wst...@gmail.com>
Date: Sun, 2 Nov 2008 11:38:25 -0800
Local: Sun, Nov 2 2008 2:38 pm
Subject: Re: [sage-devel] patches for the calculus code
On Sun, Nov 2, 2008 at 3:10 AM, Wilfried_Huss

<h...@finanz.math.tugraz.at> wrote:

> Hi,

> I have written some code for the Maxima interface.
> You can find the patches at:
>  http://www.math.tugraz.at/~huss/sage

> calculus1.patch implements the conversion from Maxima
> matrices to Sage matrices.

> calculus2.patch adds symbolic gamma and factorial functions.
> (The factorial is named fact() so it doesn't clash with the
> factorial in sage.rings.arith)

> Finally calculus3.patch renames the symbolic factorial to factorial(),
> and changes all imports of sage.rings.arith.factorial to
> sage.calculus.calculus.factorial. I had to keep a renamed version
> of the factorial function in sage.rings.arith to avoid circular
> imports at startup.

> The patches are against 3.2-alpha1, after applying all 3 patches
> all tests passed.

> Here is a sample session with the new functionality:

> sage: var('x,y')
> sage: v = maxima('v: vandermonde_matrix([x, y, 1/2])')
> sage: v
> matrix([1,x,x^2],[1,y,y^2],[1,1/2,1/4])
> sage: type(v)
> <class 'sage.interfaces.maxima.MaximaElement'>
> sage: v.sage()

> [  1   x x^2]
> [  1   y y^2]
> [  1 1/2 1/4]
> sage: mlist = maxima('[v, sin(x), 1, v.v]').sage()
> sage: mlist

> [[  1   x x^2]
> [  1   y y^2]
> [  1 1/2 1/4],
>    sin(x),
>    1,
>    [       x^2 + x + 1    x*y + x^2/2 + x    x*y^2 + 5*x^2/4]
> [       y^2 + y + 1        3*y^2/2 + x  y^3 + y^2/4 + x^2]
> [               7/4      y/2 + x + 1/8 y^2/2 + x^2 + 1/16]]
> sage: [parent(i) for i in mlist]

> [Full MatrixSpace of 3 by 3 dense matrices over Symbolic Ring,
>    Symbolic Ring,
>    Symbolic Ring,
>    Full MatrixSpace of 3 by 3 dense matrices over Symbolic Ring]

> sage: gamma(x/2)(x=5)
> 3*sqrt(pi)/4

> sage: f = factorial(x + factorial(y))
> sage: maxima(f).sage()
> factorial(factorial(y) + x)

> sage: f(y=x)(x=3)
> 362880

> I hope it is useful.

> Greetings,
> Wilfried Huss