From 3a9439b815af6c2d41c60f6694d88f2852544442 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 28 Feb 2019 18:48:48 +0000 Subject: asymptote 2.47 support files git-svn-id: svn://tug.org/texlive/trunk@50168 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/asymptote/CAD.pdf | Bin 66745 -> 67482 bytes .../doc/asymptote/TeXShopAndAsymptote.pdf | Bin 31943 -> 31439 bytes Master/texmf-dist/doc/asymptote/asy-latex.pdf | Bin 194542 -> 194542 bytes Master/texmf-dist/doc/asymptote/asyRefCard.pdf | Bin 54839 -> 53548 bytes Master/texmf-dist/doc/asymptote/asymptote.pdf | Bin 1288356 -> 1289364 bytes .../doc/asymptote/examples/p-orbital.asy | 2 +- .../texmf-dist/doc/asymptote/examples/planes.asy | 1 - Master/texmf-dist/doc/asymptote/examples/slope.asy | 83 +++++++++++++++++++++ 8 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 Master/texmf-dist/doc/asymptote/examples/slope.asy (limited to 'Master/texmf-dist/doc/asymptote') diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf index ea28b168966..0aae4cae4c2 100644 Binary files a/Master/texmf-dist/doc/asymptote/CAD.pdf and b/Master/texmf-dist/doc/asymptote/CAD.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf index bbf19a4f29e..763eb2d56c5 100644 Binary files a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf and b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf index 465b586e173..7d1736ad6eb 100644 Binary files a/Master/texmf-dist/doc/asymptote/asy-latex.pdf and b/Master/texmf-dist/doc/asymptote/asy-latex.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf index de1d2999cce..c1c3b38e033 100644 Binary files a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf and b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf index 2f6f1f45707..a5a2dddf3b6 100644 Binary files a/Master/texmf-dist/doc/asymptote/asymptote.pdf and b/Master/texmf-dist/doc/asymptote/asymptote.pdf differ diff --git a/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy b/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy index 1932e098c67..4638aa21a22 100644 --- a/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy +++ b/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy @@ -12,7 +12,7 @@ triple f(pair t) { real r=t.x; real phi=t.y; real f=f(r); - real s=max(min(c0/f,1),-1); + real s=max(min(f != 0 ? c0/f : 1,1),-1); real R=r*sqrt(1-s^2); return (R*cos(phi),R*sin(phi),r*s); } diff --git a/Master/texmf-dist/doc/asymptote/examples/planes.asy b/Master/texmf-dist/doc/asymptote/examples/planes.asy index da859200f03..a3aeb252e24 100644 --- a/Master/texmf-dist/doc/asymptote/examples/planes.asy +++ b/Master/texmf-dist/doc/asymptote/examples/planes.asy @@ -16,4 +16,3 @@ filldraw(faces.push(l),project(l),lightgrey); filldraw(faces.push(g),project(g),green); add(faces); - diff --git a/Master/texmf-dist/doc/asymptote/examples/slope.asy b/Master/texmf-dist/doc/asymptote/examples/slope.asy new file mode 100644 index 00000000000..ae7fb45daf9 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/slope.asy @@ -0,0 +1,83 @@ +import ode; +import graph; +import math; +size(200,200,IgnoreAspect); + +real f(real t, real y) {return cos(y);} +//real f(real t, real y) {return 1/(1+y);} +typedef real function(real,real); + +real a=0; +real b=1; +real y0=0; + +real L[]={1,2}; + +int M=L.length; // Number of modes. + +//real Y0[]=array(M,y0); +real Y0[]=new real[] {-1,2}; + +real[] F(real t, real[] y) { + return sequence(new real(int m) {return f(t,y[M-m-1]);},M); + // return new real[] {exp((L[1]-1)*t)*y[1], + // -exp(-(L[1]-1)*t)*y[0]}; + // return new real[]{-y[0]^2}; +} + +real[] G(real t, real[] y) { + return F(t,y)-sequence(new real(int m) {return L[m]*y[m];},M); +} + +real lambda=sqrt(0.5); +real[] tau,error,error2; +int n=25; + +real order=3; + +for(int i=0; i < n-1; ++i) { + real dt=(b-a)*lambda^(n-i); + Solution S=integrate(Y0,L,F,a,b,dt,dynamic=false,0.0002,0.0004,ERK3BS,verbose=false); + real maxnorm=0; + + Solution E=integrate(Y0,G,a,b,1e-2*dt,dynamic=false,0.0002,0.0004,RK5); + real[] exact=E.y[E.y.length-1]; + + // real[] exact=new real[] {exp(-b)*sin(b),exp(-L[1]*b)*cos(b)}; + for(int m=0; m < M; ++m) + maxnorm=max(maxnorm,abs(S.y[S.y.length-1][m]-exact[m])); + if(maxnorm != 0) { + tau.push(dt); + // error.push(dt^-(order+1)*maxnorm); + error.push(maxnorm); + } +} + +/* +for(int i=0; i < n-1; ++i) { + real dt=(b-a)*lambda^(n-i); + real maxnorm=0; + for(int m=0; m < M; ++m) { + solution S=integrate(Y0[m],L[m],f,a,b,dt,dynamic=false,0.000,1000,RK4_375,verbose=false); + maxnorm=max(maxnorm,abs(S.y[S.y.length-1]-exact[m])); + } + error2.push(dt^-order*maxnorm); +} +*/ + +//scale(Log,Log); +scale(Log,Linear); + +//draw(graph(tau,error),marker(scale(0.8mm)*unitcircle,red)); +//draw(graph(tau,error2),marker(scale(0.8mm)*unitcircle,blue)); + +int[] index=sequence(error.length-1); +real[] slope=log(error[index+1]/error[index])/log(tau[index+1]/tau[index]); +real[] t=sqrt(tau[index]*tau[index+1]); +//write(t,slope); +draw(graph(t,slope),red); + + + +xaxis("$\tau$",BottomTop,LeftTicks); +yaxis("$e/\tau^"+string(order)+"$",LeftRight,RightTicks); -- cgit v1.2.3