Difference between revisions of "File:Susinmap.jpg"

From TORI
Jump to navigation Jump to search
(Importing image file)
 
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
  +
[[Complex map]] of function [[SuSin]];
Importing image file
 
  +
  +
\( u+\mathrm i v = \mathrm{SuSin}(x\!+\!\mathrm i y) \)
  +
  +
SuSin is [[superfunction]] of [[sin]];
  +
  +
\(\mathrm{SuSin}(z\!+\!1)= \sin(\mathrm{SuSin}(z)) \)
  +
  +
\( \mathrm{SuSin}(1)=1 \)
  +
  +
At large ( |z| \),
  +
  +
\( \displaystyle
  +
\mathrm{SuSin}(z)= \sqrt{\frac{3}{z}} \left(1 + O\left(\frac{1}{z}\right) \right) \)
  +
  +
Implementation of SuSin in the code below is not a final tool, because of low precision, it returns of order of 6 significant figures. This accuracy allows to plot the camera–ready figures, but for some applications, the precision may be not sufficient.
  +
  +
==[[C++]] generator of curves ==
  +
// files [[ado.cin]], [[conto.cin]], [[arcsin.cin]], and [[susin.cin]] should be loaded to the working directory in order to compile the code below.
  +
<poem><nomathjax><nowiki>
  +
#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"
  +
  +
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
  +
DB e; DB x0=.0;
  +
DO(n,14) { e=Re( susin(x0+z_type(1.,1.e-9)) )-1.; x0+= 4.6*e; printf("%2d %19.16f %19.16f\n",n,x0,e); }
  +
int M=1001,M1=M+1;
  +
int N=1001,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("susinmap.eps","w"); ado(o,2002,2002);
  +
fprintf(o,"1001 1001 translate\n 100 100 scale\n");
  +
fprintf(o,"1 setlinejoin 2 setlinecap\n");
  +
e=10./sinh(1.);
  +
DO(m,M1) { t=(m-500.5)/500.; X[m]=e*sinh(1.*t);}
  +
e=10./sinh(3.);
  +
DO(n,N1) { t=(n-500.5)/500.; Y[n]=e*sinh(3.*t);}
  +
for(m=-10;m<11;m+=1){M(m,-10) L(m,10) }
  +
for(n=-10;n<11;n+=1){M(-10,n) L(10,n)}
  +
fprintf(o,".006 W 0 0 0 RGB S\n");
  +
DO(m,M1)DO(n,N1){ g[m*N1+n]=999;
  +
f[m*N1+n]=999;}
  +
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=susin(z);
  +
// c=susin0(z+1.4304553465285);
  +
// p=abs(c-d)/(abs(c)+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>-19 && p<19 && q>-19 && y<19){ g[m*N1+n]=p;f[m*N1+n]=q;}
  +
}}
  +
fprintf(o,"1 setlinejoin 2 setlinecap\n");
  +
p=.06;q=.06;
  +
/* p=1.;
  +
conto(o,g,w,v,X,Y,M,N,(15.3 ),-p,p); fprintf(o,".1 W .4 1 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(15. ),-p,p); fprintf(o,".2 W 1 0 1 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(14.7 ),-p,p); fprintf(o,".1 W 1 .5 0 RGB S\n");
  +
  +
conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,"2 W .2 .2 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,"6 W 0 0 1 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,"6 W 0 1 1 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,"6 W 0 .5 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,"6 W 1 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
  +
conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,"4 W .5 0 0 RGB S\n");
  +
*/
  +
for(m=-8;m<8;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".016 W 0 .6 0 RGB S\n");
  +
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".016 W .9 0 0 RGB S\n");
  +
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".016 W 0 0 .9 RGB S\n");
  +
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".03 W .8 0 0 RGB S\n");
  +
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".03 W 0 0 .8 RGB S\n");
  +
conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".03 W .5 0 .5 RGB S\n");
  +
for(m=-16;m<17;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".03 W 0 0 0 RGB S\n");
  +
fprintf(o,"0 setlinejoin 0 setlinecap\n");
  +
//M(-10,-1.4304553465285)L(0,0) fprintf(o,"1 1 1 RGB .01 W S\n");
  +
//DO(n,45) {x=-1.4304553465285-.2*n; M(x-.01,0) L(x-.09,0) } fprintf(o,"0 0 0 RGB .03 W S\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 susinmap.eps");
  +
system( "open susinmap.pdf"); //for macintosh
  +
getchar(); system("killall Preview"); // For macintosh
  +
}
  +
  +
</nowiki></nomathjax></poem>
  +
  +
==[[Latex]] generator of labels==
  +
% save this as susinmapt.tex
  +
<poem><nomathjax><nowiki>
  +
\documentclass[12pt]{article}
  +
\usepackage{geometry}
  +
\usepackage{graphics}
  +
\usepackage{rotating}
  +
\paperwidth 2078pt
  +
\paperheight 2064pt
  +
\topmargin -100pt
  +
\oddsidemargin -72pt
  +
\textwidth 2200pt
  +
\textheight 2200pt
  +
\newcommand \sx {\scalebox}
  +
\newcommand \rot {\begin{rotate}}
  +
\newcommand \ero {\end{rotate}}
  +
\pagestyle{empty}
  +
\begin{document}
  +
\begin{picture}(2016,2044)
  +
\put(48,40){\includegraphics{susinmap}}
  +
\put(4,2018){\sx{5.4}{$y$}}
  +
\put(4,1824){\sx{5}{$8$}}
  +
\put(4,1624){\sx{5}{$6$}}
  +
\put(4,1424){\sx{5}{$4$}}
  +
\put(4,1224){\sx{5}{$2$}}
  +
\put(4,1024){\sx{5}{$0$}}
  +
\put(-28,824){\sx{5}{$-2$}}
  +
\put(-28,624){\sx{5}{$-4$}}
  +
\put(-28,424){\sx{5}{$-6$}}
  +
\put(-28,224){\sx{5}{$-8$}}
  +
\put(-8,-9){\sx{5}{$-10$}}
  +
\put(200,-8){\sx{5}{$-8$}}
  +
\put(400,-8){\sx{5}{$-6$}}
  +
\put(600,-8){\sx{5}{$-4$}}
  +
\put(800,-8){\sx{5}{$-2$}}
  +
\put(1040,-8){\sx{5}{$0$}}
  +
\put(1241,-8){\sx{5}{$2$}}
  +
\put(1442,-8){\sx{5}{$4$}}
  +
\put(1643,-8){\sx{5}{$6$}}
  +
\put(1843,-8){\sx{5}{$8$}}
  +
\put(2028,-8){\sx{5.2}{$x$}}
  +
  +
\put(1436,930){\sx{7}{\rot{89}$u\!=\!0.7$\ero}}
  +
\put(1640,930){\sx{7}{\rot{89}$u\!=\!0.6$\ero}}
  +
\put(1980,930){\sx{7}{\rot{89}$u\!=\!0.5$\ero}}
  +
  +
\put(1520,1660){\sx{7}{\rot{68}$v\!=\!-0.2$\ero}}
  +
\put(1790,1406){\sx{7}{\rot{36}$v\!=\!-0.1$\ero}}
  +
  +
\put(250,1030){\sx{5.2}{\bf cut}}
  +
  +
\put(928,1148){\sx{7}{\rot{0.}$u\!=\!1$\ero}}
  +
\put(668,1080){\sx{7}{\rot{0.}$v\!=\!-1$\ero}}
  +
\put(688,960){\sx{7}{\rot{0.}$v\!=\!1$\ero}}
  +
  +
\put(1680,1024){\sx{7}{$v\!=\!0$}}
  +
\put(1740,664){\sx{7}{\rot{-35}$v\!=\!0.1$\ero}}
  +
\put(1478,418){\sx{7}{\rot{-68}$v\!=\!0.2$\ero}}
  +
\end{picture}
  +
\end{document}
  +
  +
</nowiki></nomathjax></poem>
  +
  +
[[Category:Complex map]]
  +
[[Category:Sin]]
  +
[[Category:SuSin]]
  +
[[Category:Superfunation]]
  +
[[Category:Book]]

Latest revision as of 12:51, 7 July 2020

Complex map of function SuSin;

\( u+\mathrm i v = \mathrm{SuSin}(x\!+\!\mathrm i y) \)

SuSin is superfunction of sin;

\(\mathrm{SuSin}(z\!+\!1)= \sin(\mathrm{SuSin}(z)) \)

\( \mathrm{SuSin}(1)=1 \)

At large ( |z| \),

\( \displaystyle \mathrm{SuSin}(z)= \sqrt{\frac{3}{z}} \left(1 + O\left(\frac{1}{z}\right) \right) \)

Implementation of SuSin in the code below is not a final tool, because of low precision, it returns of order of 6 significant figures. This accuracy allows to plot the camera–ready figures, but for some applications, the precision may be not sufficient.

C++ generator of curves

// files ado.cin, conto.cin, arcsin.cin, and susin.cin should be loaded to the working directory 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"

int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
DB e; DB x0=.0;
DO(n,14) { e=Re( susin(x0+z_type(1.,1.e-9)) )-1.; x0+= 4.6*e; printf("%2d %19.16f %19.16f\n",n,x0,e); }
int M=1001,M1=M+1;
int N=1001,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("susinmap.eps","w"); ado(o,2002,2002);
fprintf(o,"1001 1001 translate\n 100 100 scale\n");
fprintf(o,"1 setlinejoin 2 setlinecap\n");
e=10./sinh(1.);
DO(m,M1) { t=(m-500.5)/500.; X[m]=e*sinh(1.*t);}
e=10./sinh(3.);
DO(n,N1) { t=(n-500.5)/500.; Y[n]=e*sinh(3.*t);}
for(m=-10;m<11;m+=1){M(m,-10) L(m,10) }
for(n=-10;n<11;n+=1){M(-10,n) L(10,n)}
 fprintf(o,".006 W 0 0 0 RGB S\n");
