Home Online Manual
Top
Back: polyInterpolation
Forward: BerlekampMassey
FastBack:
FastForward:
Up: ffmodstd_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.14.3 modrationalInterpolation

Procedure from library ffmodstd.lib (see ffmodstd_lib).

Usage:
modrationalInterpolation(D, E, vr[, D1, E1]); D list, E list, vr int, D1 list, E1 list

Return:
a list L where r/t (r:=L[1], t:=L[2]) is a univariate rational function such that r(D[i])/t(D[i]) = E[i] (or equivalently r/t = g mod f, gcd(r,t)=gcd(f,t)=1 and deg(r) + deg(t) < deg(f)

Note:
Optional parameters D1 and E1 can be provided to update the existing input, that is, to D1+D and E1+E. The rational function r/t is returned as an element in k(var(vr)), where k is a field. This procedure works only in characteristic zero. The elements in the first list must be distinct.

Example:
 
LIB "ffmodstd.lib";
ring rr=0,x,dp;
list D = 2,3,4,5,6,7,8,9,10;
list E = 8/35, 7/123, 22/1027, 4/391, 44/7779, 29/8405, 74/32771, 23/14763, 112/100003;
modrationalInterpolation(D, E, 1);
==> [1]:
==>    x2+x+2
==> [2]:
==>    x5+3
ring R = 0, x, dp;
list D1 = 2,3,4,5,6;
list E1 = 8/35, 7/123, 22/1027, 4/391, 44/7779;
modrationalInterpolation(D1, E1, 1);
==> [1]:
==>    35185737407/8965053161610x4-659760301271/8965053161610x3+8448757043/16\
   419511285x2-7177841332787/4482526580805x+1702354556926/896505316161
==> [2]:
==>    1
list D = 7,8,9,10;
==> // ** redefining D (list D = 7,8,9,10;)
list E = 29/8405, 74/32771, 23/14763, 112/100003;
modrationalInterpolation(D, E, 1, D1, E1);
==> [1]:
==>    x2+x+2
==> [2]:
==>    x5+3
See also: fareypoly; polyInterpolation.