You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
%% DESCRIPTION OF THE SCRIPT
% FAST PETIVASHVILI-HANKEL METHOD for computing votex solitons to the GNLSE
% The following script is used to generate vortex solitons using a modified
% Petviashvilli method and then propagate them in the medium of choice. The
% method of obtaining the vortex soliton is carried out by the reduction of
% the Fourier Transform to a Hankel Transform. The calculation of the
% Hankel Transform is done using Chebyshev Spectral methods and the
% Clenshaw-Curtis quadrature. A more detailed description of the method will
% soon be made available.
% The present script is divided into 4 section, each section contains a
% description of the code that follows.
% This script uses 2 functions that are not built-in with MATLAB, namely,
% SpectralKit.m and ChebConv.m.
% SpectralKit.m is function that efficiently generates the Chebyshev
% sampling points, the derivative matrix corresponding to these points and
% the Clecshaw-Curtis cuadrature coefficients.
% ChebConv.m is a function that interpolates for a function evaluated on
% the Chebyshev sampling points to any arbitrary points within the domain.
% Each section produces a different output and we recommend that the user
% run the codes of each section individually using CTRL+SHIFT+ENTER.
% Details of the code shall be found
% in the manuscript:
% "Fast Petviashvili-Hankel method for vortex solitons in the generalized
% nonlinear Schrödinger equation" by Rohan Ramesh and Servando
% Lopez-Aguayo. (Currently submitted for review to Journal of Optics).
Cite As
Servando Lopez (2026). FAST PETIVASHVILI-HANKEL METHOD (https://se.mathworks.com/matlabcentral/fileexchange/72216-fast-petivashvili-hankel-method), MATLAB Central File Exchange. Retrieved .
.
General Information
- Version 1.1 (5.05 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
