numapprox
minimax
minimax rational approximation
Calling Sequence
Parameters
Description
Examples
minimax(f, x=a..b, [m, n], w, 'maxerror')
minimax(f, a..b, [m, n], w, 'maxerror')
f
-
procedure or expression representing the function
x
variable name appearing in f, if f is an expression
a, b
numerical values specifying the interval of approximation
m
integer specifying the desired degree of the numerator
n
integer specifying the desired degree of the denominator
w
(optional) procedure or expression specifying the weight function, default 1
maxerror
(optional) a name which will be assigned the minimax norm
This procedure computes the best minimax rational approximation of degree (m, n) for a given real function f(x) on the interval [a, b] with respect to the positive weight function w(x), via the Remez algorithm.
Specifically, it computes the rational expression p⁡xq⁡x such that
max⁡w⁡x⁢f⁡x−p⁡xq⁡x,x∈a,b
(1)
is minimized over all rational expressions p⁡xq⁡x with numerator of degree <= m and denominator of degree <= n.
Note that if f(x) is nonzero on the interval of approximation then the relative error will be minimized by specifying the weight function w⁡x=1f⁡x.
If the second argument is a range a..b then the first argument is understood to be a Maple operator, and the result will be returned as an operator. If the second argument is an equation x=a..b then the first argument is understood to be an expression in the variable x, and the result will be returned as an expression. In all cases, the numerator and denominator of the result are each expressed in Horner (nested multiplication) form.
Note that for the purpose of evaluating a rational function efficiently (minimizing the number of arithmetic operations), the rational function should be converted to a continued-fraction form. See numapprox[confracform].
If n=0 or if the third argument is simply an integer m then the best minimax polynomial approximation of degree m is computed.
If the fourth argument w is specified then it is assumed to be an operator if f is an operator, and it is assumed to be an expression if f is an expression. If the fourth argument is omitted then the weight function is understood to be w⁡x=1 for all x.
If the fifth argument 'maxerror' is present then it must be a name. Upon return, its value will be an estimate of the minimax norm specified by equation (1) above.
Various levels of user information will be displayed during the computation if infolevel[minimax] is assigned values between 1 and 3.
The command with(numapprox,minimax) allows the use of the abbreviated form of this command.
with⁡numapprox:
minimax⁡exp⁡x,x=0..1,5
0.9999988704+1.000079454+0.4990960955+0.1704020473+0.03480043573+0.01390379644⁢x⁢x⁢x⁢x⁢x
minimax⁡sin⁡xx,x=0..2,2,2
0.9502547388+−0.0529094903−0.08416376516⁢x⁢x0.9501754291+−0.05104192031+0.06724432750⁢x⁢x
minimax⁡sin+cos,−1..1,1,2
x↦0.8647502931+1.115735845⋅x0.8498225985+0.2651029400+0.3003548030⋅x⋅x
Digits≔14
minimax⁡x↦exp⁡x,0..1,3,3,x↦1exp⁡x,maxerror
x↦1.2602800366369+0.66158211600441+0.14246094729905+0.013527436108012⋅x⋅x⋅x1.2602800381631+−0.59869807134142+0.11102132866190−0.0082048023700096⋅x⋅x⋅x
1.2110972781516×10−9
See Also
numapprox[confracform]
Download Help Document