Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If you need to compute $U_n$ efficiently - here is a way:

a=1
b=2
c=3
u0=u1=u2=1.  # initial values
x = polygen(QQ)
C = companion_matrix(x^3-a*x^2-b*x-c)

def U(n):
    return (vector([u0,u1,u2]) * C^n)[0]

Alternatively you can use LFSR as described at https://doc.sagemath.org/html/en/reference/cryptography/sage/crypto/lfsr.html

If you need to compute $U_n$ efficiently - here is a way:

a=1
b=2
c=3
u0=u1=u2=1.   # initial values
x = polygen(QQ)
C = companion_matrix(x^3-a*x^2-b*x-c)

def U(n):
    return (vector([u0,u1,u2]) * C^n)[0]

Alternatively you can use LFSR as described at https://doc.sagemath.org/html/en/reference/cryptography/sage/crypto/lfsr.html

If you need to compute $U_n$ efficiently - here is a way:

a=1
b=2
c=3
u0=u1=u2=1. u0=u1=u2=1     # initial values
x = polygen(QQ)
C = companion_matrix(x^3-a*x^2-b*x-c)

def U(n):
    return (vector([u0,u1,u2]) * C^n)[0]

Alternatively you can use LFSR as described at https://doc.sagemath.org/html/en/reference/cryptography/sage/crypto/lfsr.html