"Source: Text/Ring/FldFunRat.text";
"Line: 1390";
"Date: Fri Sep 26 12:10:11 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/FldFunRat.text, line: 1390
// Example: H45E15 ()
print "Example: H45E15";
ei := GetEchoInput();
SetEchoInput(true);
S<u> := PowerSeriesRing(Rationals());
f := [Sin(u), Cos(u), Exp(u)];
[Valuation(f[i]) : i in [1..#f]], [Degree(f[i]) : i in [1..#f]];
[AbsolutePrecision(f[i]) : i in [1..#f]];
dist := [3,2,5];
pade, seq, ord := PadeHermiteApproximant(f,dist);
1/420*pade;
ord eq &+(dist)+#f-1, ord;
[Degree(pade[i]) : i in [1..Degree(pade)]];
g:= [Cos(2*u)*(u+1)+3,Cos(u)^2+u*Cos(u)+1,Cos(2*u)+1,Cos(u)];
pade, basis := PadeHermiteApproximant(g,20);
131/75880*pade;
h := [ 1+u^2-u^7+u^12, Sin(u), Exp(u) ];
dist:=[3,1,2];
seq := MinimalVectorSequence(h,8:Distortion := dist);
sums := [&+([Q[i]*h[i]: i in [1..#f]]) : Q in seq];
[Valuation(s) : s in sums];
[[MaximumDegree([w[i]]): i in [1..Degree(w)] ] : w in seq];        
 [[MaximumDegree([w[i]])-dist[i]: i in [1..Degree(w)] ] : w in seq]; 
SetEchoInput(ei);
