Ratrecon - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Ratrecon

inert rational function reconstruction

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Ratrecon(u, m, x, N, D) mod p

Ratrecon(u, m, x, N, D, 'n', 'd') mod p

Parameters

u, m

-

polynomials in x

x

-

name

N, D

-

(optional) non-negative integers

n, d

-

(optional) variables

p

-

integer > 1

Description

• 

This routine reconstructs a rational function nd from its image umodm where u and m are polynomials in Fx, and F is a field of characteristic p.

• 

Given umodm and non-negative integers N and D, if the call Ratrecon(u,m,x,N,D) mod p succeeds then the output is a rational function n/d in x such that

nd==umodm,gcdn,d=1,degreen,xNand degreed,xD.

  

Otherwise Ratrecon returns FAIL indicating that no such polynomials n and d exist.  The reconstruction is unique up to multiplication by a constant in F if the following condition holds.

  

N + D < degree(m,x)

• 

If the optional parameters N and D are not specified then they are determined by the degree of m. They are assigned the largest possible values satisfying the above constraint such that N=D or N-D=1.

• 

If the optional parameters n and d are specified then Ratrecon returns either true or false.  If rational reconstruction succeeds then true is returned and these parameters are assigned the numerator and denominator separately, otherwise false is returned and these parameters are not changed.

• 

The special case of m=xk corresponds to computing the (N, D) Pade approximate to the series u of order Oxk .

• 

If the first input u is a polynomial in variables other than x then Ratrecon is applied to the coefficients of the polynomial in those variables.  See the last example in the Examples section.

• 

For the special case of N=0, the polynomial dn is the inverse of u in Fxm provided u and m are relatively prime.

Examples

u3+5x+7x2+11x3+13x4

u13x4+11x3+7x2+5x+3

(1)

mx5

mx5

(2)

p97

p97

(3)

rRatreconu&comma;m&comma;xmodp

r19x2+56x+77x2+19x+58

(4)

Ratreconu&comma;m&comma;x&comma;2&comma;2modp

19x2+56x+77x2+19x+58

(5)

Ratreconu&comma;m&comma;x&comma;1&comma;3modp

27x+52x3+43x2+34x+82

(6)

Ratreconu&comma;m&comma;x&comma;1&comma;1modp

FAIL

(7)

Ratreconu&comma;m&comma;x&comma;2&comma;2&comma;n&comma;dmodp

true

(8)

n,d

19x2+56x+77,x2+19x+58

(9)

aliasα=RootOfx2+5

α

(10)

u5+7α+11+13αx+17+19αx2

u5+7α+11+13αx+17+19αx2

(11)

rRatreconu&comma;x3&comma;xmod97

r2xα+3α+71x+46x+10α+21

(12)

evalaseriesr&comma;x&comma;3mod97

5+7α+11+13αx+17+19αx2+Ox3

(13)

`mod`mods&colon;

ux3+6t33t5x2+4t3+6t2+5t4x+t1

ux3+6t33t5x2+4t3+6t2+5t4x+t1

(14)

mt2t3t4t5

mt2t3t4t5

(15)

p13

p13

(16)

Ratreconu&comma;m&comma;t&comma;1&comma;2modp

t1tx2t1+x3+2txt21

(17)

See Also

convert[ratpoly]

iratrecon

mod

ratrecon