Linear and nonlinear Volterra kernels in natural and multiresolution bases
Project description
VolterraSys: Linear and nonlinear Volterra kernels in natural and multiresolution bases
VolterraSys provides TensorFlow/Keras layers for trainable linear and quadratic Volterra kernels in natural and multiresolution bases.
Copyright 2025 Kishore Kumar Tarafdar.
Licensed under the Apache License, Version 2.0. See LICENSE.
Capabilities
- Shift-variant 1D linear Volterra kernel:
LSVariantVolterra1D. - Shift-invariant linear Volterra kernels:
LSIVolterra1D,LSIVolterra2D,LSIVolterra3D. - Shift-invariant quadratic Volterra kernels:
QSIVolterra1D,QSIVolterra2D,QSIVolterra3D. - Natural-domain kernels with
wave=None. - Multiresolution kernels with wavelets such as
wave="haar".
Limitations
- Inputs are TensorFlow tensors with channel-last layout.
- Multiresolution mode depends on
TFDWT. - Natural-domain computation uses
wave=None; wavelet-domain computation uses a supported wavelet name.
Installation
pip install VolterraSys
Minimal Example
import tensorflow as tf
from VolterraSys.LSIVolterra1D import LSIVolterra1D
from VolterraSys.LSIVolterra2D import LSIVolterra2D
from VolterraSys.LSIVolterra3D import LSIVolterra3D
from VolterraSys.QSIVolterra1D import QSIVolterra1D
from VolterraSys.QSIVolterra2D import QSIVolterra2D
from VolterraSys.QSIVolterra3D import QSIVolterra3D
# Natural-domain kernels
x1 = tf.random.normal([1, 32, 1])
y1 = LSIVolterra1D(filters=2, kernel_size=3, wave=None)(x1)
x2 = tf.random.normal([1, 8, 8, 1])
y2 = QSIVolterra2D(filters=2, kernel_size=2, wave=None)(x2)
x3 = tf.random.normal([1, 6, 6, 6, 1])
y3 = QSIVolterra3D(filters=2, kernel_size=2, wave=None)(x3)
print(y1.shape, y2.shape, y3.shape)
Wavelet Mode
layer = LSIVolterra2D(filters=1, kernel_size=4, wave="haar")
Citation
This software is released for broad research, educational, and engineering use. If this package helps your work, please cite the following paper:
@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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file volterrasys-0.0.1.tar.gz.
File metadata
- Download URL: volterrasys-0.0.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08193af2a42ef97cbbc6f17d9d5c472c6c381621f66af91c90684b5ab5813952
|
|
| MD5 |
4990c4d27417e6a724a4ec9b1a90959a
|
|
| BLAKE2b-256 |
16faa9dc4cb709cab4a85750af1aa5703fbed5303b221f08b0d1234ee17ad01d
|
File details
Details for the file volterrasys-0.0.1-py3-none-any.whl.
File metadata
- Download URL: volterrasys-0.0.1-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad46fb010fa82527c747f68fd5982af06ccbc424635f002d79db323bdee4dd59
|
|
| MD5 |
8df6f9b826d9bd017e0c0aa7e9e60af9
|
|
| BLAKE2b-256 |
3dfed8ed082ad6eb20ef360e2003eac5e53ee39a7e83a2f1e77a96c024ebc051
|