File:Hermiten6map.jpg

From TORI
Revision as of 08:37, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Original file(1,307 × 880 pixels, file size: 630 KB, MIME type: image/jpeg)

Complex map of the normalised Hermite polynomial number 6:

$u\!+\!\mathrm i v= h_6(x\!+\!\mathrm i y)$

in the $x$, $y$ plane;

$\displaystyle h_n(z)= \frac{ H_n(z)} {\sqrt{N_n}}= \frac{ \mathrm{HermiteH}[n,z]} {\sqrt{N_n}}$

$\displaystyle N_n=\int_{-\infty}^{\infty} H_n(x)^2 \exp(-x^2)\, \mathrm dx = 2^n\, n! \, \sqrt{\pi}$

C++ generator of curves

Files hermiteneve.txt, hermitenodd.txt, ado.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++)
#include <complex>
typedef std::complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "conto.cin"

DB HermiteH0[41][41]= // COEFFICIENTS OF EVEN normalized HERMITEH
#include"hermiteneve.txt"
;
DB HermiteH1[41][41]= // COEFFICIENTS OF ODD normalized HERMITEH
#include"hermitenodd.txt"
;

z_type hermiten(int n, z_type x){ int m,M; z_type s, xx;
if(n==0) return 1.; if(n==1) return x+x;
if(n>81) {printf("hermite number %2d is not yet implemented (max. is 81)\n consider to stop..",n); getchar(); return 0;}
xx=x*x; //printf("Herniten called with n=%3d x=%8.2lf\n",n,x);
if(n/2*2==n){M=n/2; s=0.;for(m=M;m>0;m--) {s+=HermiteH0[M][m]; s*=xx;}
                                      return (HermiteH0[M][0]+s);}
  else{ M=(n-1)/2; s=0.; for(m=M;m>0;m--) {s+=HermiteH1[M][m]; s*=xx;}
                                      return (HermiteH1[M][0]+s)*x;}
}

int main(){ int j,k,m,n; DB x,y, p,q, t,r; z_type z,c,d;
int M=301,M1=M+1;
int N=201,N1=N+1;
DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array.
char v[M1*N1]; // v is working array
FILE *o;o=fopen("hermiten6ma.eps","w");ado(o,604,404);
fprintf(o,"302 202 translate\n 100 100 scale 2 setlinecap\n");
DO(m,M1) {X[m]=-3.+.02*(m-.5);}
DO(n,N1) {Y[n]=-2.+.02*(n-.5);}
for(m=-3;m<4;m++){M(m,-2)L(m,2)}
for(n=-2;n<3;n++){M( -3,n)L(3,n)}
fprintf(o,".008 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]; //printf("%5.2f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y);
c=hermiten(6,z);
p=Re(c);q=Im(c);
if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p; f[m*N1+n]=q;}
       }}
fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=300.;q=3.;
for(m=-4;m<4;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".005 W 0 .6 0 RGB S\n");
for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".005 W .9 0 0 RGB S\n");
for(m=0;m<4;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".005 W 0 0 .9 RGB S\n");
for(m=1;m<9;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".012 W .9 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,".012 W 0 0 .9 RGB S\n");
                  conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".012 W .6 0 .6 RGB S\n");
for(m=-8;m<9;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".012 W 0 0 0 RGB S\n");

fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
      system("epstopdf hermiten6ma.eps");
      system( "open hermiten6ma.pdf");
}

Latex generator of labels


\documentclass[12pt]{article}
\usepackage{geometry}
\paperwidth 630pt
\paperheight 424pt
\topmargin -104pt
\oddsidemargin -68pt
\pagestyle{empty}
\usepackage{graphicx}
\usepackage{rotating}
\parindent 0pt
\textwidth 700px
\textheight 900px
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\begin{document}
\begin{picture}(614,410)
\put(20,10){\includegraphics{hermiten6ma}}
%\put(20,10){\includegraphics{hermiten6draft}}
\put(4,404){\sx{2}{$y$}}
\put(4,305){\sx{2}{$1$}}
\put(4,205){\sx{2}{$0$}}
\put(-10,105){\sx{2}{$-1$}}
\put(-11,6){\sx{2}{$-2$}}
\put( 0,-8){\sx{2}{$-3$}}
\put(100,-8){\sx{2}{$-2$}}
\put(200,-8){\sx{2}{$-1$}}
\put(318,-8){\sx{2}{$0$}}
\put(418,-8){\sx{2}{$1$}}
\put(518,-8){\sx{2}{$2$}}
\put(612,-8){\sx{2}{$x$}}

\put(231,192){\sx{1.5}{\rot{90}$v\!=\!0$\ero}}
\put(284,190){\sx{1.5}{\rot{90}$u\!=\!0$\ero}}
\put(328,218){\sx{1.5}{\rot{90}$v\!=\!0$\ero}}
\put(310,208){\sx{1.5}{\rot{0}$v\!=\!0$\ero}}
\put(372,190){\sx{1.5}{\rot{90}$u\!=\!0$\ero}}
\put(394,186){\sx{1.5}{\rot{89}$u\!=\!0.4$\ero}}
\put(425,194){\sx{1.5}{\rot{90}$v\!=\!0$\ero}}
\put(463,194){\sx{1.5}{\rot{90}$u\!=\!0$\ero}}
%
\put(394,146){\sx{1.5}{\rot{59}$u\!=\!1$\ero}}
\put(400,134){\sx{1.5}{\rot{40}$u\!=\!2$\ero}}

\put(238,154){\sx{1.5}{\rot{24}$v\!=\!1$\ero}}%
\put(238,136){\sx{1.5}{\rot{19}$v\!=\!2$\ero}}
\put(238,124){\sx{1.5}{\rot{14}$v\!=\!3$\ero}}%

\put(284,138){\sx{1.5}{\rot{37}$u\!=\!-1$\ero}}%%
\put(284,122){\sx{1.5}{\rot{25}$u\!=\!-2$\ero}}
\put(286,112){\sx{1.5}{\rot{20}$u\!=\!-3$\ero}}%%
%
\put(337,138){\sx{1.5}{\rot{39}$v\!=\!-1$\ero}}
\put(346,126){\sx{1.5}{\rot{30}$v\!=\!-2$\ero}}
\put(346,112){\sx{1.5}{\rot{26}$v\!=\!-3$\ero}}

\put(580,316){\sx{1.5}{\rot{34}$v\!=\!-8$\ero}}
\put(595,301){\sx{1.5}{\rot{37}$v\!=\!8$\ero}}
%
\put(580,258){\sx{1.5}{\rot{18}$u\!=\!-8$\ero}}
\put(598,229){\sx{1.5}{\rot{35}$u\!=\!8$\ero}}

\end{picture}
\end{document}

References

File history

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

Date/TimeThumbnailDimensionsUserComment
current06:12, 1 December 2018Thumbnail for version as of 06:12, 1 December 20181,307 × 880 (630 KB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

The following page links to this file:

Metadata