File:Jacobi Elliptic Functions (on Jacobi Hyperbola).svg

Original file (SVG file, nominally 1,210 × 691 pixels, file size: 77 KB)

Summary

Description
English: Plot of the Jacobi hyperbola (x2+y2/b2=1, b imaginary) and the twelve Jacobi Elliptic functions pq(u|m) for particular values of angle φ and parameter b. The solid curve is the hyperbola, with m=1-1/(b2) and u=F(φ,m) where F(.|.) is the elliptic integral of the first kind. The dotted curve is the unit circle. For the ds-dc triangle, σ= Sin(φ)Cos(φ).
Date
Source Own work
Author PAR
SVG development
InfoField
 
The SVG code is valid.
 
This trigonometry was created with Mathematica.
 
The file size of this SVG trigonometry may be irrationally large because its text has been converted to paths inhibiting translations.

Mathematica Code

This code is also used https://commons.wikimedia.org/w/File:Jacobi_Elliptic_Functions_(on_Jacobi_Ellipse).svg, but with different input parameters, found at the top of the code. (To copy the code, edit, select and copy)

$Assumptions={True};

(* The parameters *) b=0.7  ;\[Phi]=Chop[JacobiAmplitude[0.60,1-1/b^2]]; (* The Jacobi Ellipse Plot *) b=0.7 I ;\[Phi]=Chop[JacobiAmplitude[0.55,1-1/b^2]]; (* The Jacobi Hyperbola Plot *) m=1-1/b^2; u = Chop[N[u = EllipticF[\[Phi], m]]];


(* The Jacobi Elliptical functions *) sc=Chop[JacobiSC[u,m]]; sn=Chop[JacobiSN[u,m]]; sd=Chop[JacobiSD[u,m]]; cs=Chop[JacobiCS[u,m]]; cn=Chop[JacobiCN[u,m]]; cd=Chop[JacobiCD[u,m]]; ns=Chop[JacobiNS[u,m]]; nc=Chop[JacobiNC[u,m]]; nd=Chop[JacobiND[u,m]]; ds=Chop[JacobiDS[u,m]]; dc=Chop[JacobiDC[u,m]]; dn=Chop[JacobiDN[u,m]];

(* Plotting functions *) Clear[plot$hline,plot$vline,plot$rline] fontsize=18; plot$hline[start_,length_,color_,label_]:=Module[{v,labelpos}, (* Plot a horizontal line with arrowhead and label *) v={{start,0},{start+length,0}}; labelpos=v2+{0,-0.0035}fontsize; Graphics[{Arrowheads[0.04],color,Arrow[v],Inset[Style[label,FontSize->fontsize],labelpos]}] ] plot$vline[start_,length_,color_,label_]:=Module[{v,labelpos},(* Plot a vertical line with label *) v={{start,0},{start,length}}; labelpos=Mean[v]+{0.0025 ,0}fontsize; Graphics[{color,Line[v],Inset[Style[label,FontSize->fontsize],labelpos]}] ] plot$rline[start_,length_,x_,y_,color_,label_]:=Module[{v,r,labelpos}, (* Plot a radial line with arrowhead and label *) r=Sqrt[x^2+y^2]; v={{0,0},{x/r,y/r}length}; (* Dont assume x^2+y^2=length^2, use x/r and y/r as cosine and sine *) labelpos=v2+{-0.004 ,0.0008}fontsize; Graphics[{Arrowheads[0.04],color,Arrow[v],Inset[Style[label,FontSize->fontsize],labelpos]}] ]

(* Plots *)

(* The angle \[Phi] *) r\[Phi]=0.2; Plot\[Phi]=Plot[Sqrt[(r\[Phi]^2-x^2)],{x,r\[Phi] Cos[\[Phi]],r\[Phi]},PlotStyle->{Black},Background->RGBColor[1,1,1,.5]]; (* angle \[Phi] *) \[Phi]pos=(r\[Phi]+0.0033 fontsize){Cos[\[Phi]/2],Sin[\[Phi]/2]}; Plot\[Phi]={Plot\[Phi],Graphics[Text[Style["\[Phi]",FontSize->fontsize],\[Phi]pos]]};

