compute a Hermite-Pade approximation
hermite_pade([f1, f2,..., fn], x, N)
hermite_pade([f1, f2,..., fn], x, [d1, d2,..., dn])
hermite_pade([f1, f2,..., fn], x=a, N)
hermite_pade([f1, f2,..., fn], x=a, [d1, d2,..., dn])
f1, ..., fn
expressions representing the functions to be approximated
the variable appearing in the f_i's
the point about which to expand in a series
d1, ..., dn
The function hermite_pade computes a Hermite-Pade approximation of degree (d1,..., dn) for the functions f1,..., fn with respect to the variable x. When the degrees are not specified, but rather the order N is given, then an approximation of minimal degree is computed.
Specifically, f1,..., fn are expanded in Taylor series about the point x=a (if a is not specified then the expansion is about the point x=0), to order d1+...+dn+n−1, and then the Hermite-Pade rational approximation is computed.
The (d1,..., dn) Hermite-Pade approximation is defined to be the list of polynomials p1⁡x,...,pn⁡x with deg⁡pi⁡x≤di such that the Taylor series expansion of p1⁡x⁢f1⁡x+...+pn⁡x⁢fn⁡x has maximal valuation at x=a.
Various levels of user information will be displayed during the computation if infolevel[hermite_pade] is assigned values between 1 and 3.
This code is based on a procedure by H. Derksen in previous versions of the share library.
The command with(numapprox,hermite_pade) allows the use of the abbreviated form of this command.
ff ≔ cos⁡2⁢x⁢x+1+3,cos⁡x2+x⁢cos⁡x+1,cos⁡2⁢x+1,cos⁡x:
gg ≔ hermite_pade⁡ff,x=0,20
Beckermann, B., and Labahn, G. "A uniform approach for Hermite Pade and simultaneous Pade approximants and their matrix-type generalizations." Numerical Algorithms, Vol. 3, (1992): 45-54.
Beckermann, B., and Labahn, G. "A uniform approach for the fast computation of matrix-type Pade approximants." SIAM Journal on Matrix Analysis and Applications, Vol. 15, No. 3, (1994): 804-823.
Derksen,H. An algorithm to compute generalized Pade-Hermite forms. 1994. Available at http://www.math.lsa.umich.edu/~hderksen/preprints/pade.dvi.
Download Help Document
What kind of issue would you like to report? (Optional)