DO(m,M1)DO(n,N1){ g[m*N1+n]=999;
                       f[m*N1+n]=999;}
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=susin(z);
// c=susin0(z+1.4304553465285);
// p=abs(c-d)/(abs(c)+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>-19 && p<19 && q>-19 && y<19){ g[m*N1+n]=p;f[m*N1+n]=q;}
       }}
fprintf(o,"1 setlinejoin 2 setlinecap\n");
 p=.06;q=.06;
/* p=1.;
 conto(o,g,w,v,X,Y,M,N,(15.3 ),-p,p); fprintf(o,".1 W .4 1 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(15. ),-p,p); fprintf(o,".2 W 1 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(14.7 ),-p,p); fprintf(o,".1 W 1 .5 0 RGB S\n");

 conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,"2 W .2 .2 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,"6 W 0 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,"6 W 0 1 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,"6 W 0 .5 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,"6 W 1 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,"4 W .5 0 0 RGB S\n");
*/
for(m=-8;m<8;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".016 W 0 .6 0 RGB S\n");
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".016 W .9 0 0 RGB S\n");
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".016 W 0 0 .9 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".03 W .8 0 0 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".03 W 0 0 .8 RGB S\n");
               conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".03 W .5 0 .5 RGB S\n");
for(m=-16;m<17;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".03 W 0 0 0 RGB S\n");
fprintf(o,"0 setlinejoin 0 setlinecap\n");
//M(-10,-1.4304553465285)L(0,0) fprintf(o,"1 1 1 RGB .01 W S\n");
//DO(n,45) {x=-1.4304553465285-.2*n; M(x-.01,0) L(x-.09,0) } fprintf(o,"0 0 0 RGB .03 W S\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 susinmap.eps");
      system( "open susinmap.pdf"); //for macintosh
      getchar(); system("killall Preview"); // For macintosh
}

Latex generator of labels

% save this as susinmapt.tex


\documentclass[12pt]{article}
\usepackage{geometry}
\usepackage{graphics}
\usepackage{rotating}
\paperwidth 2078pt
\paperheight 2064pt
\topmargin -100pt
\oddsidemargin -72pt
\textwidth 2200pt
\textheight 2200pt
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\pagestyle{empty}
\begin{document}
\begin{picture}(2016,2044)
\put(48,40){\includegraphics{susinmap}}
\put(4,2018){\sx{5.4}{$y$}}
\put(4,1824){\sx{5}{$8$}}
\put(4,1624){\sx{5}{$6$}}
\put(4,1424){\sx{5}{$4$}}
\put(4,1224){\sx{5}{$2$}}
\put(4,1024){\sx{5}{$0$}}
\put(-28,824){\sx{5}{$-2$}}
\put(-28,624){\sx{5}{$-4$}}
\put(-28,424){\sx{5}{$-6$}}
\put(-28,224){\sx{5}{$-8$}}
\put(-8,-9){\sx{5}{$-10$}}
\put(200,-8){\sx{5}{$-8$}}
\put(400,-8){\sx{5}{$-6$}}
\put(600,-8){\sx{5}{$-4$}}
\put(800,-8){\sx{5}{$-2$}}
\put(1040,-8){\sx{5}{$0$}}
\put(1241,-8){\sx{5}{$2$}}
\put(1442,-8){\sx{5}{$4$}}
\put(1643,-8){\sx{5}{$6$}}
\put(1843,-8){\sx{5}{$8$}}
\put(2028,-8){\sx{5.2}{$x$}}

\put(1436,930){\sx{7}{\rot{89}$u\!=\!0.7$\ero}}
\put(1640,930){\sx{7}{\rot{89}$u\!=\!0.6$\ero}}
\put(1980,930){\sx{7}{\rot{89}$u\!=\!0.5$\ero}}

\put(1520,1660){\sx{7}{\rot{68}$v\!=\!-0.2$\ero}}
\put(1790,1406){\sx{7}{\rot{36}$v\!=\!-0.1$\ero}}

\put(250,1030){\sx{5.2}{\bf cut}}

\put(928,1148){\sx{7}{\rot{0.}$u\!=\!1$\ero}}
\put(668,1080){\sx{7}{\rot{0.}$v\!=\!-1$\ero}}
\put(688,960){\sx{7}{\rot{0.}$v\!=\!1$\ero}}

\put(1680,1024){\sx{7}{$v\!=\!0$}}
\put(1740,664){\sx{7}{\rot{-35}$v\!=\!0.1$\ero}}
\put(1478,418){\sx{7}{\rot{-68}$v\!=\!0.2$\ero}}
\end{picture}
\end{document}
 

File history

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

Date/TimeThumbnailDimensionsUserComment
current06:14, 1 December 2018Thumbnail for version as of 06:14, 1 December 20184,312 × 4,283 (1.76 MB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata