File:SimudoyaTb.png

From TORI
Revision as of 08:51, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(3,388 × 1,744 pixels, file size: 537 KB, MIME type: image/png)

Recovery of superfunction of the transfer function $T=\,$Doya$_1$ by the Regular iteration method.

$T$ can be expressed also through the LambertW function:

$T(z)=\mathrm{Doya}_1(z)=\mathrm{LambertW}\Big( z~ \mathrm{e}^{z+1} \Big)$

$T$ can be interpreted as a transfer function of the idealized laser amplifier; its superfunction $F$ describes the evolution of the normalized intensity along the direction of amplification.

Brown curve and the red curve represent the primary approximation of $F$ with one term and with two terms of the asymptotic expansion, respectively.

Green, cyan, blue and magenta represent the First, Second, Third and Fourth iteration of the approximation with 2 terms; the curves of corresponding dark colors represent the regular iterations of the primary approximation with single term.

For this example of the transfer function, the analytic representation of the superfunction $F~$ through the Tania function exist:

$F(x)=\mathrm{Tania}(x\!-\!1)=\mathrm{LambertW}(\exp(x))$

This superfunction is plotted with black curve.

The primary approximations show good agreement while argument $x\!<\!-2$; for larger values of x, transfer function $T$ should be iterated, roughtly, $n=x\!+\!2$ times, misplacing the argument for $n$; id est,

$F(x)\approx T^n( \tilde F (x\!-\!n))$

where $\tilde F$ is one of the primary approximations.

C++ generator of curves

