fricas
-- Computing Polynomial Sequence Arrays directly from Generating Functions
--
-- Functions to facilitate Transforming Polynomial Generating Functions into
-- Coefficient arrays.
-- These are coefficient arrays (A) and can be rendered into a polynomial list
-- by A*[1,x,x^2,...]^T
-- EGF Validation can always done for f(x,t)
-- By doing a Taylor series expansion indexed by t
-- OGF is similiar except the factorial n! in t^n/n!
-- has to be applied to the polynomial.
--
--
--)Clear all
FPFI ==> Fraction(Polynomial(Fraction(Integer)))
Type: Void
fricas
--
--
-- Lower strict Jordan
-- When used on the left of variables x it divides by x
-- with 1/x =0
-- When used on the right of the coefficient matrix it shifts
-- the columns to the left by one.
-- Really a horizontal shift of the coefficient array and
-- Should be applied A*SJ_lower*[x...]^T
--
SJ_lower(dim) ==
J : Matrix(Polynomial(Fraction(Integer))) := new(dim,dim,0)
for i in 1..(dim-1) repeat J(i+1,i):=1
J
Type: Void
fricas
--
--
-- Upper strict Jordan
-- When used on the left of variables x it multiplies by x
-- With last entry 0
-- When used on the right of coefficient matrix it shifts
-- the columns to the right by one.
--
SJ_upper(dim) ==
J : Matrix(FPFI) := new(dim,dim,0)
for i in 1..(dim-1) repeat J(i,i+1):=1
J
Type: Void
fricas
--
--
SJ_upper(4)
fricas
Compiling function SJ_upper with type PositiveInteger -> Matrix(
Fraction(Polynomial(Fraction(Integer))))
Type: Matrix(Fraction(Polynomial(Fraction(Integer))))