#### D.4.9.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;) ./examples/modrationalInterpolati\
       on.sing: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.

User manual for Singular version 4.4.1, 2025, generated by texi2html.