 
 
 
1.52.7  Εύρεση γραμμικών αναδρομών :  reverse_rsolve
	
reverse_rsolve παίρνει σαν όρισμα ένα διάνυσμα 
v=[v0,…, v2n−1] των πρώτων 2n όρων μιας ακολουθίας (vn)
που υποτίθεται ότι ικανοποιεί μια γραμμική αναδρομική σχέση
βαθμού το πολύ n
όπου τα xj είναι n+1 άγνωστα.
	
reverse_rsolve επιστρέφει την λίστα x=[xn,…,x0]
των xj συντελεστών (εάν το xn≠ 0 ανάγεται στο 1).
Με άλλα λόγια 	
reverse_rsolve λύνει το γραμμικό σύστημα των 
n εξισώσεων:
| | xn*vn+⋯+x0*v0 | = | 0 |  |  | ⋮ |  |  | xn*vn+k+⋯+x0*vk | = | 0 |  |  | ⋮ |  |  | xn*v2*n−1+⋯+x0*vn−1 | = | 0 | 
 | 
Ο πίνακας A του συστήματος έχει n γραμμές και n+1 στήλες :
| A=[[v0,v1,…,vn],[v1,v2,…,vn−1],…,[vn−1,vn,…,v2n−1]] | 
	
reverse_rsolve επιστρέφει την λίστα x=[xn,…,x1,x0] με xn=1
και x λύση του συστήματος A*	
 revlist(x), δηλαδή A επί την ανεστραμένη λίστα x.
Παραδείγματα
- 
Βρείτε μια ακολουθία που ικανοποιεί μια γραμμική αναδρομή βαθμού το πολύ
2 και της οποίας τα πρώτα στοιχεία είναι 1, -1, 3, 3.
 Είσοδος :	
reverse_rsolve([1,-1,3,3]) Έξοδος :	
[1,-3,-6] Έτσι, x0=−6, x1=−3, x2=1 και η αναδρομική σχέση είναι
Χωρίς την εντολή 	
reverse_rsolve, θα γράφαμε τον πίνακα του συστήματος:
	
[[1,-1,3],[-1,3,3]] και θα χρησιμοποιούσαμε την εντολή 	
rref:
 rref([[1,-1,3],[-1,3,3]]).
 Η έξοδος είναι ο πίνακας 	
[[1,0,6],[0,1,3]] και επομένως x0=−6 και x1=−3 
(επειδή x2=1).
- Βρείτε μια ακολουθία που επαληθεύει μια γραμμική αναδρομή βαθμού το πολύ
3 και της οποίας τα πρώτα στοιχεία είναι 1, -1, 3, 3,-1, 1.
 Είσοδος :	
reverse_rsolve([1,-1,3,3,-1,1]) Έξοδος :	
[1,(-1)/2,1/2,-1] Επομένως, x0=−1, x1=1/2, x2=−1/2, x3=1, και η αναδρομική
σχέση είναι| vk+3 − |  | vk+2 + |  | vk+1 −vk =0 |  
 Χωρίς την 	
reverse_rsolve, θα γράφαμε τον πίνακα του συστήματος :
 [[1,-1,3,3],[-1,3,3,-1],[3,3,-1,1]] και θα χρησιμοποιούσαμε την εντολή 	
rref :
 rref([[1,-1,3,3],[-1,3,3,-1],[3,3,-1,1]])
 Η έξοδος είναι ο πίνακας 	
[1,0,0,1],[0,1,0,1/-2],[0,0,1,1/2]]
και επομένως x0=−1, x1=1/2 και x2=−1/2 (επειδή x3=1).
 
 
