Difference between revisions of "File:Nembraplot.jpg"
(Importing image file) |
|||
Line 1: | Line 1: | ||
+ | [[Parametric plot]] of position of the [[branch point]] of the [[ArcNem]] function: |
||
− | Importing image file |
||
+ | |||
+ | $x\!+\!\mathrm i y = \mathrm{NemBra}(q)$ |
||
+ | |||
+ | for positive $q$. Function [[NemBra]] is solution $z=\mathrm{NemBra}(q)$ |
||
+ | of equation |
||
+ | |||
+ | $\mathrm{Nem}_q'(z)=0$ |
||
+ | |||
+ | where the [[Nemtsov function]] Nem is special polynomial |
||
+ | |||
+ | $\mathrm{Nem}_q(z)=z+z^3+qz^4$ |
||
+ | |||
+ | and, correspondently, |
||
+ | |||
+ | $\mathrm{Nem}_q'(z)=1+3z^2+4qz^3$ |
||
+ | |||
+ | Function [[NemBra]] is necessary for implementation of function [[ArqNem]], that, in its turn, |
||
+ | happen to be necessary for implementation of the non-integer iterates of the [[Nemtsov function]], |
||
+ | suggested as example of [[exotic iterate]]s for the book [[Superfunctions]]. |
||
+ | |||
+ | ==References== |
||
+ | <references/> |
||
+ | |||
+ | ==[[Mathematica]] generator of the solution== |
||
+ | |||
+ | <poem><nomathjax><nowiki> |
||
+ | T[z_] = z + z^3 + q z^4 |
||
+ | s123 = Solve[T'[z] == 0, z] |
||
+ | s1[q_] = ReplaceAll[z, Extract[s123, 1]] |
||
+ | Simplify[T'[ 1/4 (-(1/q) + 1/( q (-1 - 8 q^2 - 4 Sqrt[q^2 + 4 q^4])^(1/3)) + (-1 - 8 q^2 - 4 Sqrt[q^2 + 4 q^4])^(1/3)/q)]] |
||
+ | Print[N[Normal[Simplify[Series[s1[q], {q, 0, 7}]]], 16]] |
||
+ | Simplify[Series[s1[q], {q, Infinity, 4}]] |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | |||
+ | ==[[C++]] generator of curve== |
||
+ | |||
+ | <poem><nomathjax><nowiki> |
||
+ | #include <stdio.h> |
||
+ | #include <math.h> |
||
+ | #include <stdlib.h> |
||
+ | #include <complex> |
||
+ | typedef std::complex<double> z_type; |
||
+ | #define Re(x) x.real() |
||
+ | #define Im(x) x.imag() |
||
+ | #define I z_type(0.,1.) |
||
+ | #define DB double |
||
+ | #define DO(x,y) for(x=0;x<y;x++) |
||
+ | |||
+ | void ado(FILE *O, int X, int Y) |
||
+ | { fprintf(O,"%c!PS-Adobe-2.0 EPSF-2.0\n",'%'); |
||
+ | fprintf(O,"%c%cBoundingBox: 0 0 %d %d\n",'%','%',X,Y); |
||
+ | fprintf(O,"/M {moveto} bind def\n"); |
||
+ | fprintf(O,"/L {lineto} bind def\n"); |
||
+ | fprintf(O,"/S {stroke} bind def\n"); |
||
+ | fprintf(O,"/s {show newpath} bind def\n"); |
||
+ | fprintf(O,"/C {closepath} bind def\n"); |
||
+ | fprintf(O,"/F {fill} bind def\n"); |
||
+ | fprintf(O,"/o {.002 0 360 arc C S} bind def\n"); |
||
+ | fprintf(O,"/times-Roman findfont 20 scalefont setfont\n"); |
||
+ | fprintf(O,"/W {setlinewidth} bind def\n"); |
||
+ | fprintf(O,"/RGB {setrgbcolor} bind def\n");} |
||
+ | //#include "ado.cin" |
||
+ | |||
+ | z_type nem(DB q,z_type z){ return z*(1.+z*z*(1.+z*q)); } |
||
+ | z_type nem1(DB q,z_type z){ return 1.+z*z*(3.+z*(4.*q)); } |
||
+ | z_type nembra0(DB q){ |
||
+ | return -0.5773502691896258*I+ |
||
+ | q*(2./9+ |
||
+ | q*(0.2138334330331947*I+ |
||
+ | q*(-0.2633744855967078 + |
||
+ | q*(-0.3658927631901332*I+ |
||
+ | q*(0.5462581923487273 + |
||
+ | q*(0.8556857213229570*I+ |
||
+ | q*(-1.387322393266609 |
||
+ | ))))))) ;} |
||
+ | |||
+ | z_type nembrao(DB q){ z_type x,y,z,s; x=conj(pow(z_type(-.25/q,0.),1./3.)); y=x*x; z=y*y; |
||
+ | s=1.+y*(1.+y*(1.+y*(2./3.+z*(-2./3.+y*(-7./9.+z*(11./9.+y*(130./91.) |
||
+ | ) ) ) ) ) ); |
||
+ | return s*x;} |
||
+ | |||
+ | z_type nembra(DB q){ |
||
+ | if(fabs(q)<.021) return nembra0(q); |
||
+ | if(fabs(q) >20.) return nembrao(q); |
||
+ | z_type Q,v,V; Q=q*q; v=-1.-8.*Q+4.*sqrt(Q+4.*Q*Q); V=pow(v,1./3.); return (.25/q)*(-1.+1./V+V); } |
||
+ | |||
+ | int main(){ int m,n; z_type z,c,d,e; DB x,y,q,u,v; |
||
+ | |||
+ | DO(n,41){ q=-.04+.01*n; c=nembra0(q); d=nem(q,c); e=nem1(q,c); |
||
+ | printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );} |
||
+ | printf("\n"); |
||
+ | DO(n,41){ q=.1*n; c=nembra(q); d=nem(q,c); e=nem1(q,c); |
||
+ | printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );} |
||
+ | printf("\n"); |
||
+ | DO(n,41){ q=1.+1.*n; c=nembrao(q); d=nem(q,c); e=nem1(q,c); |
||
+ | printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );} |
||
+ | |||
+ | //FILE *o; o=fopen("08.eps","w"); ado(o,154,604); |
||
+ | FILE *o; o=fopen("nembraplo.eps","w"); ado(o,154,604); |
||
+ | fprintf(o,"2 2 translate 1000 1000 scale 2 setlinecap\n"); |
||
+ | #define M(x,y) fprintf(o,"%8.6f %8.6f M\n",(0.+x),(0.+y)); |
||
+ | #define L(x,y) fprintf(o,"%8.6f %8.6f L\n",(0.+x),(0.+y)); |
||
+ | #define o(x,y) fprintf(o,"%8.6f %8.6f o\n",(0.+x),(0.+y)); |
||
+ | |||
+ | for(n=0;n<61;n+=5){ M(0,.01*n) L(.15,.01*n) } |
||
+ | for(n=0;n<31;n+=5){ M(.01*n,0) L(.01*n,.6) } |
||
+ | fprintf(o,".0006 W S 1 setlinejoin\n"); |
||
+ | fprintf(o,"1 0 0 RGB .001 W\n"); |
||
+ | |||
+ | for(n= 1;n<10;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | for(n=11;n<20;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | for(n=21;n<30;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | fprintf(o,"0 .5 0 RGB\n"); |
||
+ | for(n= 1;n<20;n++){ q=1.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | fprintf(o,"0 0 1 RGB\n"); |
||
+ | for(n= 1;n<10;n++){ q=10.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | fprintf(o,".5 0 .8 RGB\n"); |
||
+ | for(n= 1;n<10;n++){ q=100.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | fprintf(o,"0 0 0 RGB\n"); |
||
+ | for(n= 0;n<11;n+=10){ q=100.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); } |
||
+ | q=10000.; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); |
||
+ | |||
+ | for(n= 0;n<400;n++){ q=-.006+.04*(n+.01*n*n+.001*n*n*n); c=nembra(q); x=Re(c); y=-Im(c); if(n==0) M(x,y) else L(x,y); |
||
+ | printf("%9.3lf %16.6lf %16.6lf\n",q,x,y); |
||
+ | } |
||
+ | L(0,0) |
||
+ | fprintf(o,"0 0 0 RGB .001 W 0 setlinecap S\n"); |
||
+ | |||
+ | fprintf(o,"showpage\n%c%cTrailer\n",'%','%'); |
||
+ | fclose(o); |
||
+ | |||
+ | system("epstopdf nembraplo.eps"); |
||
+ | system("open nembraplo.pdf"); |
||
+ | getchar(); |
||
+ | return 0;} |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | ==[[Latex]] generator of labels== |
||
+ | |||
+ | <poem><nomathjax><nowiki> |
||
+ | \documentclass[12pt]{article} |
||
+ | \usepackage{geometry} |
||
+ | \paperwidth 174pt |
||
+ | \paperheight 620pt |
||
+ | \topmargin -100pt |
||
+ | \oddsidemargin -72pt |
||
+ | \textheight 800px |
||
+ | \parindent 0pt |
||
+ | \usepackage{graphicx} |
||
+ | \usepackage{rotating} |
||
+ | \newcommand \ing {\includegraphics} |
||
+ | \newcommand \sx {\scalebox} |
||
+ | \begin{document} |
||
+ | \begin{picture}(170,610) |
||
+ | \put(20,14){\ing{nembraplo}} |
||
+ | \put(8,612){\sx{1.4}{$y$}} |
||
+ | \put(0,512){\sx{1.4}{$0.5$}} |
||
+ | \put(0,412){\sx{1.4}{$0.4$}} |
||
+ | \put(0,312){\sx{1.4}{$0.3$}} |
||
+ | \put(0,212){\sx{1.4}{$0.2$}} |
||
+ | \put(0,112){\sx{1.4}{$0.1$}} |
||
+ | \put(8,12){\sx{1.4}{$0$}} |
||
+ | \put(20,1){\sx{1.4}{$0$}} |
||
+ | \put(60,1){\sx{1.4}{$0.05$}} |
||
+ | \put(112,1){\sx{1.4}{$0.1$}} |
||
+ | \put(165,2){\sx{1.4}{$x$}} |
||
+ | %\put(18,601){\sx{1.1}{$q\!=\!0$}} |
||
+ | \put(0,583){\sx{1.1}{$q\!=\!0$}} |
||
+ | %\put(63,593){\sx{1.1}{$q\!=\!0.2$}} |
||
+ | \put(30,576){\sx{1.1}{$q\!=\!0.2$}} |
||
+ | %\put(97,574){\sx{1.1}{$q\!=\!0.4$}} |
||
+ | \put(62,558){\sx{1.1}{$q\!=\!0.4$}} |
||
+ | %\put(122,550){\sx{1.1}{$q\!=\!0.6$}} |
||
+ | \put(85,535){\sx{1.1}{$q\!=\!0.6$}} |
||
+ | %\put(137,528){\sx{1.1}{$q\!=\!0.8$}} |
||
+ | \put(100,514){\sx{1.1}{$q\!=\!0.8$}} |
||
+ | %\put(148,506){\sx{1.1}{$q\!=\!1$}} |
||
+ | \put(121,494){\sx{1.1}{$q\!=\!1$}} |
||
+ | \put(137,424){\sx{1.1}{$q\!=\!2$}} |
||
+ | \put(138,380){\sx{1.1}{$q\!=\!3$}} |
||
+ | \put(136,350){\sx{1.1}{$q\!=\!4$}} |
||
+ | \put(133,330){\sx{1.1}{$q\!=\!5$}} |
||
+ | \put(129,310){\sx{1.1}{$q\!=\!6$}} |
||
+ | \put(122,286){\sx{1.1}{$q\!=\!8$}} |
||
+ | \put(110,268){\sx{1.1}{$q\!=\!10$}} |
||
+ | \put( 90,214){\sx{1.1}{$q\!=\!20$}} |
||
+ | \put( 82,192){\sx{1.1}{$q\!=\!30$}} |
||
+ | \put( 88,127){\sx{1.1}{$q\!=\!100$}} |
||
+ | \put( 77,104){\sx{1.1}{$q\!=\!200$}} |
||
+ | \put( 54,63){\sx{1.1}{$q\!=\!1000$}} |
||
+ | \put( 39,36){\sx{1.1}{$q\!=\!10000$}} |
||
+ | \end{picture} |
||
+ | \end{document} |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | [[Category:Book]] |
||
+ | [[Category:BookPlot]] |
||
+ | [[Category:Branch point]] |
||
+ | [[Category:Nemtsov function]] |
||
+ | [[Category:Parametric plot]] |
Latest revision as of 08:44, 1 December 2018
Parametric plot of position of the branch point of the ArcNem function:
$x\!+\!\mathrm i y = \mathrm{NemBra}(q)$
for positive $q$. Function NemBra is solution $z=\mathrm{NemBra}(q)$ of equation
$\mathrm{Nem}_q'(z)=0$
where the Nemtsov function Nem is special polynomial
$\mathrm{Nem}_q(z)=z+z^3+qz^4$
and, correspondently,
$\mathrm{Nem}_q'(z)=1+3z^2+4qz^3$
Function NemBra is necessary for implementation of function ArqNem, that, in its turn, happen to be necessary for implementation of the non-integer iterates of the Nemtsov function, suggested as example of exotic iterates for the book Superfunctions.
References
Mathematica generator of the solution
T[z_] = z + z^3 + q z^4
s123 = Solve[T'[z] == 0, z]
s1[q_] = ReplaceAll[z, Extract[s123, 1]]
Simplify[T'[ 1/4 (-(1/q) + 1/( q (-1 - 8 q^2 - 4 Sqrt[q^2 + 4 q^4])^(1/3)) + (-1 - 8 q^2 - 4 Sqrt[q^2 + 4 q^4])^(1/3)/q)]]
Print[N[Normal[Simplify[Series[s1[q], {q, 0, 7}]]], 16]]
Simplify[Series[s1[q], {q, Infinity, 4}]]
C++ generator of curve
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <complex>
typedef std::complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
void ado(FILE *O, int X, int Y)
{ fprintf(O,"%c!PS-Adobe-2.0 EPSF-2.0\n",'%');
fprintf(O,"%c%cBoundingBox: 0 0 %d %d\n",'%','%',X,Y);
fprintf(O,"/M {moveto} bind def\n");
fprintf(O,"/L {lineto} bind def\n");
fprintf(O,"/S {stroke} bind def\n");
fprintf(O,"/s {show newpath} bind def\n");
fprintf(O,"/C {closepath} bind def\n");
fprintf(O,"/F {fill} bind def\n");
fprintf(O,"/o {.002 0 360 arc C S} bind def\n");
fprintf(O,"/times-Roman findfont 20 scalefont setfont\n");
fprintf(O,"/W {setlinewidth} bind def\n");
fprintf(O,"/RGB {setrgbcolor} bind def\n");}
//#include "ado.cin"
z_type nem(DB q,z_type z){ return z*(1.+z*z*(1.+z*q)); }
z_type nem1(DB q,z_type z){ return 1.+z*z*(3.+z*(4.*q)); }
z_type nembra0(DB q){
return -0.5773502691896258*I+
q*(2./9+
q*(0.2138334330331947*I+
q*(-0.2633744855967078 +
q*(-0.3658927631901332*I+
q*(0.5462581923487273 +
q*(0.8556857213229570*I+
q*(-1.387322393266609
))))))) ;}
z_type nembrao(DB q){ z_type x,y,z,s; x=conj(pow(z_type(-.25/q,0.),1./3.)); y=x*x; z=y*y;
s=1.+y*(1.+y*(1.+y*(2./3.+z*(-2./3.+y*(-7./9.+z*(11./9.+y*(130./91.)
) ) ) ) ) );
return s*x;}
z_type nembra(DB q){
if(fabs(q)<.021) return nembra0(q);
if(fabs(q) >20.) return nembrao(q);
z_type Q,v,V; Q=q*q; v=-1.-8.*Q+4.*sqrt(Q+4.*Q*Q); V=pow(v,1./3.); return (.25/q)*(-1.+1./V+V); }
int main(){ int m,n; z_type z,c,d,e; DB x,y,q,u,v;
DO(n,41){ q=-.04+.01*n; c=nembra0(q); d=nem(q,c); e=nem1(q,c);
printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );}
printf("\n");
DO(n,41){ q=.1*n; c=nembra(q); d=nem(q,c); e=nem1(q,c);
printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );}
printf("\n");
DO(n,41){ q=1.+1.*n; c=nembrao(q); d=nem(q,c); e=nem1(q,c);
printf("%6.3lf %9.5lf %8.5lf %9.5lf %8.5lf %19.15lf %18.15lf\n",q,Re(c),Im(c), Re(d),Im(d), Re(e),Im(e) );}
//FILE *o; o=fopen("08.eps","w"); ado(o,154,604);
FILE *o; o=fopen("nembraplo.eps","w"); ado(o,154,604);
fprintf(o,"2 2 translate 1000 1000 scale 2 setlinecap\n");
#define M(x,y) fprintf(o,"%8.6f %8.6f M\n",(0.+x),(0.+y));
#define L(x,y) fprintf(o,"%8.6f %8.6f L\n",(0.+x),(0.+y));
#define o(x,y) fprintf(o,"%8.6f %8.6f o\n",(0.+x),(0.+y));
for(n=0;n<61;n+=5){ M(0,.01*n) L(.15,.01*n) }
for(n=0;n<31;n+=5){ M(.01*n,0) L(.01*n,.6) }
fprintf(o,".0006 W S 1 setlinejoin\n");
fprintf(o,"1 0 0 RGB .001 W\n");
for(n= 1;n<10;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
for(n=11;n<20;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
for(n=21;n<30;n++){ q=.1*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
fprintf(o,"0 .5 0 RGB\n");
for(n= 1;n<20;n++){ q=1.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
fprintf(o,"0 0 1 RGB\n");
for(n= 1;n<10;n++){ q=10.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
fprintf(o,".5 0 .8 RGB\n");
for(n= 1;n<10;n++){ q=100.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
fprintf(o,"0 0 0 RGB\n");
for(n= 0;n<11;n+=10){ q=100.*n; c=nembra(q); x=Re(c); y=-Im(c); o(x,y); }
q=10000.; c=nembra(q); x=Re(c); y=-Im(c); o(x,y);
for(n= 0;n<400;n++){ q=-.006+.04*(n+.01*n*n+.001*n*n*n); c=nembra(q); x=Re(c); y=-Im(c); if(n==0) M(x,y) else L(x,y);
printf("%9.3lf %16.6lf %16.6lf\n",q,x,y);
}
L(0,0)
fprintf(o,"0 0 0 RGB .001 W 0 setlinecap S\n");
fprintf(o,"showpage\n%c%cTrailer\n",'%','%');
fclose(o);
system("epstopdf nembraplo.eps");
system("open nembraplo.pdf");
getchar();
return 0;}
Latex generator of labels
\documentclass[12pt]{article}
\usepackage{geometry}
\paperwidth 174pt
\paperheight 620pt
\topmargin -100pt
\oddsidemargin -72pt
\textheight 800px
\parindent 0pt
\usepackage{graphicx}
\usepackage{rotating}
\newcommand \ing {\includegraphics}
\newcommand \sx {\scalebox}
\begin{document}
\begin{picture}(170,610)
\put(20,14){\ing{nembraplo}}
\put(8,612){\sx{1.4}{$y$}}
\put(0,512){\sx{1.4}{$0.5$}}
\put(0,412){\sx{1.4}{$0.4$}}
\put(0,312){\sx{1.4}{$0.3$}}
\put(0,212){\sx{1.4}{$0.2$}}
\put(0,112){\sx{1.4}{$0.1$}}
\put(8,12){\sx{1.4}{$0$}}
\put(20,1){\sx{1.4}{$0$}}
\put(60,1){\sx{1.4}{$0.05$}}
\put(112,1){\sx{1.4}{$0.1$}}
\put(165,2){\sx{1.4}{$x$}}
%\put(18,601){\sx{1.1}{$q\!=\!0$}}
\put(0,583){\sx{1.1}{$q\!=\!0$}}
%\put(63,593){\sx{1.1}{$q\!=\!0.2$}}
\put(30,576){\sx{1.1}{$q\!=\!0.2$}}
%\put(97,574){\sx{1.1}{$q\!=\!0.4$}}
\put(62,558){\sx{1.1}{$q\!=\!0.4$}}
%\put(122,550){\sx{1.1}{$q\!=\!0.6$}}
\put(85,535){\sx{1.1}{$q\!=\!0.6$}}
%\put(137,528){\sx{1.1}{$q\!=\!0.8$}}
\put(100,514){\sx{1.1}{$q\!=\!0.8$}}
%\put(148,506){\sx{1.1}{$q\!=\!1$}}
\put(121,494){\sx{1.1}{$q\!=\!1$}}
\put(137,424){\sx{1.1}{$q\!=\!2$}}
\put(138,380){\sx{1.1}{$q\!=\!3$}}
\put(136,350){\sx{1.1}{$q\!=\!4$}}
\put(133,330){\sx{1.1}{$q\!=\!5$}}
\put(129,310){\sx{1.1}{$q\!=\!6$}}
\put(122,286){\sx{1.1}{$q\!=\!8$}}
\put(110,268){\sx{1.1}{$q\!=\!10$}}
\put( 90,214){\sx{1.1}{$q\!=\!20$}}
\put( 82,192){\sx{1.1}{$q\!=\!30$}}
\put( 88,127){\sx{1.1}{$q\!=\!100$}}
\put( 77,104){\sx{1.1}{$q\!=\!200$}}
\put( 54,63){\sx{1.1}{$q\!=\!1000$}}
\put( 39,36){\sx{1.1}{$q\!=\!10000$}}
\end{picture}
\end{document}
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 06:13, 1 December 2018 | 361 × 1,286 (77 KB) | Maintenance script (talk | contribs) | Importing image file |
You cannot overwrite this file.
File usage
The following 2 pages use this file: