File:Ausintay40t50.jpg

From TORI
Revision as of 08:30, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(2,274 × 2,871 pixels, file size: 1.7 MB, MIME type: image/jpeg)

Complex map of the truncated Taulor series of function AuSin expanded at point $\pi/2$ with 40 terms taken into account.

C++ generator of curves

Files ado.cin, arcsin.cin, susin.cin, conto.cin should be loaded in order to compile the code below:


#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
using namespace std;
#include<complex>
typedef complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "conto.cin"
#include "arcsin.cin"
#include"susin.cin"

z_type ausin0(z_type z){ z_type b,d,L; int n,N; DB c[32]=
{ 0.075238095238095238,0.011047619047619048, 0.0025161272589844018,0.00064214089261708309,
 0.00015466661256774635,0.000027370601208859475, -2.7882266241028593e-7,-2.6398530640882673e-6,
 -8.4436657963874166e-7,2.1258409455641387e-7, 2.9625812021061085e-7,5.5084490596214015e-8,
 -8.505934497279864e-8,-5.7880498792647227e-8, 1.931195823640328e-8,4.1375071763898608e-8,
 3.8895251916390044e-9,-2.9644790466835329e-8, -1.5302998576174588e-8,2.2013832459456463e-8,
 2.5112957261097041e-8,-1.5610882396047076e-8, -3.8703209933396839e-8,6.3863715618218346e-9,
 6.2295996364195277e-8,1.4512488433891138e-8, -1.0741668102638471e-7,-7.2006309159592681e-8,
 1.9825395033112708e-7,2.4402848447224951e-7, -3.8457536962314424e-7,-7.917263057277091e-7};
N=21; L=log(z); b=z*z; //d=b*(c[N]*.5);
d=b*c[N]*.5;
for(n=N;n>=0;n--) { d+=c[n]; d*=b;} //d=b*(79./1050.+ b*(.29/2635.));
d+=1.2*L+3./b;
//return d- 2.08962271972955094;
//return d- 2.089622719729546;
return d- 2.089622719729524;
}

z_type ausintay40(z_type z){ int n,N; z_type s; DB b[44]={
0.000000000000018573,2.291638074409576120,1.960438524396879600,1.078628512561472519,
0.596229979933950216,0.283339971398291091,0.141932611945484954,0.064237342712339371,
0.030266877055075078,0.013517212504274366,0.006114045543095120,0.002694686480147357,
0.001196608793087548,0.000520276081972018,0.000227565108909431,0.000098384760581466,
0.000042506775634220,0.000018246439059372,0.000007830495651859,0.000003341567773204,
0.000001424791217293,0.000000605357494037,0.000000256858981460,0.000000108708480622,
0.000000045942688496,0.000000019376065191,0.000000008162520256,0.000000003432848149,
0.000000001441940229,0.000000000604877447,0.000000000253477392,0.000000000106098816,
0.000000000044365678,0.000000000018533441,0.000000000007734554,0.000000000003225125,
0.000000000001345236,0.000000000000558311,0.000000000000233047,0.000000000000095023,
0.000000000000040981,0.000000000000018521,0.000000000000010568,0.000000000000005637};
N=40; //720 points were used for Cauchi; last 3 coefficients are poor; last 4 digits are wrong.
z-=M_PI/2; z*=z;
s=b[N]*z;
for(n=N-1;n>0;n--) { s+=b[n]; s*=z; }
return s;
}

z_type ausin(z_type z){ int m,M;
if(Im(z)<0) return conj(ausin(conj(z)));
if(abs(z-M_PI/2)<1) return ausintay40(z);
//M=50; DO(m,M) z=sin(z);
M=50; DO(m,M) z=sin(z);
return ausin0(z)-(0.+M);
}

// #include "ausin.cin"

int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
printf("1.-ausin(1)=%19.17f , 1.-ausin(z_type(1.,1.e-14))=%19.17f ;1.- susun(1.)=%19.17f, 1.-susun(z_type(1.,1.e-14))=%19.17f \n",
     1.-Re(ausin(1.)), 1.-Re(ausin(z_type(1.,1.e-14))), 1.-Re(susin(1.)), 1.-Re(susin(z_type(1.,1.e-14))) );
//getchar();

int M=548,M1=M+1;
int N=421,N1=N+1;
DB X[M1],Y[N1];
DB *g, *f, *w; // w is working array.
g=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
f=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
w=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
char v[M1*N1]; // v is working array
FILE *o;o=fopen("ausintay40.eps","w"); ado(o,332,402);
fprintf(o,"1 201 translate\n 100 100 scale\n");
fprintf(o,"1 setlinejoin 2 setlinecap\n");
DB e;
e=2./sinh(1.);
DO(m,M1) { t=(m+.5)/400.; X[m]=e*sinh(1.*t);}
e=2./sinh(1.);
DO(n,N1) { t=(n-210.5)/210.; Y[n]=e*sinh(1.*t);}
for(m=0;m<4;m+=1){M(m,-2) L(m,2) }
for(n=-2;n<3;n+=1){M(0,n) L(M_PI,n)}
 fprintf(o,".002 W 0 0 0 RGB S\n");
