Details
Hermite-Gaussian beams form a class of optical beams that generalize the Gaussian beam and have rectangular symmetry. These beams constitute an orthonormal basis of the vector space of all possible beam profiles.
ResourceFunction["HermiteGaussianBeam"] represents a Hermite-Gaussian field that propagates along the vertical z-axis and that is parametrized by its beam waist w0, Rayleigh range zR, horizontal mode number h and vertical mode number v. Both horizontal and vertical mode numbers are non-negative integers.
Properties can be accessed by calling ResourceFunction["HermiteGaussianBeam"]["Properties"]. All available profiles and computed parameters are listed in ResourceFunction["HermiteGaussianBeam"]["Profiles"] and ResourceFunction["HermiteGaussianBeam"]["Parameters"], respectively. The formatted summary of all properties can be retrieved by ResourceFunction["HermiteGaussianBeam"]["Summary"].
Available profiles include:
"Amplitude" | non-negative amplitude of electromagnetic beam |
"SignedAmplitude" | real amplitude that is negative iff Hermite polynomials are negative |
"ComplexAmplitude" | complex amplitude that includes both "Amplitude" and "Phase" |
"Intensity" | square of (real) amplitude |
"Phase" | phase of electromagnetic beam |
"SignedPhase" | phase that complements "SignedAmplitude" |
Available computed parameters include:
"BeamRadius" | beam radius at given longitudinal position |
"ComplexBeamParameter" | complex beam parameter |
"Curvature" | beam curvature |
"GouyPhase" | Gouy phase |
"RadiusOfCurvature" | radius of curvature |
"RayleighRange" | Rayleigh range |
The formula for a given computed parameter par is obtained by calling ResourceFunction["HermiteGaussianBeam"][par]. For instance, the explicit formula for the Gouy phase is retrieved by calling ResourceFunction["HermiteGaussianBeam"]["GouyPhase"].
A summary of all parameters and profiles in the form of
Dataset is returned by
ResourceFunction["HermiteGaussianBeam"]["Summary"].
Not all beam parameters are independent of each other. The canonical set of independent parameters is the beam waist
w0, Rayleigh range
zR, horizontal mode number
h, and vertical mode number
v, out of which all other properties can be calculated. The relation between
w0 and
zR reads
, where
k=2πn/λ is the beam’s wavenumber,
n is the refractive index of the propagation medium, and
λ is the beam’s wavelength. Instead of
w0 and
zR, one could thus choose any complete set of characteristics to specify the beam. For that reason, there are several ways of specifying a Hermite-Gaussian beam:
{w0,zR,h,v} | specific beam waist, Rayleigh range, and the two mode numbers |
"Normalized" | equivalent to w0=1,zR=1,h=1, and v=0 |
<|k1→v1,k2→v2,…|> | Association with a set of independent parameters given as key-value pairs, for details see below |
When the parameters are specified as an
Association, the following named keys are supported:
"BeamWaist" | beam waist |
"RayleighRange" | Rayleigh range |
"Wavenumber" | wavenumber k=2πn/λ |
"Wavelength" | wavelength λ |
"RefractiveIndex" | refractive index n |
"HorizontalMode" | horizontal mode number h |
"VerticalMode" | vertical mode number v |
Shortened keys are also supported for convenience:
"w0" | beam waist |
"zR" | Rayleigh range |
"k" | wavenumber k=2πn/λ |
"λ" | wavelength λ |
"n" | refractive index n |
"h" | horizontal mode number h |
"v" | vertical mode number v |
Full and shortened keys can be used together in a single
Association, but a given parameter can be specified only once.
There are two possibilities for an independent set of parameters: either 1) exactly two of w0, zR and k are given together with both h and v; or 2) exactly one of w0 and zR together with all λ, n, h and v are given.
The input parameters can be specified in the following formats:
x | symbolic variable |
0.325 | numeric value |
Quantity[x,unit] | symbolic or numeric value with unit |
QuantityVariable[x,unit] | named physical quantity with unit |
Two coordinate systems are supported, which can be specified in the second argument:
"Cartesian" | Cartesian coordinates {x,y,z} (default) |
"Cylindrical" | cylindrical coordinates {r,ϕ,z} |
The Hermite-Gaussian beam formula depends explicitly on several computed parameters such as beam radius and radius of curvature. These are by default automatically expanded into their functional representation. One can suppress this expansion by setting the third argument to
False. This turns the parameters into
QuantityVariable objects and the beam formula is thus returned in its higher-level form. Such a form might be beneficial when rendering the formula in some text or for reference purposes.