Details
Laguerre-Gaussian beams form a class of optical beams that generalize the Gaussian beam, exhibit cylindrical symmetry and have helical wavefronts. These beams have interesting properties such as quantized orbital angular momentum and applications e.g. in transmission of classical and quantum information. These beams constitute an orthonormal basis of the vector space of all possible beam profiles.
ResourceFunction["LaguerreGaussianBeam"] represents a Laguerre-Gaussian field that propagates along the vertical z-axis and that is parametrized by its beam waist w0, Rayleigh range zR, azimuthal mode number l and radial mode number p. The azimuthal mode number is an integer that can take on also negative values, whereas the radial mode number is a non-negative integer. Laguerre-Gaussian modes represent optical vortices, where the topological charge of the vortex is equal to the corresponding azimuthal mode number. The use of letters l and p for the two mode numbers is a standard convention.
Properties can be accessed by calling
ResourceFunction["LaguerreGaussianBeam"]["Properties"]. All available profiles and computed parameters are listed in
ResourceFunction["LaguerreGaussianBeam"]["Profiles"] and
ResourceFunction["LaguerreGaussianBeam"]["Parameters"], respectively. The formatted summary of all properties can be retrieved by
ResourceFunction["LaguerreGaussianBeam"]["Summary"].
Available "Profiles" include:
"Amplitude" | non-negative amplitude of electromagnetic beam |
"SignedAmplitude" | real amplitude that is negative iff Laguerre 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 "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["LaguerreGaussianBeam"][par]. For instance, the explicit formula for the Gouy phase is retrieved by calling ResourceFunction["LaguerreGaussianBeam"]["GouyPhase"].
Summary of all properties is returned by
ResourceFunction["LaguerreGaussianBeam"]["Summary"] in the form of
Dataset.
Not all beam parameters are independent of each other. The canonical set of independent parameters is the beam waist
w0, Rayleigh range
zR, azimuthal mode number
l and polar mode number
p, 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 and where further
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 these characteristics to specify the beam. For that reason, there are several ways of specifying a Laguerre-Gaussian beam:
{w0,zR,l,p} | specific beam waist, Rayleigh range, and the two mode numbers |
"Normalized" | equivalent to w0=1,zR=1,l=1, and p=0 |
<|k1→v1,k2→v2,…|> | Association with a set of independent parameters given as key-value pairs |
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 |
"AzimuthalMode" | azimuthal mode number l (also referred to as topological charge) |
"RadialMode" | radial mode number p |
There are also short keys supported for convenience:
"w0" | beam waist |
"zR" | Rayleigh range |
"k" | wavenumber k=2πn/λ |
"λ" | wavelength λ |
"n" | refractive index n |
"l" | azimuthal mode number l |
"p" | radial mode number p |
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: 1) exactly two of w0, zR, and k are given together with both ℓ and p. 2) exactly one of w0 and zR together with all λ, n, ℓ, and p are given.
The input parameters can be specified in the following formats:
v | symbolic variable |
0.325 | numeric value |
Quantity[v,unit] | symbolic or numeric value with unit |
QuantityVariable[v,unit] | named physical quantity with unit |
Two coordinate systems are supported which can be specified with a second argument:
"Cartesian" | Cartesian coordinates {x,y,z} (default) |
"Cylindrical" | cylindrical coordinates {r,ϕ,z} |
The Laguerre-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.