Difference between revisions of "File:Nembraplot.jpg"

From TORI
Jump to navigation Jump to search
(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/TimeThumbnailDimensionsUserComment
current06:13, 1 December 2018Thumbnail for version as of 06:13, 1 December 2018361 × 1,286 (77 KB)Maintenance script (talk | contribs)Importing image file

The following 2 pages use this file:

Metadata