From 03d31042191227dcf12a9d55b0cbf1d29acda9c6 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Thu, 21 Sep 2023 18:28:54 +0000 Subject: [PATCH] build based on 778059a --- v0.1.0/.documenter-siteinfo.json | 2 +- v0.1.0/functions/index.html | 8 ++++---- v0.1.0/index.html | 4 ++-- v0.1.0/minimax/406a744d.png | Bin 0 -> 127609 bytes v0.1.0/minimax/6ca93a48.png | Bin 0 -> 30898 bytes v0.1.0/minimax/c04b70be.png | Bin 0 -> 61828 bytes v0.1.0/minimax/index.html | 10 ++++++++++ v0.1.0/mode/index.html | 15 +++++++++++++++ v0.1.0/search_index.js | 2 +- 9 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 v0.1.0/minimax/406a744d.png create mode 100644 v0.1.0/minimax/6ca93a48.png create mode 100644 v0.1.0/minimax/c04b70be.png create mode 100644 v0.1.0/minimax/index.html create mode 100644 v0.1.0/mode/index.html diff --git a/v0.1.0/.documenter-siteinfo.json b/v0.1.0/.documenter-siteinfo.json index b4df2bf..a882e5b 100644 --- a/v0.1.0/.documenter-siteinfo.json +++ b/v0.1.0/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-09-15T18:58:19","documenter_version":"1.0.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-09-21T18:28:50","documenter_version":"1.0.1"}} \ No newline at end of file diff --git a/v0.1.0/functions/index.html b/v0.1.0/functions/index.html index 71a5fa8..181476f 100644 --- a/v0.1.0/functions/index.html +++ b/v0.1.0/functions/index.html @@ -1,14 +1,14 @@ -Functions · RationalFunctionApproximation.jl

Functions and types

RationalFunctionApproximation.ApproximationType
Approximation (type)

Approximation of a function on a domain.

Fields

  • original: the original function
  • domain: the domain of the approximation
  • fun: the barycentric representation of the approximation
  • prenodes: the prenodes of the approximation
source
RationalFunctionApproximation.BarycentricType
Barycentric (type)

Barycentric representation of a rational function.

Fields

  • node: the nodes of the rational function
  • value: the values of the rational function
  • weight: the weights of the rational function
  • wf: the weighted values of the rational function
  • stats: convergence statistics
source
RationalFunctionApproximation.BarycentricType
Barycentric(node, value, weight, wf=value.*weight; stats=missing)

Construct a Barycentric rational function.

Arguments

  • node::AbstractVector: interpolation nodes
  • value::AbstractVector: values at the interpolation nodes
  • weight::AbstractVector: barycentric weights
  • wf::AbstractVector: weights times values (optional)
  • stats::ConvergenceStatistics`: convergence statistics (optional)

Examples

julia> r = Barycentric([1, 2, 3], [1, 2, 3], [1/2, -1, 1/2])
+Functions · RationalFunctionApproximation.jl

Functions and types

RationalFunctionApproximation.ApproximationType
Approximation (type)

Approximation of a function on a domain.

Fields

  • original: the original function
  • domain: the domain of the approximation
  • fun: the barycentric representation of the approximation
  • prenodes: the prenodes of the approximation
source
RationalFunctionApproximation.BarycentricType
Barycentric (type)

Barycentric representation of a rational function.

Fields

  • node: the nodes of the rational function
  • value: the values of the rational function
  • weight: the weights of the rational function
  • wf: the weighted values of the rational function
  • stats: convergence statistics
source
RationalFunctionApproximation.BarycentricType
Barycentric(node, value, weight, wf=value.*weight; stats=missing)

Construct a Barycentric rational function.

Arguments

  • node::AbstractVector: interpolation nodes
  • value::AbstractVector: values at the interpolation nodes
  • weight::AbstractVector: barycentric weights
  • wf::AbstractVector: weights times values (optional)
  • stats::ConvergenceStatistics`: convergence statistics (optional)

Examples

julia> r = Barycentric([1, 2, 3], [1, 2, 3], [1/2, -1, 1/2])
 Barycentric function with 3 nodes and values:
     1.0=>1.0,  2.0=>2.0,  3.0=>3.0
 
 julia> r(1.5)
-1.5
source
RationalFunctionApproximation.ConvergenceStatsType
ConvergenceStats{T}(bestidx, error, nbad, nodes, values, weights, poles)

Convergence statistics for a sequence of rational approximations.

Fields

  • bestidx: the index of the best approximation
  • error: the error of each approximation
  • nbad: the number of bad nodes in each approximation
  • nodes: the nodes of each approximation
  • values: the values of each approximation
  • weights: the weights of each approximation
  • poles: the poles of each approximation

See also: approximate, Barycentric

source
Base.valuesMethod

values(r) returns the nodal values of the rational interpolant r as a vector.

source
RationalFunctionApproximation.aaaMethod
aaa(z, y)
-aaa(f)

Adaptively compute a rational interpolant.

Arguments

discrete mode

  • z::AbstractVector{<:Number}: interpolation nodes
  • y::AbstractVector{<:Number}: values at nodes

continuous mode

  • f::Function: function to approximate on the interval [-1,1]

Keyword arguments

  • degree::Integer=150: maximum numerator/denominator degree to use
  • float_type::Type=Float64: floating point type to use for the computation
  • tol::Real=1000*eps(float_type): tolerance for stopping
  • lookahead::Integer=10: number of iterations to determines stagnation
  • stats::Bool=false: return convergence statistics

Returns

  • r::Barycentric: the rational interpolant
  • stats::NamedTuple: convergence statistics, if keyword stats=true

See also approximate for approximating a function on a region.

source
RationalFunctionApproximation.approximateMethod
approximate(f, domain)

Adaptively compute a rational interpolant on a curve, path, or region.

Arguments

  • f::Function: function to approximate
  • domain: curve, path, or region from ComplexRegions

Keyword arguments

  • degree::Integer=150: maximum numerator/denominator degree to use
  • float_type::Type=Float64: floating point type to use for the computation
  • tol::Real=1000*eps(float_type): relative tolerance for stopping
  • isbad::Function: function to determine if a pole is bad
  • refinement::Integer=3: number of test points between adjacent nodes
  • lookahead::Integer=10: number of iterations to determine stagnation
  • stats::Bool=false: return convergence statistics with the approximation? (slower)

Returns

  • r::Approximation: the rational interpolant

See also Approximation, check, aaa.

source
RationalFunctionApproximation.checkMethod
check(r)

Check the accuracy of a rational approximation r on its domain.

Arguments

  • r::Approximation: rational approximation

Returns

  • τ::Vector: test points
  • err::Vector: error at test points
source
RationalFunctionApproximation.rewindMethod
rewind(r, degree)

Rewind a Barycentric rational function to a lower degree using stored convergence data.

Arguments

  • r::Union{Barycentric,Approximation}: the rational function to rewind
  • degree::Integer: the degree to rewind to

Returns

  • the rational function of the specified degree (same type as input)

Examples

julia> r = aaa(x -> cos(20x), stats=true)
+1.5
source
RationalFunctionApproximation.ConvergenceStatsType
ConvergenceStats{T}(bestidx, error, nbad, nodes, values, weights, poles)

Convergence statistics for a sequence of rational approximations.

Fields

  • bestidx: the index of the best approximation
  • error: the error of each approximation
  • nbad: the number of bad nodes in each approximation
  • nodes: the nodes of each approximation
  • values: the values of each approximation
  • weights: the weights of each approximation
  • poles: the poles of each approximation

See also: approximate, Barycentric

source
Base.valuesMethod

values(r) returns the nodal values of the rational interpolant r as a vector.

source
RationalFunctionApproximation.aaaMethod
aaa(z, y)
+aaa(f)

Adaptively compute a rational interpolant.

Arguments

discrete mode

  • z::AbstractVector{<:Number}: interpolation nodes
  • y::AbstractVector{<:Number}: values at nodes

continuous mode

  • f::Function: function to approximate on the interval [-1,1]

Keyword arguments

  • max_degree::Integer=150: maximum numerator/denominator degree to use
  • float_type::Type=Float64: floating point type to use for the computation
  • tol::Real=1000*eps(float_type): tolerance for stopping
  • lookahead::Integer=10: number of iterations to determines stagnation
  • stats::Bool=false: return convergence statistics

Returns

  • r::Barycentric: the rational interpolant
  • stats::NamedTuple: convergence statistics, if keyword stats=true

See also approximate for approximating a function on a region.

source
RationalFunctionApproximation.approximateMethod
approximate(f, domain)

Adaptively compute a rational interpolant on a curve, path, or region.

Arguments

  • f::Function: function to approximate
  • domain: curve, path, or region from ComplexRegions

Keyword arguments

  • max_degree::Integer=150: maximum numerator/denominator degree to use
  • float_type::Type=Float64: floating point type to use for the computation
  • tol::Real=1000*eps(float_type): relative tolerance for stopping
  • isbad::Function: function to determine if a pole is bad
  • refinement::Integer=3: number of test points between adjacent nodes
  • lookahead::Integer=10: number of iterations to determine stagnation
  • stats::Bool=false: return convergence statistics with the approximation? (slower)

Returns

  • r::Approximation: the rational interpolant

See also Approximation, check, aaa.

source
RationalFunctionApproximation.checkMethod
check(r)

Check the accuracy of a rational approximation r on its domain.

Arguments

  • r::Approximation: rational approximation

Returns

  • τ::Vector: test points
  • err::Vector: error at test points
source
RationalFunctionApproximation.rewindMethod
rewind(r, degree)

Rewind a Barycentric rational function to a lower degree using stored convergence data.

Arguments

  • r::Union{Barycentric,Approximation}: the rational function to rewind
  • degree::Integer: the degree to rewind to

Returns

  • the rational function of the specified degree (same type as input)

Examples

julia> r = aaa(x -> cos(20x), stats=true)
 Barycentric function with 25 nodes and values:
     -1.0=>0.408082,  -0.978022=>0.757786,  -0.912088=>0.820908,  …  1.0=>0.408082
 
 julia> rewind(r, 10)
 Barycentric function with 11 nodes and values:
-    -1.0=>0.408082,  1.0=>0.408082,  -0.466667=>-0.995822,  …  0.898413=>0.636147
source
+ -1.0=>0.408082, 1.0=>0.408082, -0.466667=>-0.995822, … 0.898413=>0.636147
source
diff --git a/v0.1.0/index.html b/v0.1.0/index.html index 185fb74..15fbedb 100644 --- a/v0.1.0/index.html +++ b/v0.1.0/index.html @@ -1,5 +1,5 @@ -Home · RationalFunctionApproximation.jl

Rational function approximation in Julia

Documentation for RationalFunctionApproximation.jl.

This package uses the continuous form of the AAA algorithm to adaptively compute rational approximations of functions on intervals and other domains in the complex plane. See AAA rational approximation on a continuum, which is to appear in SISC.

Approximation on [-1, 1]

Here's a smooth, gentle function on the interval $[-1, 1]$:

using RationalFunctionApproximation, CairoMakie
+Walkthrough · RationalFunctionApproximation.jl

Rational function approximation in Julia

Documentation for RationalFunctionApproximation.jl.

This package uses the continuous form of the AAA algorithm to adaptively compute rational approximations of functions on intervals and other domains in the complex plane. See AAA rational approximation on a continuum, which is to appear in SISC.

Approximation on [-1, 1]

Here's a smooth, gentle function on the interval $[-1, 1]$:

using RationalFunctionApproximation, CairoMakie
 const shg = current_figure
 f = x -> exp(cos(4x) - sin(3x))
 lines(-1..1, f)
Example block output

To create a rational function that approximates $f$ well on this domain, we use the continuous form of the AAA algorithm:

r = aaa(f)
Barycentric function with 20 nodes and values:
@@ -54,4 +54,4 @@
 lines!([(0, 8), (0, -8)], color=:white, linewidth=5)
 scatter!(φ.(nodes(r.fun)), color=:black, markersize=10)
 limits!(-8, 8, -8, 8)
-shg()
Example block output
+shg()
Example block output
diff --git a/v0.1.0/minimax/406a744d.png b/v0.1.0/minimax/406a744d.png new file mode 100644 index 0000000000000000000000000000000000000000..27c0be2c47752aff6f48c45a4b73667248176897 GIT binary patch literal 127609 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 uh7d7-L;RnqBlCg@pOwm(hy4$*^+a?4 literal 0 HcmV?d00001 diff --git a/v0.1.0/minimax/6ca93a48.png b/v0.1.0/minimax/6ca93a48.png new file mode 100644 index 0000000000000000000000000000000000000000..7d4a5cc72e2e93962b273775a5f9d3e119f8e09e GIT binary patch literal 30898 zcmbq*bx_q&*DfFkh{91yq(f;Cq#G2Zk?xl6ZVu9dfONNXcQ;6Px3oxi!`+AXyWe;J zxifd>A~T2ciydpPz2aHV_WKv<&o7?6c?Jgu_d-nclN=n}6B0N$1Qiqna0MF+n-Y9H z)sy)A3GM;*FRdvj5)O_8PVAGQf^*XDqLYsLzKq%o| zXr@hxQp&J)5#6HOE3&K6i=-1?x}XdcFb24h0K#o}*dLwvh;*>e1X3N?_mSuDXyC)k z5Jd%cmE~hAY~*Qp2sp5>gOF0#hq1pG68I4K@c;BG``D8}C}Yd5t%HMuqod<5WLS%B z##UA(xw+1#qo41fs5B}+3W|#@t*nez``8i(_Z&ai7{DE-PVZEy6@?Qa!9jAyx9z#& zYi-@!+(0V=jDkqPHnWdE!#pR?_mtV*gxJ<;P+^UE!rq(T1K&+dOu~s!TK$I1*)WA( zy?SNbVhd^Mlx_R}p3nb>DE{xS{+`t&O742OEej`bX-&=xR-kqxE7zg>ER}H5BA-bI(><5+;U&N zi*s--o6StMGS>5oUSMHwGr_k?3N2N#=Q_l<^=2JyBH zya31JBdbLo$(AJ-TjS;K4;R_NV-j*-Wh{y=GJ=q-;RQe+X{oUpOLNnlPKuJ92(xQzpA?1f?TEjskQYY) z&|86uCc-BO3=Pb@E4##5lqhxzdgc^}fo?E`XPKX8vX&L`_Ts)q-rd!}W_yLu$qO4O zR~^sN$HmQU)yx5m>wzID7L{bFcj_FUk>GS;dqE&4Q?36n&}aflg|EU+!56|}1{Y`r zYtbG^NE9XBao6CBGJ03g|}Q0f`$87%hh~XlfdlX z!?s=8_)=&a-s~2g_7&D!iJg#-D|i@ipAcbEwUDe1pYoiqv@5Z`pcaoopVQ@EMN4f)H#dQps&0wsnq=u;QtJtunc|p?zY-a8eovD<#xmg-)1@Q1_ zB+`%b0Ift7yh5w>^eBE-yK5f(8k^3`*$=iBVO%~{99<>Y`+PH^D3I<)UHEe(H~3CH z9Ew)z9u$%F;x}nnte&L;9EAFD)s1(E9c!E5kqQy2I#wH6?SC3omr{H!ibN|xP3CKlP6m{k6eh_xEQ#jS%-`fXPafW? zK6^>}OJ66hOb}k6^KtfRMNkfQS%MLXPIu`D-(^1_VxIqWrT$=D&0OjwjM6I?RQeQ+ zgaI~B-#!UhO`mfD#Xs;8-@K3@sj!}fvWRUt7njVVsYY-^<%77vwbhqEU;?@I1LVFx zNoZ8!pQTT36IC|6evJk9>D7O3(Sch@aJY4msa&jSfk+VOV^fnRj^(O_lEUxheG!{P z;Qzawp;JWCRLnz48rKknPFgT8uP+X&BHk)sd}86xd^Ol;RN#(~fwLe{&@?oHsH32g z(&6-e3H;KA5XcXcDyfZ2V?C*|H8!2Mk_w#7GuWdPi-tMf5(dclrN8q&C3A#ANcLeu z@%>cfj?UOa;%!+;IVdC~B5hA-o)->GVT zI2sBm7cFeBVmyw{0fTGoRQCIbhd2$(l35BW;rtJe1Fgp(N_w+M_D6*k(RV6<4mLfSsU z(&ul4K|7w0?etC?u*lq4WxvPU+|cbD4I3KCRsD~ktE3UeXc}CV%aGrHs($SlLtsJec-Bfi2T(wcw8*wXcF;^S}20 ztU<&WGL7gZ`lxjNQ>&smc_9s9YGi3tdgUP_&QfrJSdWbv53(Q^e#J|Lj0FSD!i9B= zAR_z8%3-XwJsFY_gMvaTVs8o;hz6Sz{7w}o@WmnwX-5gYaxkqzhK;_p(vXsrB4mkG zMGl^{lfxHgN*;w0Hzj0;NhcI2*STgh)ASKGg(t9Hy_jB>s?bGHtdN5%$d6Y{2GMbX ze~r~Y1*;l!2onPF<5;pQxF%k~r+z&7Y+NqsB@FfpFuiajI%*Xk=)Y|qV;?D&j%34= zFo0OaD^f&6CkGQfy#F~IqU^h6%YjR;BDL%gLhy{cH_Hb6l?R?hAX?Lc~?ZPr~@cew< zs^zd9ZD+cK|DX$u+38^EZsa3|#Y`#bDOz<+4Kcr``$DY^h&c!5s?6TL`u+fwgbRE^ z#Axt3qYiX6H*JQ6j|#7+T`BpJjh$U4iNj`lEK8rKd+n(4X20QL!EX2m-Uk#?rv;nt zf0G5vo;Q01CC#q8!B#V+D{aWc6uzai57<=Q&40k%J;$5v;Z$}jEnQvR&z}RdO8D*n zjvR0FKOD!l?9SI5ltAyyzCexP0>xYl#@Dh~1|(m;5^@a?iK7YwF`TdjQbAr`URs*Y ze6>YM^Yy>Y!Ng%vHa)t6dN1c?-&``D=rgk&c&_u zONxF(M3`;y%SBN^5BQk=rBI{p82WGl{P!|m zQbcy5wbe_lD5e)o)_i}VZob9}x?i{DxI1%nxfT}Yv0TRJT&!F+y9?5lnf1%0%ovJ)=QjSeRm67ln=z)iHz zr6N8y{Em5Zm)yI^?NhG}G|6TcUg9RL5~Ttco~69cGv?LPI|gMc%`F>cS9Waz247)6 zN%uX~7V{{ik`wWl?#%)u0>GOLJZDqRmn6YSzHQyG=4fUor^i*6xVm#>Uz&y!JZ!Rw zbG|{8%?J$=-d9vqd=s+yr_Cpa2&nSQXMS~cbvgX>w6wI8lsWnN|4wnWYEnhgH1$2${?dG^D291e1mL8dd9!kgH? zu>_>N41H*tG+iv!?EpsO@^5C?HNsk=RkO?8*)(^uG)}MsXtf2%n*aVXbAIpsqUE8< zY`PfiN((i zr4$h9ghUMtHjdW16B84Ql+0vhN4L$+l#A3HOtpy;2R*?QwOzNfVq#(+!2(5ml&Ap&S%1#qw4JTlI`1C0pir3I8g|G3tq+$b_}ll}e-Xyts`F77w1of<8n6BM0jly5+n9Ne2%G+A|G^a(P6zApjy(=?u&~_M=g4$SsSt0Fo5sOJ^M^6HE1qiegmb{t_MN!1 zF9a3>n7~4S`!Q7l$r5WyUkWi;gzfTp?b*jz+2e66QZ81wPL{`6Y!?D&@1+f!=dF-z zr;dZ^YpoS&6fwxLGXWbcx_x}C5o@bD2sCLb)s;DU{y<#MQ3 z_nHJIMcC^W3!)fsa10vrZ(JWPE#$Ynnl#9vdb;-$bi%(rv*0v!#gnXmze;+)Kr7q+ znV1ep;TaCxr{53eg__3)O^ZIECTmd*^EXD#*K0YGbD|igbX*1G&q2r+LE#SKSNtR2 zEk`&3ZV(cYAZXn;pILFM@3(N=Kuc(_t!F<W&T!Qy@=`mJ1Byad)}h>V(Q_<6TgVn(U0zD=zK zdCH+;srwdhCWvweKyK)DXj9)b3>|kCvs~>9s+3JVJk3JtU>MH#NY*8qaoMIr7ZRO8 zh$->L_7lW}yY&T%v~sePzE4!KmM3vCeC9i*FzfApR={6f$1_^>s^3Xk+Erz!m(-W4 ziw8Z?k6OrU29`MMt{%xjXGeKB<;zM1cz=%*r9_YGI~MZmqRhA6t`z8GiFQ;z4Ib2^ z{?yp4n{@FUQUIHcWHsAsd^d}*;ePxZ6XhrhBbrZU=#G9y3Z7%CNxnZz>1|;;J2F5> z;tvy7Tw`6%2gP?PN-O?RUTEu(4#dVHTrSN--vzw5yw3tgak5Ol8K zwF0h=Rv4HxSQ7iITnm}FF7+w#Z!GUv?K@ibb^6@K{f_C*_ ziShfLV12HaVRkMy;%ST;8c_p!;Z|?l;$JHYv@aV(K{B|2nZ+U%kc1%-Pi3*Lj^jLS z!qwWh5U=O3;?p=(&ow28F`u9XPOXyo{`#EZ?FUkNCRj@Uy0XMB&1~ep0u_E3AY+87 zmmkeq=J8h?RJeixws<2huAABZhVDOde6HrCF}zh;LM4s9zhQUssz~}GJOzcZV@#cp zni)PAdn&OHQG+NT1eoefm_!73!gjVoWu9N7v~aq7r^A_@C0J1vDw++)S-KJwLJ1a* zB3tqz1jd>P6$~YA%)EROKOiOsv9a+k>T4btc6G(u_C1laDeKh8H6ZP4bC{i?0Cq~J zFI(*i>3Sb9Wu)s7Jd^w9@K&GZbxr7B<^o@*pvMRE*i?@XUawuFzHzBu-ogkq{mn6% zwy0=DkYT3q?ah(1RCRbDV&NxL3^O2Rm|cJ0zH1FYN)!Xn5hIc62uOL3hgYZ|(nlj3 zIV>@Wz#c48;G4=G<#y!ov7~>kDTAWt&L`)GOcaO{nh0N_sqh+dlTt9t`;q~hrUyg8 z-meyLWr`0Z#$-J|;-bTekI7oVtnu z_?{_IhD@JEPOS#^;0PVdKl)}Im~S4eW_=w^wiG3a6f&KZluqJHu#bL0w*r9Kk^Qkx zdT6Ai6oNf#<*FP9cqET6BvS>M7aV9R`v9ndb9Ns_ooZCY7pc%tNA)TBn#VNDL35Xk(4Rl^<+}>8u`=4i*+0M8Y zm-=7FfpikIj7s{s3g;bzCj(dTNAh457*g>{KL|qd4kj^+YSz;}#D!ox1xXDa+4f<% zpwLs_DsP}&A2y>2W=)$YSG5R&sdvuf> zeMAABQb?c+pC5&%|fj)>AYcj2#dc)TKA84&9~LtC4KzmZ58z5z0@<& zlv|G-@Io~H&&PB=+X16o*BCeJ)uk8C971P~U05uLOiDrC4j(Lo^5|V)NT+dW))Li< z9Ye3w*J}|>mg7>z()vNiSEFqEz7W5_e#5fTUF<_|me>`6Ru@Nx7|8h;BI#-Q*yMtcVWzS1{eqddh%`#xsA~Hc zm48g!Wa`bwvfo{vI3m*Nbgo#Q(DGM$PLCPc)Q)5N($bC*#V6C^lHrfQLBB)t?{%la zZK8cPj4)>$EQ&>@w;#&q=SXkaCf|T0jIs5Ydb&r2PA;?ReN$QrWDLM*pDO!v!{j6Npbroc_ZE;q~P4a(|TOEB91d`#T$T!q*s+{ZU=L3 zg2y$B!(R%e%#9tkELSyq4*HtCGbZC@K}ij%^8apfEGf)U9w^k=FBcf=ritjR6*LutymJ2~(%A0)znWkp2a(|g^$a@|bn?*IBG)@NPP{lEES^$p zuJ!0EFQ2GLO^Z2hx$a^CZh7#ZkE8NsXjTwF&LPj6CS6XD1A^s$r7p5v{oqw{N52W4 zr;N?+vwZj)*z4~{eq^r%FT~9opKTpVKSZJ<_@3x`HLh#>{&Y(0)jbvWOcuhv8@m$v zj3$P=4c)E2kF~8!BM3i$BxmT9W-QfWXvlpDjGSXi=K%~%ht~f)8|z4esAO_G^i+Uk z(_{YY_4xT_Lrz$O+jVVOs*B0D>liUS=;EyR_x3bW9l_T8H*V8Ye^WH#v?Iv4r|rP5 zSZ1WTtW>+Ph@?)^_jx}*y1;Ji6v8#ynw0UCI(Cq&*oZ?%SPH4%New+lS1@n@ecFPU z5EQ%a@BYa_QyyYzB|h;CS+P$u@s`5sKHrX<^FB`{_sB%tnhv=n5Z#$dYlVv6&iqzm z6!tSRhj{LU?tnSABRFta(flb#n~=+9f8~h5g+-R40J$of5-0eKVt;w&ujVsZxA|NA z$oK<>kwnZhPgY8&JJh>$%MauF!4hC~;xNKaC*Bk?YO2~Ur7R*a+;sH^hn~jqb1Yz{ zlnKVkV$E6$wbXv0|JwZR2ComqrwXMR>F&Y+ejL#?l2`^>Oq|H>DJSCnP~v(TvG9rM z;X)lh4qt`fiFS_;+<$QaKDK(p0ev~qW>?Cl)X@Al9W~;By^Xzn%c&M3aVzyhleOW>Phv;grlW!0LjHVLLpVzLKnn8awfjKRVfxfp2)g_Z~F4? z4<9r4MS<(bWO&*#1Q6Q7U;Y)9iR?YU5k~T4Fg7gfvDyqN`S84m-%`if7y=K9&!D)L z^>)ShkEegRLS1Zz>5Jz$W%Yxhxp_LeK@g$iz6*=0r#t*Hu}C(hn@u0OQR|YFJ&g_Y zbdEqgj&N9WpaxdD;FebVN`sq;o>BIAYj1EMg(3^XJMy$QXMef=yp#J626R_O(bED?@`(-??V$uRP zN1WzUC0m>OI|MV+oUJn>Bnan@&q1J|tn^EGeZP*TEU=riO$AB9%*K_PMw|w~<*~!M zYaBu-Ly_wL2pJBRi;vB={^SxRMStK~b$NgcZJ|6zz`5KxSgrvjTXwCemw(Z$;-g4$ zZ6BeQrAbDy+mP%DgM3Qo+Cb*s;^17y9Qm#K_t`V0R&0{+bvyxJ&DPej^YZMn zi?EouYpM2MV54x23YIv%p4lZiKYXc?>ukv2U_SBT%gSR8B71H@vCGE&6~Xe;)Ipdy z_38_q7dVJu;jP#wL*#>qYB{)13wjY33dH64dGj6IM(w(_QBkVo=7a}FZ~?9+hAG*8RH3CqJcu*!6zX@Hn4@~GIQL8QGkcc)e#h!nli?) zf5BH%8(4g?{UX|==_C0v%lVjX6&j!;BrU7oaDi%jEVjQrL0?}G3u@}gKDlWrbi%n2JNL3u=H}iDk^?p5(wqi4RN<== zzV==MPq0}}{<3j5o9s4Oh`-}bJAZBzj#^9G$C|2OMrg^XsqYhbd9gHP8{#ff&0OB0 zQzj}F6qW8ZImMrp8I(>;jHhf41o@h-z~g*N+8pDcY=LvUXZ>YLyW%}HNXp%xOIE}u|% zx6xFmU%WSi05}@xT`Ch#L^x#Dx_^CgzM1uwy24hWQafo_myupf6)F_g z%xh8#F|5VE0GJS3U%@T`u1?UJ#SdiaR*v@t_gKXr zFD90Olg<7x7(o=y>GyDTXxoJ1kex%&*qm2rNGy%2Jg@k@Lw6YB_-6v+1X z6ss}xth+jq(jdxg{rRGv>^HSm11p|yjJ;a{Uf3rf*2BTc#U>*n{nTUd;CO!t0-}b$ zm#$^^wM)C!i(K(TlWcT2b&h&!ikYa(UHU^{Q&iz}>)V}>@&0^}OQ6xu@Wxi8UFgkw zhLeq=D=A}Pkw*2euK!tlgP%fcGCQBi8tSeh7e8X*%oLN374xk0!54>{sDV$Y57ESP zLM@jGK8tHn86aa%*ZyZeEj{tWxp4=~Qa;J@AXrhV!cGwlO~^Drq+tx}T883ByVr*L zdMK;Pd;fn#{Q#07uA^X==-nmVP>%V<5^sL?n^ffB6*3U){F3ws(yxyDQ0AY3-F5on zoAqn1O_O+i(EtKr4{2hT=}RjM2^#+OTsTy`@jN$lsUIOzYk7Rh!jY$Aoqg?3RCXVz zjy+GmGvg-|4zIpnSuj=uY=#xP898{T)=+98jvQ?(j`UY2o;5l=P8%BwS;n5=3D5RoqME30EluG%sH1p*$RjDZW6#4}-$FH?t`k%LuI3lj z70}lL%ok3-y}htIsDcQ_)hT~etFNC^$G`afM@ETn!GbTl;=R+%LM5Gni1%Tze%#w1 z@Z9RxOAF&ytzENksYlCQ4()s81j`kyH9o5&?R*XM2X%Q;oi<~wxuu0MBR3aSyjZD| zpinzixg?&|BfwMh+j0bu5v~8WzsLZ(Q=MUyw%fGigy>}wD{_NR!!b8L$>SyWKg=Qy@C&NBS@);0?uj*+PQp&*Gh5MDJ{%e(|z>? zTc3H2Z)?=qZuq~z_Z3R-SaCk?rA&q1U!jEN)D26cP!rGt)XFkG>gYawf6&2S;HI>M zyZC_E@y`8CMb6dGkZfMoEo0cW9<2^Qt3wUPr$d^$?WdMVDM>%IZ{g&=l`qFaJDCih zb5*h;;99V-{7VQ>7{h=>SR~0}D=1rTucsy?Th0==E-1SmyCY-Hqw9Q^fI40tb&8R| zXOPESFuurXO#Hcf|CDNX^iSq1{ctxG!fEvu%fE}G=5vcnP}8$Sg;uGE!&y3jGQXSe z$$R527PNc3x(?Rsoe@ntXAjT<;6gntgk4;{-zQzX_0>>{yWL>&&@Tx|&#K=VV>Pbf zTI}j&u4k_u$AG7W8|J&&1$9rygC$;zxys1`xQ0guqXHCiS%NGifBgen< zs3PH~<`t~H7H~>~-x=g3toy!NXJ6C8^(0`hzMSF=0HYvbTl=J0^~ao?=wPRT`@X&+ z%WQ<L2LLMBlnZQc*QR>ob&V1B0TgYyd)FvZlQs0$thY_K zLhcs=X_ypBSwrK~f^i91-=7qyP*2Y>>@I2$#=76p4EL{P?cX$RF1vv=AQrdUphA%L z&Lo*z6W)yNNkFZiH1#HcNRlkA(pXInmjk;b__k8G^bP$<5Gd4&!<6~-g>>#DL8%NGdprq=yUuX3D z2cGXw?)_T*vwxFTEq9KHPh!;C`^S5RqgO%LErn}vdv~L>_H+E<*dbZh_;c{Kj55~v z()~a4{(kx8rRBQJIxAUS`?F%6`L^P=dA|H&R+X*Ix6O@(_F}T-ffw5Hh9OPWKxt({ zjfpj#Rv$bRq4Vnl+QT5~__`jfDUrGt!b@0yVUHh>B>vJ$%;wnp_E(;2pHS8MX)f35 z5!?A3y5kD~h+H^)Jjj_;BMRWPa$jY|Wa;l?F{OUcn6}!jTD(6B=iPfEqp5bdu$pV; z?oeH>z!@wYx>Kl(6~JY7aO~WGyeC`h_w&|%>BMU>nkIO_T!8?9lhu>>>`Cw46^&T9 zHD2)<$);al1V3Y-l_Y9l{`Km_a4R4D5+%lh#MQ%9;pTTrXaj$Ni>q0O)n-_WlOdZO zQ@@0)le@;=x!i%4HlBajPQ^xU=apDQ3BDU~5_Y!NhJ_v|` ze+!EUB0@|H7Z;a3*CHS?Nb{EKw0T2s*N9&djJYiGy*#zsg$9IcaXrNgmdH zaHpvNQ8yaMYT=z0Z9Jlo3l(p;V5wieM(I_tNh~g9*mV*@)h~hMn|=vfGy522sIi+7 zbPLdgi%UdrplBy13+^=)SqBHpRe%_5JyQsxa?8{R7uED@jWd3}0L>U0T8U`Td1OY< z3egEJYkd{#9GGq0!HGUF1HsQGKU746s6RyV@42g+1vxSoG6?GLD%EIlZTXuG#vHIE z_iWQ*0U8Xzpl##76C6#psropc=@}}{@pPw1Xf}_FIMAZ@|Lo}#m-kI-X%J6 zz8V-7GS6piY-%}~sA&ev61B38imRb15$?YgI|f@SdYx z-NTic`$5yiRH3TfHJSmls+LyDsOW)XY5$-R_el1jYHs*3a6w~A{5iv6u8%Pg*q6L^4qT3X35{ zqG?+x{x*W_{;NX>MYcQ{UbAn{F;OymoF6%^^$p%T-^%mXkt&WNR#?fWAIYKj>27vw zUb8EkrK)0jDQfK-r7CQ()2r6_77wb)*$`XXsCGKP_loWE63)*?q4y2XXBK~xD(B43 z&KOw{+ke4YDObgme~Td_(_r72L8iERLsE`@>Q_!%^+|+JC8eQ3;%@gmG?Aa<_IT(w zzh(kqA7$%ozS`4=L#go>m=nsIDCC!X$uWJ0krKkuBygjxi3U8VVd71ts zGwt6>FisPJRB+*9xKCHFGV^-2v+~7R_Z#}JG#v-Se{NUiV{jeqwYW*oip<2Hs8PL( zjcn0~zHIPAdRSPzg1T|BPh1QVr(TW>6bd7KhZh!0p1j&`OHsUOsKPO_DL;LPiCy@T zj%qWeTd%>#%Xr2qM2CK%Ta?vi{NZ_s^=u&)UdtEy_?UPIro`&dm-zJC{ciO1Pj6P) zO?<#&QV)to^gmHy-gRt9mZls(NI3l@go3Ag(s6$N;}t{L1#tt{LuJL_-jSAex~kf* z6n-rS5x-u*hkn7Ob`y{&*)izR0n)Cscb^se|ICKytPAaP_~il`{W&#W zgnmr}c&X^PI8l@`wTF|g-{x!;Ds+CUE#4BA;AbB?*u6Jb6%1i^eEuv{fCTc)Pha~g zCU3T7e(rQiaIdj_f+RhDIQlq$%=)=paaH}Dfd;p%JfE7|jQn+g zW;3?t{F@(IL3A_6AoqV@F&DMe_y}LY?R4==WuB_ODCk|83gM z)b*mmZ|Ky_@40>Ox7|4rS9C@pWy1*G#uvtJ=(k%#4ggtQOmx=$UjCS!Q~)ZftZ3H; zp3%N^X#blhN+0J{#G% zyDk5q;tX@w^&BJ4Pk6e=fTXXU6J|=!ogf8mDqr7Sy&j8*a#@Q^xvF3J9Xy6jrlpwq z9m4#9_FH;5BF%)?(f_kX&TGUYMY^gPl>(!XNCW|n1Xac{ zt_KUv7YTq_l>NjQFxkNm9isPzRkXVG!qIZDW9B6^%S@NSSriP*dMc%J^&h(8*?P<5 z725NY=ciNt<*|r_*kBzdqeQ0Nl=E%?2PiGT!2oeu=1CbMMUu$0~j{#siJJ_-2l5 z?g><-c%3k+c+xLup5yGAGS=SFii7s0ZHt1Wnn|M z!Al`?@|4hTE2KHy8%N@o8X+1#ZQ-pTXh^YxG}7UdzK!9fRm;B@4!%QdX6WkvAaK!d zZ5O@ZuRMo3+wuIOC1yxG>)Bn1#vCVFR=5DFYqhuI4%kkN*2na5~|piJc!FqNDBLlg` zl!gAYcY{{s71Jp?o=_O#(uC4TF(f5q0RZCuR^~-8zXB`RNA5fI-=8~_aV7f>Q;UU5 z4a#XGW#)^FynX+_WW!>(iNe$Mn;!%Bdm7nWo?x|e@+GjHP zRj5KsV-aPJf;O{-lk5ujcEWX%t*nWIm0_gD=}!yqZZ1kR8GtoCl!YNTppdY^BJ?HZ{lWnT?u*MlR47=8uh zhq)kT)J!Fkl7QUnt1fsJc9#X&bCUj2Gi$CS>1nPSB`%H1KqJ%PeUQrRWjj9O9gmO8 z45I<09gw_LpTB@w*Sg6Ut#swTyD%x*<}ja%lI#LiAXtKsuJx)?64>sGh$tqLm6aS#P&W zlmxi$;@*>|1$L^cmt4rB!PO7WSi<16X}IVw1(E*!ryLz2xLMQq0VxmJWo6Tj-BAPn zTJ!v##){vsv=>?FSHtyOT>hmtTL7T_mS@x35sU$PnQdbrJU3Hi9H{pFm1m5cLeUFP z@3bl_4#6IYA0sUSP%1_*>h_%Ki4%@OPzDV=6(AEB*pieCZc^#h3rD&V12qddtaPWf zlj}8C_}Hde6V=t!iW~O1%2bk4Qi|pB0PFkVc8kA3!{(kEl9{5eaXICH ziT~qc4OHW9EOZl4!fuG-v0oIpDo2?uXqny}1=2e_Y+PgVpx+!Q$BLN3LFykl9Dkl;b@&F8Cr95fR_eCmYdVNvUHH(h(;3NX>-`+q7kp>$r_ccxe%#TDL z%)j14;i0LCy*~5DL^ACqkNsqe^xC(WjJ|CxD|EY1z5-#Xk8j=H34JbD{_7Uhbp28d z{>6-@4PNQoO#m2mib`B6$&VOD&p$ao5OrnCEAz`PlutL(=^aFbdLrVIi7C=$UQSI; z4kobfDAXUTHoMnN?^qZcqa3YT3tj=dF|fNKZwj(`bMI!=joNeuND98r((gYlC?)8<&djEm5NQwX=X z|E!`;PfxF}T}v)n?xoGl%uq@3@Lv8^LoG8i&1ROMzTVAcNMf(zSQs`pOJe8S&L2}* z%tgrgO4~)lbnr#_J$%8G&RbtB%Fhl+w4q_-_VrCxdk2mAEUe`4t{h{d^6Jp5R~P2xZO5ov<`oq=G%P9=oPi@R^?*{pHJBKiL@*C! zg&2ZzgrT>gy3gn?%JM;2%f9(`73YJkf!NGG%7AWJ&$?t++kP8~mb%gFRhyZ$O!x4H zI2jbY((Vo5sr2DtD7l&nsG{l zPyO3Fkc?iuAbqZa4#Gno;pDc2REibh3zjmg7fMhbrBaY2XhqQ_^YiKLg_3?^hIhK= zKmu@{nMaB5@b_aW$}QoJ{cdbpC2-Qo`CzH3sHjLTuQE3`HzR}Ww7(t67>Hl}?L8pW z?5tZ4F!EOvjc%XcoxkV%-&_E`mRhRk7v6_)NqN>TjjU=CX*&x$KRz1d$@21xt~$M# zLTz%e>Td1t7vJ8?K-6^v%nRUtZUQv7xZ-A^^Z!EZP9knOpK>Soab4fvdxF#tCwOZ( z6*{fyqzSz{6IF(QBfW)5apzL{R$$}>p9z6KHj zw}q?atP6s+%I8R45ZjLi*8tX>m8BnNcXc&;lG*`IjiZ(6+7t9E1j-qBKY@Q*$kp+4 zULsn=DeS2bN@ABd#CEO3yXrjGQrc3lTmiEEO+YmJD~*EQ($rJ^!0Fj39SYx0%O@A| zLN8SQ&*%s~S2PxIX81T32LEcB+Q)>28574RC(?8nxi-c}rK41OD=z8-C-tklRj%>U zY|~T7s)$vkBtG{$AhakDuMBN|zuulv19t~0no)7LD_)MzVL?u$ey8i4Tt z%T~?mIhW3!=?=i#gVFRoJ%9T03D*J$@(D7!eVBjDQ5zDK`rDMq#LN9}#gLtWt>cD4 zhdk!Cjtc$DK-$+Gm2^k}g8=hC*gByOQn*l|(bx3^$3ufko+%~k{;ged9qg{WO@%7x`Eiv zH4{q#7&RZz?-o6sqAYia*|;^ZO)3fH`l+(waAg{R7>#G?fEbf9A^gCX?3(UiT${B5 z(qbV&w1U7#jJ&`OGN(Y1X%HRyE!12%jk&1?k;%9##%8`+=6$l2+*J`j+XpylL?zm9 zzbw!CF_pC^U*gnt%OdR*aIIC^JPRS{Uh52_4Uz{A)y(6)FyIQ_Fg0x)zvd_1!lJVc zFs9hF1EA`|q3CeGa_m)$!c`+5Z$9sYg_fQE+aZTgs}B{5C3~j)#Wm8WnG6oUy1_B# zJ|9iySBBy*hc}MUITvjXv7xQ|TqCTP>p~(iYC^vx2jwUvkP^*a2(qxvYnc6_vK1D4 z2Kd;QZxwJxS{wuF>?HLT>e;2eacwzybr%EnSaH(AnB-n+zZpII>;T z4c9#1$(>?ew;vt|jrZE%-k|40m;xo?lM~E3bN7|+>_D$U@%BW&-b?FDO8)>5f=$G3 z-9L>(N>5$y7V7LGBO=5lB!E{;1r-nQ+ih7B;Av3XT2v@1FL4EZXl6Z?Xi}M6FtWQl z>l+(kL}Jnv^o*EY;j)sr0M+&N9O|yPG+24wrZl{?_p8|sv6cdazeQ>V>t$HQFDjQs zrY82EsDS{}0KtD!qqFhIA57C$<~JdrUPXk5cXfL*JZZ{G`W2iC184PSlbx2tx)1+& zzgsUSPKd6^o3a+Nda=PZ_--DMJD1qrW|Hx;;V^&vySYVKrdoJ1^lIPq08mv7C^`oi z*d}{fRhXb^L(?yse1A%yMUwGCbUK5M6`CgN3I>-gsVy0+R(w58#KhD3t20z{p%I{T zRx!H^a%teC4zJvWdfNTaU?r$K0#guzn>aUzhd`LUhy_6n5TZ<*Q?+2=vc2_ z1Zk8}tUWdEU5P2raL!0^_5Eua?eJ8vSK6>vK=&@+BN{tjbEKenmsU~;w{KlS^LL%- zJwU~ZgPVyOKp{&@e0H0XWh(C1J|B#Reo^H&HSu-^KcNu6bdu`7KD3rG)Bf3i!i zy!Zo;ohs>&L-Pn7wfKEmQOmI7klrwAQ&snF9KO8#D>=T{Zr$!{6HbOOC!=808|44h z+FM6uwRQ2r4sT z=jNREz4w0OyWbe!829|)(Y^Px_S$pJHGBTn)CVZ)P

V_cpsTbNLBlYBY_e(3yavMa4Ssou-OE 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

tJda-U zg}vQG=)h^?s2!QGI-I!Zp#nxUSb0e9%yj_Cm_2)DwKo$LmJMz6pyH?c)h$O$Eyu^I zU2>F`;4}~TPfW{n+Sh#}GEv{az}L7BQgb!i#d&a6-s)KOurV)~hbsmK2KVfj9hY)S zyL)<+b6=Pg4NgaZTpWZDJplYe8UZ=(0#5IsYfQNB0+t&d9-gM_pC&lZL?drNEB}{q z4mPJDF-lxoPcIogxxbXh!N&HY#??tj=Tnz)c23T_&YF!@R_L57GHl-;+o>@s8iX7c z90@QZkLNw%P`Yr6Yhn^vYm zCfFmRRtm0UFG5a$I z5^fc6rh;K-g4Q+C0{~J;mW8)9p29KSb_HLDq za6=v>Lp~h@p>)I-`;{U1`|RwjCNxD@l)8M;B{L)Ov_@ErS^zmPVtB#!am4hNGa35} z6$ORq%{@Wtuy(`Bm6Bm>FHZ(3$Pq!00~m{0hs{5++Azgzwp#nU@k&{C4Ss}m1b|RPM8!`lC8w+$rId9vMRUTGxIe?; zVN$H-CNwUPC{3ioWB4O~cqM{iYiEZ;v#Km9seWz8zpVfJd5tfM;N?WUc-aCcoG?g% zDPMt}93DR|Ids^9|0&`B88k}7#r7I3GUCvvur)S*6v0qB>^AdGnf*oCv)qZ$d#frH zwiygkpMv7YSx{4785~euC5G*kkTvvqBqg;s*y-LsG~_(}J=|f;DLpxP3UaHE#Sz8N z>f7%;Iqa;ohiNS&ksx`XI;=v|+;WKolP^Y{)FBc@It_SxyEmd+%<@o^S*7=lXm5ATSa9GN1)E?#BKfi@82KMNkv8SGVVI0_tF(lLrt_p5<+dWws(EeAjhGUz|qkWr0Lo$aAE`*stvWIr) zzaFQS%L-qJguJ5S4Pnk*sAtBb*@1&~v;c>}&@c@xnku)owbkr!T1SygNYu$z0OXTUb%7wq9QXO zgMcu=@aGtvMnKE>`uZZ4Se^G-h#%ax82R<{Cv9Rxr4{Vn-w;!9aZ%3GJc2<=i;H2) zomaAh+Fqvv6Vqe zCLfA_VvvHsj^-ERaMu?(O2X@3aUc+~kr98-p>=a|%lXK>baXp1@lbzS-Um5?$va8~ zb};nB(bWn$u4`Le%K*AU@7|e2dH^0vMb~R{&f8WXB`gEA$HfxKU{JL0k$^x%>J>&I zk1KKTVnf~sQPx&{pTR6bveq^Idt?M%nUJbyOmGxszs<|b;Det_YQ4LzL)X}qEO|q! zaCikdR%+%p{@=M7vvyvG~;L^J>_L3C4xB}m|BQaXa4a8ThS_-BN`B!xu!^768c z45-HhA-9Uc!fvzMVS=l+cj2(D=W1$q`%^hUYvFi({l2hS2v#mwcbS0L7 z*18!n1EIvurLETFT)IH45B%WRy=a_*E{VL8{k)Zxl{x*IkJ?{#DKDcaB1f>a6_7Z= zY>X)=V`znq?&>B%#UX*& literal 0 HcmV?d00001 diff --git a/v0.1.0/minimax/c04b70be.png b/v0.1.0/minimax/c04b70be.png new file mode 100644 index 0000000000000000000000000000000000000000..b249ab3e0963c46a3a0399f4d6dcd415fb0b6c9c GIT binary patch literal 61828 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 Rt-10thFNYC5# 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 YUzI8H_h#{eCHBrQ +Minimax · RationalFunctionApproximation.jl

Minimax approximation

The AAA algorithm used by aaa and approximate minimizes error in a discrete least-squares sense. Using an iteratively reweighted least squares (IRLS) approach initially due to Lawson, we can approach the classical problem of optimization in the infinity- or max-norm sense instead.

For example, suppose we limit the degree of the rational interpolant of a smooth function:

using RationalFunctionApproximation, CairoMakie
+const shg = current_figure
+f = x -> exp(cos(4x) - sin(3x))
+r = approximate(f, unit_interval, max_degree=10)
+errorplot(r)
Example block output

Now we apply 20 Lawson iterations to approach the minimax approximation:

r = minimax(r, 20)
+errorplot(r)
Example block output

As you can see above, the error is now nearly equioscillatory over the interval. Moreover, the interpolation nodes appear to have shifted to resemble Chebyshev points of the first kind. If we try minimax approximation on the unit circle, however, equioscillation tends to lead to equally spaced nodes:

f = z -> cos(4z) - sin(3z)
+r = approximate(f, unit_circle, max_degree=10)
+r = minimax(r, 20)
+errorplot(r, use_abs=false)
Example block output
diff --git a/v0.1.0/mode/index.html b/v0.1.0/mode/index.html new file mode 100644 index 0000000..0e342be --- /dev/null +++ b/v0.1.0/mode/index.html @@ -0,0 +1,15 @@ + +Discrete vs. continuous · RationalFunctionApproximation.jl

Discrete vs. continuous mode

The original AAA algorithm (Nakatsukasa, Sète, Trefethen 2018) works with a fixed set of points on the domain of approximation. The aaa method can work with this type of data:

using RationalFunctionApproximation, ComplexRegions
+x = -1:0.01:1
+f = x -> tanh(5 * (x - 0.2))
+r = aaa(x, f.(x))
Barycentric function with 12 nodes and values:
+    1.0=>0.999329,  -1.0=>-0.999988,  0.46=>0.861723,  …  0.74=>0.991007

As long as there are no singularities as close to the domain as the sample points are to one another, this fully discrete approach should be fine:

I = unit_interval
+println("nearest pole is $(minimum(dist(z, I) for z in poles(r))) away")
+xx = -1:0.0005:1
+println("error = $(maximum(abs, @. f(xx) - r(xx) ))")
nearest pole is 0.31415926535544775 away
+error = 2.842170943040401e-14

But if the distance to a singularity is comparable to the sample spacing, the quality of the approximation may suffer:

f = x -> tanh(500 * (x - 0.2))
+r = aaa(x, f.(x))
+println("nearest pole is $(minimum(dist(z, I) for z in poles(r))) away")
+println("error = $(maximum(abs, @. f(xx) - r(xx) ))")
nearest pole is 0.004428389360923072 away
+error = 0.14091753428877052

In the continuous mode (Driscoll, Nakatsukasa, Trefethen) used by the approximate method, the samples are refined adaptively to try to ensure that the approximation is accurate everywhere:

r = approximate(f, I)
+println("error = $(maximum(abs, @. f(xx) - r(xx) ))")
error = 7.616129948928574e-13
diff --git a/v0.1.0/search_index.js b/v0.1.0/search_index.js index f14cebb..3244f37 100644 --- a/v0.1.0/search_index.js +++ b/v0.1.0/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"functions/","page":"Functions","title":"Functions","text":"CurrentModule = RationalFunctionApproximation","category":"page"},{"location":"functions/#Functions-and-types","page":"Functions","title":"Functions and types","text":"","category":"section"},{"location":"functions/","page":"Functions","title":"Functions","text":"","category":"page"},{"location":"functions/","page":"Functions","title":"Functions","text":"Modules = [RationalFunctionApproximation]","category":"page"},{"location":"functions/#RationalFunctionApproximation.Approximation","page":"Functions","title":"RationalFunctionApproximation.Approximation","text":"Approximation (type)\n\nApproximation of a function on a domain.\n\nFields\n\noriginal: the original function\ndomain: the domain of the approximation\nfun: the barycentric representation of the approximation\nprenodes: the prenodes of the approximation\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.Barycentric","page":"Functions","title":"RationalFunctionApproximation.Barycentric","text":"Barycentric (type)\n\nBarycentric representation of a rational function.\n\nFields\n\nnode: the nodes of the rational function\nvalue: the values of the rational function\nweight: the weights of the rational function\nwf: the weighted values of the rational function\nstats: convergence statistics\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.Barycentric-2","page":"Functions","title":"RationalFunctionApproximation.Barycentric","text":"Barycentric(node, value, weight, wf=value.*weight; stats=missing)\n\nConstruct a Barycentric rational function.\n\nArguments\n\nnode::AbstractVector: interpolation nodes\nvalue::AbstractVector: values at the interpolation nodes\nweight::AbstractVector: barycentric weights\nwf::AbstractVector: weights times values (optional)\nstats::ConvergenceStatistics`: convergence statistics (optional)\n\nExamples\n\njulia> r = Barycentric([1, 2, 3], [1, 2, 3], [1/2, -1, 1/2])\nBarycentric function with 3 nodes and values:\n 1.0=>1.0, 2.0=>2.0, 3.0=>3.0\n\njulia> r(1.5)\n1.5\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.ConvergenceStats","page":"Functions","title":"RationalFunctionApproximation.ConvergenceStats","text":"ConvergenceStats{T}(bestidx, error, nbad, nodes, values, weights, poles)\n\nConvergence statistics for a sequence of rational approximations.\n\nFields\n\nbestidx: the index of the best approximation\nerror: the error of each approximation\nnbad: the number of bad nodes in each approximation\nnodes: the nodes of each approximation\nvalues: the values of each approximation\nweights: the weights of each approximation\npoles: the poles of each approximation\n\nSee also: approximate, Barycentric\n\n\n\n\n\n","category":"type"},{"location":"functions/#Base.values-Tuple{Barycentric}","page":"Functions","title":"Base.values","text":"values(r) returns the nodal values of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.aaa-Tuple{AbstractVector{<:Number}, AbstractVector{<:Number}}","page":"Functions","title":"RationalFunctionApproximation.aaa","text":"aaa(z, y)\naaa(f)\n\nAdaptively compute a rational interpolant.\n\nArguments\n\ndiscrete mode\n\nz::AbstractVector{<:Number}: interpolation nodes\ny::AbstractVector{<:Number}: values at nodes\n\ncontinuous mode\n\nf::Function: function to approximate on the interval [-1,1]\n\nKeyword arguments\n\ndegree::Integer=150: maximum numerator/denominator degree to use\nfloat_type::Type=Float64: floating point type to use for the computation\ntol::Real=1000*eps(float_type): tolerance for stopping\nlookahead::Integer=10: number of iterations to determines stagnation\nstats::Bool=false: return convergence statistics\n\nReturns\n\nr::Barycentric: the rational interpolant\nstats::NamedTuple: convergence statistics, if keyword stats=true\n\nSee also approximate for approximating a function on a region.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.approximate-Tuple{Function, ComplexRegions.AbstractRegion}","page":"Functions","title":"RationalFunctionApproximation.approximate","text":"approximate(f, domain)\n\nAdaptively compute a rational interpolant on a curve, path, or region.\n\nArguments\n\nf::Function: function to approximate\ndomain: curve, path, or region from ComplexRegions\n\nKeyword arguments\n\ndegree::Integer=150: maximum numerator/denominator degree to use\nfloat_type::Type=Float64: floating point type to use for the computation\ntol::Real=1000*eps(float_type): relative tolerance for stopping\nisbad::Function: function to determine if a pole is bad\nrefinement::Integer=3: number of test points between adjacent nodes\nlookahead::Integer=10: number of iterations to determine stagnation\nstats::Bool=false: return convergence statistics with the approximation? (slower)\n\nReturns\n\nr::Approximation: the rational interpolant\n\nSee also Approximation, check, aaa.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.check-Tuple{RationalFunctionApproximation.Approximation}","page":"Functions","title":"RationalFunctionApproximation.check","text":"check(r)\n\nCheck the accuracy of a rational approximation r on its domain.\n\nArguments\n\nr::Approximation: rational approximation\n\nReturns\n\nτ::Vector: test points\nerr::Vector: error at test points\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.degree-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.degree","text":"degree(r) returns the degree of the numerator and denominator of the rational r.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.nodes-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.nodes","text":"nodes(r) returns the nodes of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.rewind-Tuple{Barycentric, Integer}","page":"Functions","title":"RationalFunctionApproximation.rewind","text":"rewind(r, degree)\n\nRewind a Barycentric rational function to a lower degree using stored convergence data.\n\nArguments\n\nr::Union{Barycentric,Approximation}: the rational function to rewind\ndegree::Integer: the degree to rewind to\n\nReturns\n\nthe rational function of the specified degree (same type as input)\n\nExamples\n\njulia> r = aaa(x -> cos(20x), stats=true)\nBarycentric function with 25 nodes and values:\n -1.0=>0.408082, -0.978022=>0.757786, -0.912088=>0.820908, … 1.0=>0.408082\n\njulia> rewind(r, 10)\nBarycentric function with 11 nodes and values:\n -1.0=>0.408082, 1.0=>0.408082, -0.466667=>-0.995822, … 0.898413=>0.636147\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.stats-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.stats","text":"stats(r) returns the convergence statistics of the rational interpolant r.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.weights-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.weights","text":"weights(r) returns the weights of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"#Rational-function-approximation-in-Julia","page":"Home","title":"Rational function approximation in Julia","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for RationalFunctionApproximation.jl.","category":"page"},{"location":"","page":"Home","title":"Home","text":"This package uses the continuous form of the AAA algorithm to adaptively compute rational approximations of functions on intervals and other domains in the complex plane. See AAA rational approximation on a continuum, which is to appear in SISC.","category":"page"},{"location":"#Approximation-on-[-1,-1]","page":"Home","title":"Approximation on [-1, 1]","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Here's a smooth, gentle function on the interval -1 1:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using RationalFunctionApproximation, CairoMakie\nconst shg = current_figure\nf = x -> exp(cos(4x) - sin(3x))\nlines(-1..1, f)","category":"page"},{"location":"","page":"Home","title":"Home","text":"To create a rational function that approximates f well on this domain, we use the continuous form of the AAA algorithm:","category":"page"},{"location":"","page":"Home","title":"Home","text":"r = aaa(f)","category":"page"},{"location":"","page":"Home","title":"Home","text":"The result is a type (19,19) rational approximant that can be evaluated like a function:","category":"page"},{"location":"","page":"Home","title":"Home","text":"f(0.5) - r(0.5)","category":"page"},{"location":"","page":"Home","title":"Home","text":"We see that this approximation has more than 13 accurate over most of the interval:","category":"page"},{"location":"","page":"Home","title":"Home","text":"lines(-1..1, x -> f(x)-r(x))","category":"page"},{"location":"","page":"Home","title":"Home","text":"The rational approximant interpolates f at greedily selected nodes:","category":"page"},{"location":"","page":"Home","title":"Home","text":"x = nodes(r)\nscatter!(x, 0*x, markersize = 12, color=:black)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"Here's another smooth example, the hyperbolic secant function:","category":"page"},{"location":"","page":"Home","title":"Home","text":"f = sech\nr = aaa(f)","category":"page"},{"location":"","page":"Home","title":"Home","text":"We can verify that this is accurate to 14 digits:","category":"page"},{"location":"","page":"Home","title":"Home","text":"x = range(-1, 1, 1000)\nextrema(f.(x) - r.(x))","category":"page"},{"location":"","page":"Home","title":"Home","text":"Since the sech function has poles in the complex plane, the rational approximant r will have corresponding poles:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using DomainColoring\ndomaincolor(r, [-8, 8], abs=true)","category":"page"},{"location":"","page":"Home","title":"Home","text":"The poles closest to the interval are found to about 10 digits, while more distant ones are less accurate:","category":"page"},{"location":"","page":"Home","title":"Home","text":"poles(r) / π","category":"page"},{"location":"","page":"Home","title":"Home","text":"Here's an example with a more interesting structure of poles and zeros:","category":"page"},{"location":"","page":"Home","title":"Home","text":"f = x -> tanh(10*(x - 0.1)^2)\ndomaincolor(aaa(f), abs=true)","category":"page"},{"location":"#Approximation-on-other-domains","page":"Home","title":"Approximation on other domains","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"The AAA algorithm can also be used to approximate functions on other domains as defined in the ComplexRegions package. For example, here's a function defined on the unit circle:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using RationalFunctionApproximation, CairoMakie, DomainColoring\nconst shg = current_figure\nf = z -> (z^3 - 1) / sin(z - 0.9 - 1im)\nr = approximate(f, unit_circle)","category":"page"},{"location":"","page":"Home","title":"Home","text":"This approximation is accurate to 13 digits, as we can see by plotting the error around the circle:","category":"page"},{"location":"","page":"Home","title":"Home","text":"errorplot(r)","category":"page"},{"location":"","page":"Home","title":"Home","text":"Here is how the approximation looks in the complex plane (using black crosses to mark the poles):","category":"page"},{"location":"","page":"Home","title":"Home","text":"using ComplexRegions, ComplexPlots\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nscatter!(poles(r), markersize=18, color=:black, marker=:xcross)\nlimits!(-1.5, 1.5, -1.5, 1.5)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"Above, you can also see the zeros at roots of unity.","category":"page"},{"location":"","page":"Home","title":"Home","text":"This function has infinitely many poles and an essential singularity inside the unit disk:","category":"page"},{"location":"","page":"Home","title":"Home","text":"f = z -> tan(1 / z^4)\nr = approximate(f, unit_circle)\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"We can request an approximation that is analytic in a region. In this case, it would not make sense to request one on the unit disk, since the singularities are necessary:","category":"page"},{"location":"","page":"Home","title":"Home","text":"r = approximate(f, unit_disk)","category":"page"},{"location":"","page":"Home","title":"Home","text":"In the result above, the approximation is simply a constant function, as the algorithm could do no better. However, if we request analyticity in the region exterior to the circle, everything works out:","category":"page"},{"location":"","page":"Home","title":"Home","text":"r = approximate(f, exterior(unit_circle))\nz, err = check(r)\nmaximum(abs, err)","category":"page"},{"location":"","page":"Home","title":"Home","text":"We are not limited to intervals and circles! ","category":"page"},{"location":"","page":"Home","title":"Home","text":"import ComplexRegions.Shapes\nr = approximate(z -> log(0.35 + 0.4im - z), interior(Shapes.cross))\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(boundary(r.domain), color=:white, linewidth=5)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"c = Shapes.hypo(5)\nr = approximate(z -> (z+4)^(-3.5), interior(c))\ndomaincolor(r, [-5, 5, -5, 5], abs=true)\nlines!(c, color=:white, linewidth=5)\nshg()","category":"page"},{"location":"#Unbounded-domains","page":"Home","title":"Unbounded domains","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"It's also possible to approximate on unbounded domains, but this capability is not yet automated. For example, the function","category":"page"},{"location":"","page":"Home","title":"Home","text":"f = z -> 1 / sqrt(z - (-1 + 3im))","category":"page"},{"location":"","page":"Home","title":"Home","text":"is analytic on the right half of the complex plane. In order to produce an approximation on that domain, we can transplant it to the unit disk via a Möbius transformation phi:","category":"page"},{"location":"","page":"Home","title":"Home","text":"φ = Mobius( [-1, -1im, 1], [1im, 0, -1im]) # unit circle to imag axis\nz = discretize(unit_circle, ds=.02)\nfig, ax, _ = scatter(z, axis=(autolimitaspect=1, ))\nax.title = \"z\"\nax, _ = scatter(fig[1,2], φ.(z))\nax.title = \"φ(z)\"\nlimits!(-4, 4, -4, 4)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"By composing f with phi, we can approximate within the disk while f is evaluated only on its native domain:","category":"page"},{"location":"","page":"Home","title":"Home","text":"r = approximate(f ∘ φ, interior(unit_circle))\ndomaincolor(r, [-2, 2, -2, 2], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nscatter!(nodes(r.fun), color=:black, markersize=10)\nshg()","category":"page"},{"location":"","page":"Home","title":"Home","text":"Above, the black markers show the nodes of the interpolant. We can view the same approximation within the right half-plane by composing r with phi^-1:","category":"page"},{"location":"","page":"Home","title":"Home","text":"φ⁻¹ = inv(φ)\ndomaincolor(r ∘ φ⁻¹, [-8, 8, -8, 8], abs=true)\nlines!([(0, 8), (0, -8)], color=:white, linewidth=5)\nscatter!(φ.(nodes(r.fun)), color=:black, markersize=10)\nlimits!(-8, 8, -8, 8)\nshg()","category":"page"}] +[{"location":"functions/","page":"Functions","title":"Functions","text":"CurrentModule = RationalFunctionApproximation","category":"page"},{"location":"functions/#Functions-and-types","page":"Functions","title":"Functions and types","text":"","category":"section"},{"location":"functions/","page":"Functions","title":"Functions","text":"","category":"page"},{"location":"functions/","page":"Functions","title":"Functions","text":"Modules = [RationalFunctionApproximation]","category":"page"},{"location":"functions/#RationalFunctionApproximation.Approximation","page":"Functions","title":"RationalFunctionApproximation.Approximation","text":"Approximation (type)\n\nApproximation of a function on a domain.\n\nFields\n\noriginal: the original function\ndomain: the domain of the approximation\nfun: the barycentric representation of the approximation\nprenodes: the prenodes of the approximation\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.Barycentric","page":"Functions","title":"RationalFunctionApproximation.Barycentric","text":"Barycentric (type)\n\nBarycentric representation of a rational function.\n\nFields\n\nnode: the nodes of the rational function\nvalue: the values of the rational function\nweight: the weights of the rational function\nwf: the weighted values of the rational function\nstats: convergence statistics\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.Barycentric-2","page":"Functions","title":"RationalFunctionApproximation.Barycentric","text":"Barycentric(node, value, weight, wf=value.*weight; stats=missing)\n\nConstruct a Barycentric rational function.\n\nArguments\n\nnode::AbstractVector: interpolation nodes\nvalue::AbstractVector: values at the interpolation nodes\nweight::AbstractVector: barycentric weights\nwf::AbstractVector: weights times values (optional)\nstats::ConvergenceStatistics`: convergence statistics (optional)\n\nExamples\n\njulia> r = Barycentric([1, 2, 3], [1, 2, 3], [1/2, -1, 1/2])\nBarycentric function with 3 nodes and values:\n 1.0=>1.0, 2.0=>2.0, 3.0=>3.0\n\njulia> r(1.5)\n1.5\n\n\n\n\n\n","category":"type"},{"location":"functions/#RationalFunctionApproximation.ConvergenceStats","page":"Functions","title":"RationalFunctionApproximation.ConvergenceStats","text":"ConvergenceStats{T}(bestidx, error, nbad, nodes, values, weights, poles)\n\nConvergence statistics for a sequence of rational approximations.\n\nFields\n\nbestidx: the index of the best approximation\nerror: the error of each approximation\nnbad: the number of bad nodes in each approximation\nnodes: the nodes of each approximation\nvalues: the values of each approximation\nweights: the weights of each approximation\npoles: the poles of each approximation\n\nSee also: approximate, Barycentric\n\n\n\n\n\n","category":"type"},{"location":"functions/#Base.values-Tuple{Barycentric}","page":"Functions","title":"Base.values","text":"values(r) returns the nodal values of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.aaa-Tuple{AbstractVector{<:Number}, AbstractVector{<:Number}}","page":"Functions","title":"RationalFunctionApproximation.aaa","text":"aaa(z, y)\naaa(f)\n\nAdaptively compute a rational interpolant.\n\nArguments\n\ndiscrete mode\n\nz::AbstractVector{<:Number}: interpolation nodes\ny::AbstractVector{<:Number}: values at nodes\n\ncontinuous mode\n\nf::Function: function to approximate on the interval [-1,1]\n\nKeyword arguments\n\nmax_degree::Integer=150: maximum numerator/denominator degree to use\nfloat_type::Type=Float64: floating point type to use for the computation\ntol::Real=1000*eps(float_type): tolerance for stopping\nlookahead::Integer=10: number of iterations to determines stagnation\nstats::Bool=false: return convergence statistics\n\nReturns\n\nr::Barycentric: the rational interpolant\nstats::NamedTuple: convergence statistics, if keyword stats=true\n\nSee also approximate for approximating a function on a region.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.approximate-Tuple{Function, ComplexRegions.AbstractRegion}","page":"Functions","title":"RationalFunctionApproximation.approximate","text":"approximate(f, domain)\n\nAdaptively compute a rational interpolant on a curve, path, or region.\n\nArguments\n\nf::Function: function to approximate\ndomain: curve, path, or region from ComplexRegions\n\nKeyword arguments\n\nmax_degree::Integer=150: maximum numerator/denominator degree to use\nfloat_type::Type=Float64: floating point type to use for the computation\ntol::Real=1000*eps(float_type): relative tolerance for stopping\nisbad::Function: function to determine if a pole is bad\nrefinement::Integer=3: number of test points between adjacent nodes\nlookahead::Integer=10: number of iterations to determine stagnation\nstats::Bool=false: return convergence statistics with the approximation? (slower)\n\nReturns\n\nr::Approximation: the rational interpolant\n\nSee also Approximation, check, aaa.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.check-Tuple{RationalFunctionApproximation.Approximation}","page":"Functions","title":"RationalFunctionApproximation.check","text":"check(r)\n\nCheck the accuracy of a rational approximation r on its domain.\n\nArguments\n\nr::Approximation: rational approximation\n\nReturns\n\nτ::Vector: test points\nerr::Vector: error at test points\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.degree-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.degree","text":"degree(r) returns the degree of the numerator and denominator of the rational r.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.nodes-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.nodes","text":"nodes(r) returns the nodes of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.rewind-Tuple{Barycentric, Integer}","page":"Functions","title":"RationalFunctionApproximation.rewind","text":"rewind(r, degree)\n\nRewind a Barycentric rational function to a lower degree using stored convergence data.\n\nArguments\n\nr::Union{Barycentric,Approximation}: the rational function to rewind\ndegree::Integer: the degree to rewind to\n\nReturns\n\nthe rational function of the specified degree (same type as input)\n\nExamples\n\njulia> r = aaa(x -> cos(20x), stats=true)\nBarycentric function with 25 nodes and values:\n -1.0=>0.408082, -0.978022=>0.757786, -0.912088=>0.820908, … 1.0=>0.408082\n\njulia> rewind(r, 10)\nBarycentric function with 11 nodes and values:\n -1.0=>0.408082, 1.0=>0.408082, -0.466667=>-0.995822, … 0.898413=>0.636147\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.stats-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.stats","text":"stats(r) returns the convergence statistics of the rational interpolant r.\n\n\n\n\n\n","category":"method"},{"location":"functions/#RationalFunctionApproximation.weights-Tuple{Barycentric}","page":"Functions","title":"RationalFunctionApproximation.weights","text":"weights(r) returns the weights of the rational interpolant r as a vector.\n\n\n\n\n\n","category":"method"},{"location":"mode/#Discrete-vs.-continuous-mode","page":"Discrete vs. continuous","title":"Discrete vs. continuous mode","text":"","category":"section"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"The original AAA algorithm (Nakatsukasa, Sète, Trefethen 2018) works with a fixed set of points on the domain of approximation. The aaa method can work with this type of data:","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"using RationalFunctionApproximation, ComplexRegions\nx = -1:0.01:1\nf = x -> tanh(5 * (x - 0.2))\nr = aaa(x, f.(x))","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"As long as there are no singularities as close to the domain as the sample points are to one another, this fully discrete approach should be fine:","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"I = unit_interval\nprintln(\"nearest pole is $(minimum(dist(z, I) for z in poles(r))) away\")\nxx = -1:0.0005:1\nprintln(\"error = $(maximum(abs, @. f(xx) - r(xx) ))\")","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"But if the distance to a singularity is comparable to the sample spacing, the quality of the approximation may suffer:","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"f = x -> tanh(500 * (x - 0.2))\nr = aaa(x, f.(x))\nprintln(\"nearest pole is $(minimum(dist(z, I) for z in poles(r))) away\")\nprintln(\"error = $(maximum(abs, @. f(xx) - r(xx) ))\")","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"In the continuous mode (Driscoll, Nakatsukasa, Trefethen) used by the approximate method, the samples are refined adaptively to try to ensure that the approximation is accurate everywhere:","category":"page"},{"location":"mode/","page":"Discrete vs. continuous","title":"Discrete vs. continuous","text":"r = approximate(f, I)\nprintln(\"error = $(maximum(abs, @. f(xx) - r(xx) ))\")","category":"page"},{"location":"#Rational-function-approximation-in-Julia","page":"Walkthrough","title":"Rational function approximation in Julia","text":"","category":"section"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Documentation for RationalFunctionApproximation.jl.","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"This package uses the continuous form of the AAA algorithm to adaptively compute rational approximations of functions on intervals and other domains in the complex plane. See AAA rational approximation on a continuum, which is to appear in SISC.","category":"page"},{"location":"#Approximation-on-[-1,-1]","page":"Walkthrough","title":"Approximation on [-1, 1]","text":"","category":"section"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Here's a smooth, gentle function on the interval -1 1:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"using RationalFunctionApproximation, CairoMakie\nconst shg = current_figure\nf = x -> exp(cos(4x) - sin(3x))\nlines(-1..1, f)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"To create a rational function that approximates f well on this domain, we use the continuous form of the AAA algorithm:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"r = aaa(f)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"The result is a type (19,19) rational approximant that can be evaluated like a function:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"f(0.5) - r(0.5)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"We see that this approximation has more than 13 accurate over most of the interval:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"lines(-1..1, x -> f(x)-r(x))","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"The rational approximant interpolates f at greedily selected nodes:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"x = nodes(r)\nscatter!(x, 0*x, markersize = 12, color=:black)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Here's another smooth example, the hyperbolic secant function:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"f = sech\nr = aaa(f)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"We can verify that this is accurate to 14 digits:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"x = range(-1, 1, 1000)\nextrema(f.(x) - r.(x))","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Since the sech function has poles in the complex plane, the rational approximant r will have corresponding poles:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"using DomainColoring\ndomaincolor(r, [-8, 8], abs=true)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"The poles closest to the interval are found to about 10 digits, while more distant ones are less accurate:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"poles(r) / π","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Here's an example with a more interesting structure of poles and zeros:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"f = x -> tanh(10*(x - 0.1)^2)\ndomaincolor(aaa(f), abs=true)","category":"page"},{"location":"#Approximation-on-other-domains","page":"Walkthrough","title":"Approximation on other domains","text":"","category":"section"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"The AAA algorithm can also be used to approximate functions on other domains as defined in the ComplexRegions package. For example, here's a function defined on the unit circle:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"using RationalFunctionApproximation, CairoMakie, DomainColoring\nconst shg = current_figure\nf = z -> (z^3 - 1) / sin(z - 0.9 - 1im)\nr = approximate(f, unit_circle)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"This approximation is accurate to 13 digits, as we can see by plotting the error around the circle:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"errorplot(r)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Here is how the approximation looks in the complex plane (using black crosses to mark the poles):","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"using ComplexRegions, ComplexPlots\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nscatter!(poles(r), markersize=18, color=:black, marker=:xcross)\nlimits!(-1.5, 1.5, -1.5, 1.5)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Above, you can also see the zeros at roots of unity.","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"This function has infinitely many poles and an essential singularity inside the unit disk:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"f = z -> tan(1 / z^4)\nr = approximate(f, unit_circle)\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"We can request an approximation that is analytic in a region. In this case, it would not make sense to request one on the unit disk, since the singularities are necessary:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"r = approximate(f, unit_disk)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"In the result above, the approximation is simply a constant function, as the algorithm could do no better. However, if we request analyticity in the region exterior to the circle, everything works out:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"r = approximate(f, exterior(unit_circle))\nz, err = check(r)\nmaximum(abs, err)","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"We are not limited to intervals and circles! ","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"import ComplexRegions.Shapes\nr = approximate(z -> log(0.35 + 0.4im - z), interior(Shapes.cross))\ndomaincolor(r, [-1.5, 1.5, -1.5, 1.5], abs=true)\nlines!(boundary(r.domain), color=:white, linewidth=5)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"c = Shapes.hypo(5)\nr = approximate(z -> (z+4)^(-3.5), interior(c))\ndomaincolor(r, [-5, 5, -5, 5], abs=true)\nlines!(c, color=:white, linewidth=5)\nshg()","category":"page"},{"location":"#Unbounded-domains","page":"Walkthrough","title":"Unbounded domains","text":"","category":"section"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"It's also possible to approximate on unbounded domains, but this capability is not yet automated. For example, the function","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"f = z -> 1 / sqrt(z - (-1 + 3im))","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"is analytic on the right half of the complex plane. In order to produce an approximation on that domain, we can transplant it to the unit disk via a Möbius transformation phi:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"φ = Mobius( [-1, -1im, 1], [1im, 0, -1im]) # unit circle to imag axis\nz = discretize(unit_circle, ds=.02)\nfig, ax, _ = scatter(z, axis=(autolimitaspect=1, ))\nax.title = \"z\"\nax, _ = scatter(fig[1,2], φ.(z))\nax.title = \"φ(z)\"\nlimits!(-4, 4, -4, 4)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"By composing f with phi, we can approximate within the disk while f is evaluated only on its native domain:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"r = approximate(f ∘ φ, interior(unit_circle))\ndomaincolor(r, [-2, 2, -2, 2], abs=true)\nlines!(unit_circle, color=:white, linewidth=5)\nscatter!(nodes(r.fun), color=:black, markersize=10)\nshg()","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"Above, the black markers show the nodes of the interpolant. We can view the same approximation within the right half-plane by composing r with phi^-1:","category":"page"},{"location":"","page":"Walkthrough","title":"Walkthrough","text":"φ⁻¹ = inv(φ)\ndomaincolor(r ∘ φ⁻¹, [-8, 8, -8, 8], abs=true)\nlines!([(0, 8), (0, -8)], color=:white, linewidth=5)\nscatter!(φ.(nodes(r.fun)), color=:black, markersize=10)\nlimits!(-8, 8, -8, 8)\nshg()","category":"page"},{"location":"minimax/#Minimax-approximation","page":"Minimax","title":"Minimax approximation","text":"","category":"section"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"The AAA algorithm used by aaa and approximate minimizes error in a discrete least-squares sense. Using an iteratively reweighted least squares (IRLS) approach initially due to Lawson, we can approach the classical problem of optimization in the infinity- or max-norm sense instead.","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"For example, suppose we limit the degree of the rational interpolant of a smooth function:","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"using RationalFunctionApproximation, CairoMakie\nconst shg = current_figure\nf = x -> exp(cos(4x) - sin(3x))\nr = approximate(f, unit_interval, max_degree=10)\nerrorplot(r)","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"Now we apply 20 Lawson iterations to approach the minimax approximation:","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"r = minimax(r, 20)\nerrorplot(r)","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"As you can see above, the error is now nearly equioscillatory over the interval. Moreover, the interpolation nodes appear to have shifted to resemble Chebyshev points of the first kind. If we try minimax approximation on the unit circle, however, equioscillation tends to lead to equally spaced nodes:","category":"page"},{"location":"minimax/","page":"Minimax","title":"Minimax","text":"f = z -> cos(4z) - sin(3z)\nr = approximate(f, unit_circle, max_degree=10)\nr = minimax(r, 20)\nerrorplot(r, use_abs=false)","category":"page"}] }