M(M_PI/2,-2)L(M_PI/2,2)
M(M_PI,-2)L(M_PI,2)
 fprintf(o,".002 W 0 0 0 RGB S\n");
DO(m,M1)DO(n,N1){ g[m*N1+n]=9999;
                       f[m*N1+n]=9999;}
DO(m,M1){x=X[m]; if(m/10*10==m) printf("x=%6.3f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y); //if(abs(z+2.)>.019)
// c=arcsin(z);
// c=sqrt(3./z);
// c=susin(z);
   c=ausintay40(z);
// d=susin(c);
// d=arcsin(su0(z+1.));
// p=abs(z-d)/(abs(z)+abs(d)); p=-log(p)/log(10.); if(p>0 && p<17) g[m*N1+n]=p;
 p=Re(c); q=Im(c); if(p>-101 && p<101 && q>-101 && q<101){ g[m*N1+n]=p;f[m*N1+n]=q;}
       }}
fprintf(o,"1 setlinejoin 2 setlinecap\n");
 p=10.;q=1.;
/*
  p=9;q=.16;
 conto(o,g,w,v,X,Y,M,N,(15.6 ),-p,p); fprintf(o,".001 W .4 1 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(15. ),-p,p); fprintf(o,".005 W 1 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,".002 W .2 .2 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,".006 W 0 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,".006 W 0 1 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,".006 W 0 .5 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,".006 W 1 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,".002 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,".004 W .5 0 0 RGB S\n");
*/
for(m=-4;m<4;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".0016 W 0 .6 0 RGB S\n");
for(m=0;m<4;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".0016 W .9 0 0 RGB S\n");
for(m=0;m<4;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".0016 W 0 0 .9 RGB S\n");
for(m= 1;m<8;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".004 W .8 0 0 RGB S\n");
for(m= 1;m<9;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".004 W 0 0 .8 RGB S\n");
               conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".004 W .5 0 .5 RGB S\n");
for(m=-8;m<9;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".004 W 0 0 0 RGB S\n");
fprintf(o,"0 setlinejoin 0 setlinecap\n");
M(-10,0)L(0,0) fprintf(o,"1 1 1 RGB .01 W S\n");
DO(n,51) {x=-.2*n; M(x-.01,0) L(x-.09,0) } fprintf(o,"0 0 0 RGB .03 W S\n");
//#include "plofu.cin"

fprintf(o,"showpage\n");
fprintf(o,"%c%cTrailer\n",'%','%');
fclose(o); free(f); free(g); free(w);
      system("epstopdf ausintay40.eps");
      system( "open ausintay40.pdf"); //for macintosh
      getchar(); system("killall Preview"); // For macintosh
}

Latex generator of labels


\documentclass[12pt]{article}
\usepackage{geometry}
\usepackage{graphics}
\usepackage{rotating}
\paperwidth 3288pt
\paperheight 4150pt
\topmargin -100pt
\oddsidemargin -72pt
\textwidth 3200pt
\textheight 4200pt
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\pagestyle{empty}
\begin{document}
\sx{10}{\begin{picture}(328,412)
\put(10,9){\includegraphics{ausintay40}}
\put(2,406){\sx{1.2}{$y$}}
\put(2,306){\sx{1.2}{$1$}}
\put(2,206){\sx{1.2}{$0$}}
\put(-7,106){\sx{1.2}{$-1$}}
%\put(-7, 06){\sx{1.2}{$-2$}}
\put(9,-1){\sx{1.2}{$0$}}
\put(109,-1){\sx{1.2}{$1$}}
\put(157,-1){\sx{1.2}{$\pi/2$}}
\put(209,-1){\sx{1.2}{$2$}}
\put(309,-1){\sx{1.2}{$3$}}
\put(319,-1){\sx{1.2}{$x$}}
\put(184,208){$v\!=\!0$}
\put(98,200){\rot{90}$u\!=\!2$\ero}
\put(114,200){\rot{90}$u\!=\!1$\ero}
\put(147,186){\rot{41}$u\!=\!0$\ero}
\put(136,131){\rot{-40}$u\!=\!-1$\ero}
\put(125,93){\rot{23}$v\!=\!0$\ero}
\put(92,288){\rot{66}$u\!=\!-2$\ero}
\put(131,282){\rot{31}$u\!=\!-1$\ero}
%\put(159,244){\rot{90}$v\!=\!-0.2$\ero}
%\put(172,250){\rot{90}$v\!=\!0$\ero}
\put(148,260){$u\!=\!-0.5$}
%\put(186,250){\rot{90}$v\!=\!0.2$\ero}
\put(86,158){\rot{90}$v\!=\!3$\ero}
\put(100,155){\rot{90}$v\!=\!2$\ero}
\put(122,148){\rot{90}$v\!=\!1$\ero}
\put(159,144){\rot{90}$v\!=\!0.2$\ero}
\put(172,144){\rot{90}$v\!=\!0$\ero}
\put(186,138){\rot{90}$v\!=\!-0.2$\ero}
\end{picture}}
\end{document}

Cateogry:Latex

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current06:10, 1 December 2018Thumbnail for version as of 06:10, 1 December 20182,274 × 2,871 (1.7 MB)Maintenance script (talk | contribs)Importing image file

The following 2 pages use this file:

Metadata