First time here? Check out the FAQ!

Ask Your Question
1

How to solve non_homogenous recurrence in sage using rsolve functions?

asked 8 years ago

M95 gravatar image

updated 8 years ago

a(n+1)^2-5a(n+1)^2+6a(n)^2=7n a0=a1=1 I've used rsolve for this recurrence relation but I got the error min() arg is an empty sequence any help would be appreciated.from sympy import Function, rsolve,Poly from sympy.abc import n b=Function('b') a=Function('a') f=(b(n+2))^2-5*(b(n+1))^2+6*(b(n))^2-7*n inits={b(0):1,b(1):1} b(n)=rsolve(f,b(n),inits) b(n) the error is:ValueError: min() arg is an empty sequence

Preview: (hide)

Comments

Please post the code you are using and the error you are getting.

To display blocks of code, either indent them with 4 spaces, or select the corresponding lines and click the "code" button (the icon with '101 010').

slelievre gravatar imageslelievre ( 8 years ago )

@M95, did you mean a(n+2)^2 - 5*a(n+1)^2 + 6a(n)^2 = 7*n?

You wrote a(n+1)^2 twice.

slelievre gravatar imageslelievre ( 8 years ago )

@slelievre Yes ,you're right sorry.

M95 gravatar imageM95 ( 8 years ago )

Here is the code:from sympy import Function, rsolve,Poly from sympy.abc import n b=Function('b') a=Function('a') f=(b(n+2))^2-5*(b(n+1))^2+6*(b(n))^2-7*n inits={b(0):1,b(1):1} b(n)=rsolve(f,b(n),inits) b(n)

M95 gravatar imageM95 ( 8 years ago )

1 Answer

Sort by » oldest newest most voted
0

answered 8 years ago

slelievre gravatar image

The function rsolve (from sympy) can deal with linear recurrence relations.

To get the documentation:

sage: from sympy import rsolve
sage: rsolve?

The recurrence relation you are interested in has squares, but you could set b(n) = a(n)^2.

This way you need to solve a linear recurrence relation to find b(n).

sage: from sympy import Function, rsolve
sage: from sympy.abc import n
sage: y = Function('y')
sage: f = y(n+2) - 5*y(n+1) + 6*y(n) - 7*n
sage: rsolve(f, y(n))
2**n*C0 + 3**n*C1 + 7*C0*n
sage: b = rsolve(f, y(n), {y(0): 1, y(1): 1})
sage: b
-2**n/3 + 4*3**n/3 - 7*n/3

From there you need to check that this b(n) is always non-negative.

Finding a(n) then just amounts to picking, for each n, one of the two possible square roots of b(n).

Preview: (hide)
link

Comments

Thank you .I also tried this ,but the answer is not the thing that I've calculated with the characteristic function method!

M95 gravatar imageM95 ( 8 years ago )

What did you find with the characteristic function method?

slelievre gravatar imageslelievre ( 8 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 2,336 times

Last updated: Nov 18 '16