VolterraSys-PyTorch: Multidimensional linear and nonlinear Volterra kernel layers in wavelet and natural bases
VolterraSys-PyTorch provides PyTorch modules for trainable 1D linear and quadratic Volterra kernels in wavelet and natural bases. Tensors use channels-last layout: (batch, length, channels).
Capabilities
- Linear shift-invariant 1D kernels:
LSIVolterra1D. - Quadratic shift-invariant 1D kernels:
QSIVolterra1D. - Linear shift-variant 1D kernels:
LinearVolterra1D. - Orthogonal and biorthogonal wavelet-domain computation through
fdwt. - Natural-domain computation with
wave=None. - Trainable kernels with PyTorch autograd, optimizers, and
state_dictserialization.
Installation
pip install VolterraSys-PyTorch
Minimal example
import torch
from volterrasys.LSIVolterra1D import LSIVolterra1D
from volterrasys.QSIVolterra1D import QSIVolterra1D
from volterrasys.LinearVolterra1D import LinearVolterra1D
x = torch.randn(2, 32, 1)
lsi = LSIVolterra1D(filters=2, kernel_size=4, wave="bior1.3")
qsi = QSIVolterra1D(filters=2, kernel_size=4, wave="haar")
linear = LinearVolterra1D(filters=2, Ny=16, wave=None)
y_lsi = lsi(x) # (2, 32, 2)
y_qsi = qsi(x) # (2, 32, 2)
y_linear = linear(x) # (2, 16, 2)
The wavelet-domain and natural-domain implementations use the same channels-last tensor layout. filters is the number of output channels.
TensorFlow provenance
This repository is an operation-by-operation PyTorch port of kkt-ee/VolterraSys. The port is based on TensorFlow commit 4ef3877 from bugfix/biortho-linear1d, marked by the tf-final-before-pytorch-port tag. The original TensorFlow Git history is retained as this repository's ancestry.
The port preserves the TensorFlow kernel construction, circular indexing, wavelet-basis transformations, and einsum contractions. The corresponding PyTorch dependency is fdwt.
Citation
If this package proves useful in related work, please cite the following thesis, whose Chapter 2 presents the underlying theory and computational details:
@misc{tarafdar2026interpretablefrugallearningsystems,
title={Interpretable and Frugal Learning Systems Employing Multiresolution Pyramids and Volterra Kernels},
author={Kishore Kumar Tarafdar},
year={2026},
eprint={2606.15011},
archivePrefix={arXiv},
primaryClass={eess.SP},
url={https://arxiv.org/abs/2606.15011},
}
License
Apache License 2.0. See LICENSE.
VolterraSys-PyTorch (C) 2026 Kishore Kumar Tarafdar, भारत 🇮🇳
Release files for VolterraSys-PyTorch 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| volterrasys_pytorch-0.0.1.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| volterrasys_pytorch-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / volterrasys_pytorch-0.0.1.tar.gz
| Download URL | volterrasys_pytorch-0.0.1.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3627450a4bfb526a18e9d177c46289b6c5784c4801d4c36d229cd7e8bccdb024
|
|
BLAKE2b-256 checksum How to use checksums |
0933a5579a328d5bf676b3d1009dcf01bb5d49af9a534cc0f94ebda5c1d0396d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / volterrasys_pytorch-0.0.1-py3-none-any.whl
| Download URL | volterrasys_pytorch-0.0.1-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1799c5bdeeb70cb65028fff922031d52b7bbbd9b302af62403012d1414de4bc
|
|
BLAKE2b-256 checksum How to use checksums |
48e13c096a75452e004edd56d001d700a66ff3d2536c64bfaa63a4f004ee336e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|