Previous Up Next

1.52.7  Εύρεση γραμμικών αναδρομών : reverse_rsolve

reverse_rsolve παίρνει σαν όρισμα ένα διάνυσμα v=[v0,…, v2n−1] των πρώτων 2n όρων μιας ακολουθίας (vn) που υποτίθεται ότι ικανοποιεί μια γραμμική αναδρομική σχέση βαθμού το πολύ n

xn*vn+k+⋯+x0*vk=0 

όπου τα xj είναι n+1 άγνωστα.
reverse_rsolve επιστρέφει την λίστα x=[xn,…,x0] των xj συντελεστών (εάν το xn≠ 0 ανάγεται στο 1).

Με άλλα λόγια reverse_rsolve λύνει το γραμμικό σύστημα των n εξισώσεων:

xn*vn+⋯+x0*v0=
  
xn*vn+k+⋯+x0*vk=
  
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.

Παραδείγματα


Previous Up Next