The --VOFD Python package-- provides tools for simulating and solving --Variable-Order Fractional Derivatives (VOFD)-- in dynamical systems. This package is designed for researchers and practitioners to analyze and visualize systems modeled with variable-order derivatives, such as chaotic systems, hereditary processes, and control strategies.
Project description
VOFD Python Package
Overview
The VOFD Python package provides tools for simulating and solving Variable-Order Fractional Derivatives (VOFD) in dynamical systems. This package is designed for researchers and practitioners to analyze and visualize systems modeled with variable-order derivatives, such as chaotic systems, hereditary processes, and control strategies.
The package supports three main types of VO derivatives:
- V1: Caputo Variable-Order Derivative.
- V2,V3: Variable-Order Derivatives with convolution.
Overview
VOFD provides high-performance numerical routines accelerated with the Numba JIT compiler. The package includes:
- Caputo variable-order derivatives (V1)
- Convolution-based VO derivatives (V2 and V3)
- Simulation of nonlinear and chaotic systems with time-varying fractional order
- Parallel computation of bifurcation diagrams
- Plotting utilities for time-series, phase portraits, and bifurcation structures
The use of Numba significantly reduces computation time in derivative evaluation and large-scale bifurcation analysis, enabling efficient exploration of variable-order fractional models.
This package is part of an ongoing research project on variable-order fractional modeling and its applications in nonlinear system analysis. The numerical schemes implemented are based on the finite-difference approximations described in: B. Parsa Moghaddam and J. A. Tenreiro Machado, “Extended Algorithms for Approximating Variable Order Fractional Derivatives with Applications,” Journal of Scientific Computing, 2017. DOI: 10.1007/s10915-016-0343-1.
Authors
Dr. Daniel Clemente-López Department of Electronics, Instituto Nacional de Astrofísica, Óptica y Electrónica (INAOE), Mexico
Dr. Jesús M. Muñoz-Pacheco (Corresponding Author) Faculty of Electronics Sciences, Benemérita Universidad Autónoma de Puebla (BUAP), Mexico
Dr. José de Jesús Rangel-Magdaleno Department of Electronics, Instituto Nacional de Astrofísica, Óptica y Electrónica (INAOE), Mexico
Repository Structure
VOFD/
│
├── vofd/ # The Python package
│ ├── __init__.py
│ ├── maxima.py
│ ├── plot_data.py
│ ├── vo_core.py
│ │__ sim_manager.py
│
├── examples/ # Example scripts
│ ├── simulation_setup.py
│ ├── bifurcation_setup.py
│
├── LICENSE
├── README.md
├── pyproject.toml
# Installation Options
You can install VOFD in two ways:
(1) via PyPI or (2) directly from the source repository.
---
## **Option 1 — Install from PyPI (recommended)**
```bash
pip install vofd
Recommended workflow:
-
Create a working directory:
mkdir VOFD_analysis cd VOFD_analysis
-
(Optional) activate a Python virtual environment:
Linux/macOS
python3 -m venv venv source venv/bin/activate
Windows
python -m venv venv venv\Scripts\activate
-
Install the package:
pip install vofd
-
Download the example scripts from the GitHub repository (
examples/) and run:python simulation_setup.py python bifurcation_setup.py
Option 2 — Clone the Repository and Install Locally
git clone https://github.com/<your-user>/VOFD.git
cd VOFD
Install in editable mode:
pip install -e .
This provides access to:
- Full source code (
vofd/) - Example scripts (
examples/) - Tests (
tests/) - Development configuration
Usage
Simulation Setup (simulation_setup.py)
This script demonstrates how to set up and run a simulation for a --Variable-Order Chaotic Chen System--
-
Setup the system: The script defines the Chen system, a commonly used chaotic system, with initial conditions and a time span.
-
Run the simulation: It computes the trajectory of the system using a VO derivative.
-
Output: The script saves the results of the simulation (
y1,y2,y3) into.txtfiles and generates a plot ofy1vs.y2.y1vs.y3andy2vs.y3.
To run the simulation, simply execute:
python simulation_setup.py
Bifurcation Analysis Setup (bifurcation_setup.py)
This script is used to perform --bifurcation analysis-- of the --Variable-Order Chaotic Chen System--.
-
Setup the system: Similar to the simulation script, but this one focuses on analyzing how the system behavior changes as the bifurcation parameter (in this case the
aparameter), varies. -
Bifurcation Process: The script calculates bifurcation points for
svarandxmaxand stores them in.txtfiles. -
Output: The bifurcation analysis results are visualized in a plot.
To run the bifurcation analysis, execute:
python bifurcation_setup.py
Key Functions
chen_system: Defines the equations of the Chen system (used in both scripts). vo_algorithm: Variable-order derivative algorithm used for numerical integration.
- In simulation_setup.py: you may use v1_alg, v2_alg, or v3_alg.
- In bifurcation_setup.py: you may use v1_bifurcation, v2_bifurcation, or v3_bifurcation. save_time_series: Saves each state variable (y1, y2, y3) to .txt files (used in simulation_setup.py). save_pairwise_plots: Generates and saves pairwise phase-plane plots, e.g., y1–y2, y1–y3 (used in simulation_setup.py). save_bifurcation_data: Stores the bifurcation values (e.g., parameter sweep and maxima) into .txt files (used in bifurcation_setup.py). create_figure: Creates and saves time-series and phase-portrait plots (used in simulation_setup.py). create_bif_figure: Creates and saves the bifurcation diagram from the computed sweep data (used in bifurcation_setup.py).
Results Directory
results/
Plots, time-series, and bifurcation data are stored here. The folder is generated automatically if it does not exist.
License
The VOFD package is released under the MIT 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 vofd-1.0.tar.gz.
File metadata
- Download URL: vofd-1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1aaec90d626066e8e6fa8dbb5138ebec00612d647143841dde7932e0871e2e84
|
|
| MD5 |
4bec1d6d0cccb359c47e5734aebb8d07
|
|
| BLAKE2b-256 |
4225963f033872385afec2f2fd50cfb364835b75439dd1c3a40c91ce21f0cd1e
|
File details
Details for the file vofd-1.0-py3-none-any.whl.
File metadata
- Download URL: vofd-1.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f66644bd37aaa8dd2bd5525c1f509e0c1f3044ac70f2cd1322408780c05844da
|
|
| MD5 |
12f36007fceee025d2d1cfab915014b5
|
|
| BLAKE2b-256 |
8df2f374fa227d5ad100405eedcbda8f44330ca8477817a218997defabab8fa7
|