pith. sign in

arxiv: 1906.09964 · v1 · pith:TK7YEBO5new · submitted 2019-06-20 · 💻 cs.MS · cs.NA· math.NA

SPSMAT: GNU Octave software package for spectral and pseudospectral methods

Pith reviewed 2026-05-25 18:46 UTC · model grok-4.3

classification 💻 cs.MS cs.NAmath.NA
keywords SPSMATspectral methodspseudospectral methodsGNU Octavedifferential equationsintegral equationsfractional differential equationsscientific computing
0
0 comments X

The pith

SPSMAT is a GNU Octave package that implements spectral and pseudospectral methods to solve differential and integral equations.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper presents SPSMAT as an add-on package for GNU Octave designed to solve nonfractional and fractional ordinary, partial differential, and integral equations using spectral or pseudospectral algorithms. It aims to fill the gap in accessible software for these methods, noting that MATLAB lacks free beneficial numerical methods for differential equations. The description serves as guidance for using the open source toolbox in scientific computing applications.

Core claim

SPSMAT (Spectral/Pseudospectral matrix method) is an add-on for Octave that helps solve nonfractional-/fractional ordinary/partial differential/integral equations by implementing well-defined spectral or pseudospectral algorithms, motivated by the limited availability of easy-to-use software packages for practitioners in scientific computing.

What carries the argument

The SPSMAT toolbox, which applies matrix-based spectral and pseudospectral methods to differential and integral equations.

If this is right

  • Practitioners can use the package to apply spectral methods to fractional differential equations in a free software environment.
  • The toolbox enables solutions to ordinary, partial differential, and integral equations without requiring users to code the algorithms themselves.
  • It provides a practical alternative for users who prefer GNU Octave over commercial options.
  • The open source nature allows for community use and potential extensions in scientific computing.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • The package might reduce the barrier for researchers working on fractional calculus problems by offering ready implementations.
  • Users may need to verify the accuracy of solutions for their specific problems since detailed validation is not provided in the paper.
  • It could inspire similar packages for other computational platforms or methods.

Load-bearing premise

The package correctly implements the spectral and pseudospectral algorithms as described without requiring users to debug or validate the code.

What would settle it

Comparing the numerical results from SPSMAT on standard test problems, such as a fractional differential equation with known exact solution, against the analytical answer would confirm or refute the correctness of the implementations.

Figures

Figures reproduced from arXiv: 1906.09964 by Mehdi Delkhosh, Sobhan Latifi.

Figure 1
Figure 1. Figure 1: Gegenbauer Gauss Lobatto points Setting v1 = [s1(x1), ..., s1(xN−1)]T , v2 = [s2(x1), ..., s2(xN−1)]T , m1 = [1, 1, . . . , 1]T − θv1, m2 = θv2, mˆ1 = [1, 1, . . . , 1]T − (1 − θ)v1, mˆ2 = (1 − θ)v2, and considering Eq. (5), by using Gegenbauer Gauss Lobatto points, we will get a matrix form as A n+1C n+1 = b n (6) in which An+1 is the coefficient matrix and C n+1 is the unknown vector. By implementing bou… view at source ↗
Figure 2
Figure 2. Figure 2: Piece of code for obtaining A1 . . . A5 [PITH_FULL_IMAGE:figures/full_fig_p007_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: Solving ACn+1 = b n at different time steps. Also applying initial condition y 0 = x 2 leads to C 0 = [x 2 0 , x2 1 ..., x2 N ] [PITH_FULL_IMAGE:figures/full_fig_p007_3.png] view at source ↗
Figure 4
Figure 4. Figure 4: Initial condition [PITH_FULL_IMAGE:figures/full_fig_p007_4.png] view at source ↗
Figure 5
Figure 5. Figure 5: Error illustration.θ = 0.5,α = 0.5, N = 7. The result of solving the system in Eq. (6) with SPSMAT is depicted in [PITH_FULL_IMAGE:figures/full_fig_p008_5.png] view at source ↗
read the original abstract

SPSMAT (Spectral/Pseudospectral matrix method) is an add-on for Octave, that helps you solve nonfractional-/fractional ordinary/partial differential/integral equations. In this version, as the first version, the well-defined spectral or pseudospectral algorithms are considered to solve differential and integral equations. The motivation is that there are few software packages available that make such methods easy to use for practitioners in the field of scientific computing. Additionally, one of the most practical platforms in computation, MATLAB, is currently not supporting beneficial and free numerical method for the solution of differential equations--to the best author's knowledge. To remedy this situation, this paper provides a description of its relevant uploaded open source software package and is a broad guidance to describe how to work with this toolbox.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

1 major / 0 minor

Summary. The manuscript describes SPSMAT, an open-source GNU Octave add-on package implementing spectral and pseudospectral matrix methods for non-fractional and fractional ordinary, partial differential, and integral equations. It positions the package as a practical alternative to MATLAB for these methods and supplies high-level usage guidance.

Significance. If the delivered code faithfully reproduces the cited algorithms (e.g., Chebyshev tau, Legendre collocation, fractional differentiation matrices) and attains the expected convergence rates, the package would fill a documented gap in freely available, easy-to-use spectral-method software for Octave users. The open-source release itself is a positive contribution.

major comments (1)
  1. [Abstract and entire manuscript] The central claim that SPSMAT supplies working Octave implementations of the referenced spectral/pseudospectral schemes cannot be assessed because the manuscript contains no manufactured-solution tests, convergence tables, error plots, or comparison against published reference solutions. This absence is load-bearing for any assertion of correctness.

Simulated Author's Rebuttal

1 responses · 0 unresolved

We thank the referee for the detailed review and the recommendation for major revision. The single major comment is addressed point-by-point below.

read point-by-point responses
  1. Referee: [Abstract and entire manuscript] The central claim that SPSMAT supplies working Octave implementations of the referenced spectral/pseudospectral schemes cannot be assessed because the manuscript contains no manufactured-solution tests, convergence tables, error plots, or comparison against published reference solutions. This absence is load-bearing for any assertion of correctness.

    Authors: We agree that the manuscript, as currently written, is primarily a software description and usage guide and does not contain the numerical verification material needed to substantiate the claim that the implementations are correct and attain expected convergence rates. In the revised manuscript we will add a dedicated verification section that includes manufactured-solution tests, convergence tables, and error plots for representative methods (Chebyshev tau, Legendre collocation, and fractional differentiation matrices), together with direct comparisons against published reference solutions where available. revision: yes

Circularity Check

0 steps flagged

No circularity; purely descriptive software paper with no derivations or predictions

full rationale

The manuscript is a high-level description of an Octave toolbox implementing standard spectral/pseudospectral algorithms for DEs/IEs. It contains no mathematical derivations, fitted parameters, predictions, uniqueness theorems, or ansatzes. No load-bearing steps exist that could reduce to self-definition, self-citation, or renaming of results. The central claim is simply that the uploaded code provides the referenced methods; correctness is an implementation issue outside the scope of circularity analysis.

Axiom & Free-Parameter Ledger

0 free parameters · 0 axioms · 0 invented entities

The paper introduces no free parameters, axioms, or invented entities; it is a description of software packaging existing numerical techniques.

pith-pipeline@v0.9.0 · 5670 in / 978 out tokens · 35766 ms · 2026-05-25T18:46:41.912137+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

11 extracted references · 11 canonical work pages · 1 internal anchor

  1. [1]

    Exploring ODEs

    Trefethen L.N., Á Birkisson, and TA Driscoll. Exploring ODEs. SIAM. (2017): 157

  2. [2]

    A new Jacobi operational matrix: an application for solving fractional differential equations

    Doha, E. H., A. H. Bhrawy, and S. S. Ezz-Eldien. "A new Jacobi operational matrix: an application for solving fractional differential equations." Applied Mathematical Modelling 36.10 (2012): 4931-4943

  3. [3]

    Efficient spectral-Galerkin algorithms for direct solution of fourth-order differential equations using Jacobi polynomials

    Doha, E. H., and A. H. Bhrawy. "Efficient spectral-Galerkin algorithms for direct solution of fourth-order differential equations using Jacobi polynomials." Applied Numerical Mathematics 58.8 (2008): 1224-1244

  4. [4]

    Generalized Lagrangian Jacobi Gauss collocation method for solving unsteady isothermal gas through a micro-nano porous medium

    Parand, K., Latifi, S., Delkhosh, M., and Moayeri, M. M. "Generalized Lagrangian Jacobi Gauss collocation method for solving unsteady isothermal gas through a micro-nano porous medium." The European Physical Journal Plus 133.1 (2018): 28

  5. [5]

    Generalized Lagrange Jacobi Gauss-Lobatto (GLJGL) Collocation Method for Solving Linear and Nonlinear Fokker-Planck Equations

    Parand, K., Latifi, S., Moayeri, M. M., and Delkhosh, M. "Generalized Lagrange Jacobi Gauss-Lobatto (GLJGL) Collocation Method for Solving Linear and Nonlinear Fokker-Planck Equations." Communications in Theoretical Physics 69.5 (2018): 519

  6. [6]

    Generalized Pseudospectral Method: Theory and Application

    Delkhosh, M., and Parand, K. "Generalized Pseudospectral Method: Theory and Application", Journal of Computational Science 34 (2019): 11-32

  7. [7]

    A development of Lagrange interpolation, Part I: Theory

    Delkhosh, M., Parand, K., and Hadian-Rasanan A.H., "A development of Lagrange interpolation, Part I: Theory", arXiv:1904.12145 (2019): 1-12

  8. [8]

    A unified framework for the numerical solution of optimal control problems using pseudospectral methods

    Garg, D., Patterson, M., Hager, W. W., Rao, A. V., Benson, D. A., and Huntington, G. T. "A unified framework for the numerical solution of optimal control problems using pseudospectral methods." Automatica 46.11 (2010): 1843-1851

  9. [9]

    A numerical method based on rational Gegenbauer functions for solving boundary layer flow of a Powell--Eyring non-Newtonian fluid

    Parand K, Bahramnezhad A, Farahani H. "A numerical method based on rational Gegenbauer functions for solving boundary layer flow of a Powell--Eyring non-Newtonian fluid". Computational and Applied Mathematics. 37(5) (2018):6053-6075

  10. [10]

    , " * write output.state after.block = add.period write newline

    ENTRY address author booktitle chapter doi edition editor eid howpublished institution journal key month note number organization pages publisher school series title type url volume year label INTEGERS output.state before.all mid.sentence after.sentence after.block FUNCTION init.state.consts #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 '...

  11. [11]

    write newline

    " write newline "" before.all 'output.state := FUNCTION if.digit duplicate "0" = swap duplicate "1" = swap duplicate "2" = swap duplicate "3" = swap duplicate "4" = swap duplicate "5" = swap duplicate "6" = swap duplicate "7" = swap duplicate "8" = swap "9" = or or or or or or or or or FUNCTION n.separate 't := "" #0 'numnames := t empty not t #-1 #1 subs...