Skip to main content

VolterraSys: Multidimensional linear and nonlinear Volterra kernel layers in wavelet and natural bases

PyPI Version Python Versions TensorFlow License

VolterraSys provides TensorFlow/Keras layers for trainable multidimensional linear and quadratic Volterra kernels in wavelet and natural bases.

Copyright 2025 Kishore Kumar Tarafdar. Licensed under the Apache License, Version 2.0. See LICENSE.

Capabilities

  • linear Volterra kernel layer for 1D data (shift variant): linearVolterra1D.
  • Linear shift invariant wavelet and natural basis Volterra kernel layers for 1D, 2D, 3D data: LSIVolterra1D, LSIVolterra2D, LSIVolterra3D.
  • Quadratic shift invariant wavelet and natural basis Volterra kernel layers for 1D, 2D, 3D data: QSIVolterra1D, QSIVolterra2D, QSIVolterra3D.
  • Multiresolution Volterra kernels with orthogonal wavelets such as wave="haar" (default) and biorthogonal wavelets wave="bior1.3". Supports wavelet families: "db", "sym", "coif", "bior", "rbio"
  • Natural-domain kernels have wave=None.

Dependencies

  • TensorFlow (>=2.15)
  • Inputs are TensorFlow tensors with channel-last layout.
  • Wavelet domain requires the TFDWT package which can be installed via pip install TFDWT.

Installation

pip install VolterraSys

Minimal Example

import tensorflow as tf

# Linear shift invariant wavelet bases Volterra kernels
from volterrasys.LSIVolterra1D import LSIVolterra1D
from volterrasys.LSIVolterra2D import LSIVolterra2D
from volterrasys.LSIVolterra3D import LSIVolterra3D

# Quadratic shift invariant wavelet bases Volterra kernels
from volterrasys.QSIVolterra1D import QSIVolterra1D
from volterrasys.QSIVolterra2D import QSIVolterra2D
from volterrasys.QSIVolterra3D import QSIVolterra3D

# Natural-domain linear and quadratic kernels layer examples
# Linear
x1d = tf.random.normal([1, 32, 1])
y1d = LSIVolterra1D(filters=2, kernel_size=3, wave=None)(x1d)

# Quadratic
x2d = tf.random.normal([1, 8, 8, 1])
yq2d = QSIVolterra2D(filters=2, kernel_size=2, wave=None)(x2d)

x3d = tf.random.normal([1, 6, 6, 6, 1])
yq3d = QSIVolterra3D(filters=2, kernel_size=2, wave=None)(x3d)

print(y1d.shape, yq2d.shape, yq3d.shape)

Wavelet domain kernel layer examples

# Linear layers
layer1d = LSIVolterra1D(filters=1, kernel_size=4, wave="haar")
layer2d = LSIVolterra2D(filters=1, kernel_size=4, wave="haar")
layer3d = LSIVolterra3D(filters=1, kernel_size=4, wave="haar")

# Quadratic layers
qlayer1d = QSIVolterra1D(filters=1, kernel_size=4, wave='haar')
qlayer2d = QSIVolterra2D(filters=1, kernel_size=4, wave='haar')
qlayer3d = QSIVolterra3D(filters=1, kernel_size=4, wave='haar')

Citation

This software is released for broad research, educational, and engineering use. 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 (C) 2026 Kishore Kumar Tarafdar, भारत 🇮🇳

Metadata

Release files for VolterraSys 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for VolterraSys 0.0.2
File Size Uploaded Provenance
volterrasys-0.0.2.tar.gz 15.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for VolterraSys 0.0.2
File Interpreter ABI Platform
volterrasys-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 43.4 kB

Release files / volterrasys-0.0.2.tar.gz

Download URL volterrasys-0.0.2.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
331f5b3f291abb1a371893856c96b32a9217a2751ae4c5fc6e57dab638f2e2e7
BLAKE2b-256 checksum
How to use checksums
6dbee4d5d13d7ca3db0204cc7df263b381b7f6f27d48acfbdb2ed689b545ccfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / volterrasys-0.0.2-py3-none-any.whl

Download URL volterrasys-0.0.2-py3-none-any.whl
Size 27.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00137137097ca8f79a30cd110c5e9cd07fb03740908b6e430fd7871036b39489
BLAKE2b-256 checksum
How to use checksums
8341627f4147863d0f452be7c3568696c7e91e1961ffbcb65065f307b0076f2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for VolterraSys 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page