January 2020
Intermediate to advanced
532 pages
13h 31m
English
The Symata.jl package provides support for Fibonacci polynomials. As we may have realized, the implementation of Fibonacci polynomials is also recursive just like the Fibonacci sequence problem we discussed earlier in this section. Symata.jl uses the Memoize.jl package to create the _fibpoly function as follows:
fibpoly(n::Int) = _fib_poly(n)let myzero = 0, myone = 1, xvar = Polynomials.Poly([myzero,myone]), zerovar = Polynomials.Poly([myzero]), onevar = Polynomials.Poly([myone]) global _fib_poly @memoize function _fib_poly(n::Int) if n == 0 return zerovar elseif n == 1 return onevar else return xvar * _fib_poly(n-1) + _fib_poly(n-2) end endend
Read now
Unlock full access