// FIles ado.cin and doya.cin should be loaded to the current directory in order to compile the C++ 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.)
DB ArcTania(DB x){ return x+log(x)-1.;}
#include "ado.cin"
#include "doya.cin"
#define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y);
#define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y);
main(){ int j,k,m,n; DB x,y,t,e, a; z_type z;
FILE *o;o=fopen("simudoya.eps","w");ado(o,808,408);
fprintf(o,"404 4 translate\n 100 100 scale\n");
for(m=-4;m<5;m++){ M(m,0)L(m,4)}
for(n=0;n<5;n++){ M(-4,n)L(4,n)}
fprintf(o,"2 setlinecap\n");
fprintf(o,".006 W 0 0 0 RGB S\n");
fprintf(o,"1 setlinejoin 1 setlinecap\n");
// for(n=0;n<380;n++){y=.02+.01*n; x=ArcTania(y); if(n==0)M(x,y) else L(x,y)} fprintf(o,".03 W 0 1 0 RGB S\n");
for(n=0;n<82;n++){x=-4.05+.1*n;z=x;y=Re(Tania(z)); if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 0 0 RGB S\n");
//
for(n=0;n<45;n++){x=-4+.1*n;e=exp(x+1.); y=e;                       ; if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W .4 0 0 RGB S\n");
for(n=0;n<70;n++){x=-4+.04*n;e=exp(x+1.); y=e*(1.-e);                ; if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 1 0 0 RGB S\n");
//
for(n=0;n<53;n++){x=-4+.1*n;e=exp(x+0.); y=e       ; y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 .4 0 RGB S\n");
for(n=0;n<190;n++){x=-4+.02*n;e=exp(x+0.); y=e*(1.-e); y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 1 0 RGB S\n");
//
for(n=0;n<61;n++){x=-4+.1*n;e=exp(x-1.); y=e       ;DO(m,2)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 .4 0.4 RGB S\n");
for(n=0;n<240;n++){x=-4+.02*n;e=exp(x-1.); y=e*(1.-e);DO(m,2)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 1 1 RGB S\n");
//
for(n=0;n<67;n++){x=-4+.1*n;e=exp(x-2.); y=e       ;DO(m,3)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 0 0.4 RGB S\n");
for(n=0;n<288;n++){x=-4+.02*n;e=exp(x-2.); y=e*(1.-e);DO(m,3)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 0 0 1 RGB S\n");
//
for(n=0;n<73;n++){x=-4+.1*n;e=exp(x-3.); y=e       ;DO(m,4)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W .4 0 0.4 RGB S\n");
for(n=0;n<340;n++){x=-4+.02*n;e=exp(x-3.); y=e*(1.-e);DO(m,4)y=Re(Doya(1.,y));if(n==0)M(x,y) else L(x,y)} fprintf(o,".01 W 1 0 1 RGB S\n");
//
fprintf(o,"showpage\n%cTrailer",'%'); fclose(o);
       system("epstopdf simudoya.eps");
       system(    "open simudoya.pdf"); //these 2 commands may be specific for macintosh
getchar(); system("killall Preview");// if run at another operational sysetm, may need to modify
}

Latex generator of labels

FIle simudoya.pdf should be generated with the code above in order to compile the Latex document below.

% <br> \documentclass[12pt]{article} %<br> \usepackage{geometry} %<br> \usepackage{graphicx} %<br> \usepackage{hyperref} %<br> \usepackage{rotating} %<br> \paperwidth 1632pt %<br> \paperheight 840pt %<br> \topmargin -102pt %<br> \oddsidemargin -58pt %<br> \textwidth 1825pt %<br> \textheight 1470pt %<br> \newcommand \sx {\scalebox} %<br> \newcommand \ing {\includegraphics} %<br> \newcommand \tet {\mathrm{tet}} %<br> \newcommand \pen {\mathrm{pen}} %<br> \newcommand \bC {\mathbb C} %<br> \newcommand \fac {\mathrm {Factorial}} %<br> \newcommand \rme {\mathrm e} %<br> \newcommand \rmi {\mathrm i} %<br> \newcommand \ds {\displaystyle} %<br> \newcommand \rot {\begin{rotate}} %<br> \newcommand \ero {\end{rotate}} %<br> \pagestyle{empty} %<br> \begin{document} %<br> \parindent 0pt %<br> \sx{2}{\begin{picture}(600,404) %<br> \put(0,0){\ing{simudoya}} %<br> \put(-7,300){\sx{1.7}{$3$}} %<br> \put(-7,200){\sx{1.7}{$2$}} %<br> \put(-7,100){\sx{1.7}{$1$}} %<br> \put(90,-11){\sx{1.7}{$-2$}} %<br> \put(190,-11){\sx{1.7}{$-1$}} %<br> \put(301,-11){\sx{1.7}{$0$}} %<br> \put(401,-11){\sx{1.7}{$1$}} %<br> \put(501,-11){\sx{1.7}{$2$}} %<br> \put(601,-11){\sx{1.7}{$3$}} %<br> \put(701,-11){\sx{1.7}{$4$}} %<br> \put(798,-11){\sx{1.7}{$x$}} %<br> \put(366,206){\rot{65}\sx{2}{$\exp(x)$}\ero} %<br> \put(436,206){\rot{66}\sx{2}{$T(\exp(x\!-\!1))$}\ero} %<br> \put(530,266){\rot{66}\sx{2}{$T^2(\exp(x\!-\!2))$}\ero} %<br> \put(580,266){\rot{60}\sx{2}{$T^3(\exp(x\!-\!3))$}\ero} %<br> \put(620,266){\rot{55}\sx{2}{$T^4(\exp(x\!-\!4))$}\ero} %<br> \put(733,322){\rot{41}\sx{2.1}{$F(x)$}\ero} %<br> \put(548,170){\sx{1.7}{$T^4(\exp(x\!-\!4)\!-\!\exp(2(x\!-\!4)))$}} %<br> \put(508,116){\sx{1.7}{$T^3(\exp(x\!-\!3)-\exp(2(x\!-\!3)))$}} %<br> \put(418,64){\sx{1.7}{$T^2(\exp(x\!-\!2)-\exp(2(x\!-\!2)))$}} %<br> \put(280,35){\sx{1.7}{$T(\exp(x-1)-\exp(2(x\!-\!1)))$}} %<br> \put(160,11){\sx{1.7}{$\exp(x)-\exp(2x))$}} %<br> \end{picture}} %<br> \end{document} %<br> % %

File history

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

Date/TimeThumbnailDimensionsUserComment
current17:50, 20 June 2013Thumbnail for version as of 17:50, 20 June 20133,388 × 1,744 (537 KB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata