QILaplace.jl: tensor-network Fourier/Laplace transforms (looking for packaging & docs feedback)

Hi Julia Community,

I am a third-year PhD student with around two years of experience coding in Julia. This is my first time creating and releasing a Julia package, and I’d really love to get feedback from more experienced Julia developers and package maintainers.

QILaplace.jl is an open-source Julia package that implements tensor-network-based (Quantum-Inspired) algorithms for Discrete Fourier and Laplace-type transforms, built on top of ITensors.jl.

The underlying algorithms come from research by Noufal Jaseem et al. (arXiv paper). I joined the project later focusing on improving the performance of the original code, benchmarking it, and turning it into a tested, open-source Julia package.

Repository:

Currently, the package has:

  • Passing CI on Linux, MacOS, Windows
  • ~97% test coverage
  • Julia 1.10+ compatibility

Before I submit this to the General registry, I’d really appreciate feedback on things like:

  • Does the public-facing API feel reasonable and easy to use from a Julia user’s point of view?
  • Are the names and abstractions sensible?
  • From a community point of view, does this feel like something that would be useful to register, or are there things you think should be improved or clarified first?
  • Does the repo structure look okay for a first public package?

Documentation question

Documentation is the main thing that is still missing in this repo, and I’d especially appreciate advice here.

This is a research-heavy package. Some parts expose fairly low-level MPS/MPO details, but I’d also like the package to be usable for high-level signal-processing workflows.

I am trying to figure out:

  • How much background/conceptual explanation to include upfront
  • Whether it’s better to start with one or two simple end-to-end examples, and hide the internals at first
  • What kind of documentation structure has worked well for others working on research-oriented Julia packages

I’m planning to use Documenter.jl, but I haven’t committed to a structure yet and would really value advice before proceeding.

This package is still evolving, so any constructive feedback or suggestions, especially from those familiar with Tensor Networks or Quantum Computing, are highly welcome​:folded_hands:t2:.

Thank you in advance,
(and thanks for reading this far!)

3 Likes