(* The Jacobi curve and the unit circle and the y=1 line *) PlotC=Plot[Sqrt[(1-x^2)],{x,0,1},PlotStyle->{Black,Dotted},Background->RGBColor[1,1,1,.5]]; (* Circle *) PlotJ1=Plot[Sqrt[b^2(1-x^2)],{x,0,Cot[\[Phi]]},PlotStyle->{Black,Thickness[0.007]},Background->None]; (* Ellipse or hyperbola *) PlotJ2=Plot[Sqrt[b^2(1-x^2)],{x,Min[{1,cd}],Max[{1,cd}]},PlotStyle->{Red,Thickness[0.007]},Background->None]; (* Ellipse or hyperbola swept by \[Phi] *) PlotTop=ListPlot[{{0,0},{0,1},{cs,1}},Joined->True,PlotStyle->{Black,Dotted}]; (* Top y=1 dotted line *)

(* The triangles - Just to be sure, it's not assumed that their origin angle is \[Phi] *)

(* cd, sd, nd triangle *) t1={ plot$hline[00,cd,Red,"cd"], plot$vline[cd,sd,Red,"sd"], plot$rline[00,nd,cd,sd,Red,"nd"]};

(* cn, sn, 1 triangle *) t2={ plot$hline[00,cn,Green,"cn"], plot$vline[cn,sn,Green,"sn"], plot$rline[00,01,cn,sn,Green,"1"]};

(* 1,sc,nc triangle *) t3={ plot$hline[00,01,Blue,"1"], plot$vline[01,sc,Blue,"sc"], plot$rline[00,nc,1,sc,Blue,"nc"]};

(* cs,1,ns triangle *) t4={ plot$hline[00,cs,Cyan,"cs"], plot$vline[cs,01,Cyan,"1"], plot$rline[00,ns,cs,1,Cyan,"ns"]};

(* ds, dc, dn/\[Sigma] triangle *) \[Sigma]=Sin[\[Phi]]Cos[\[Phi]]; t5={ plot$hline[00,ds ,Black,"ds"], plot$vline[ds ,dc ,Black,"dc"], plot$rline[00,dn/\[Sigma] ,ds,dc,Black,"dn/\[Sigma]"]};

(* The Legend *) s1=Text[Style["b = "ToString[TraditionalForm[N[b]]],FontSize->fontsize]]; s2=Text[Style["m = "<>ToString[TraditionalForm[Chop[N[m]]]],FontSize->fontsize]]; s3=Text[Style["\[Phi] = "<>ToString[TraditionalForm[N[\[Phi]]]],FontSize->fontsize]]; s4=Text[Style["u = "<>ToString[TraditionalForm[Chop[N[u]]]],FontSize->fontsize,Red]]; tg=TextGrid[{{s1},{s2},{s3},{s4}}];

(* Combine plots and display *) Show[Flatten[{PlotC,Plot\[Phi],PlotJ1,PlotJ2,PlotTop,t5,t4,t3,t2,t1}],PlotRange->All,AspectRatio->Automatic,PlotLabel->Text[Style["Jacobi Elliptic Functions",FontSize->fontsize]],Epilog->Inset[tg,{.27,.45}]]

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

18 December 2017

File history

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

Date/TimeThumbnailDimensionsUserComment
current11:16, 25 January 2018Thumbnail for version as of 11:16, 25 January 20181,210 × 691 (77 KB)PARChange red u and arc length to black, add e.g. ss=1 for unit lengths.
16:59, 18 December 2017Thumbnail for version as of 16:59, 18 December 2017929 × 641 (83 KB)PARUser created page with UploadWizard

The following page uses this file:

Metadata