On Wed, 30 Mar 2011 at 11:58AM -0700, ObsessiveMathsFreak wrote:
> I'm just wondering if there is a canonical (i.e. convienient(i.e.
> lazy)) way to define simple sequences and series in sage. In
> particular, is there a standard way to define recursive series?
> 
> Suppose for example that You wanted to define the series a_n=1/n^2. Is
> there a way to do this without writing a for loop?

def a(n):
    return 1/n^2

Or, if you really want it to fit on a single line:

a = lambda n: 1/n^2

> And moreover, suppose you wanted to define the recursive sequences
> a_n=(n^2+2)a_{n-1}. Is there a way to do this automatically?

There's no automatic way that I know of, but it's easy enough with a
regular Python function:

def a(n):
    if n == 0:
       return whatever
    else:
       return (n^2 + 2) * a(n - 1)

I can't imagine it getting much simpler than that. If you are calling
that function a lot, you can speed it up by using the @cached_function
decorator.

Dan

--
---  Dan Drake
-----  http://mathsci.kaist.ac.kr/~drake
-------

Attachment: signature.asc
Description: Digital signature

Reply via email to