Difference between revisions of "File:Hermiten6map.jpg"
(Importing image file) |
|||
Line 1: | Line 1: | ||
+ | [[Complex map]] of the normalised [[Hermite polynomial]] number 6: |
||
− | Importing image file |
||
+ | |||
+ | $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 |
||
+ | <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++) |
||
+ | #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"); |
||
+ | } |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | ==[[Latex]] generator of labels== |
||
+ | |||
+ | <poem><nomathjax><nowiki> |
||
+ | \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} |
||
+ | </nowiki></nomathjax></poem> |
||
+ | |||
+ | ==References== |
||
+ | <references/> |
||
+ | |||
+ | [[Category:Complex map]] |
||
+ | [[Category:Hermite polynomial]] |
||
+ | [[Category:Hermite Gauss mode]] |
Latest revision as of 08:37, 1 December 2018
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/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 06:12, 1 December 2018 | 1,307 × 880 (630 KB) | Maintenance script (talk | contribs) | Importing image file |
You cannot overwrite this file.
File usage
The following page uses this file: