Skip to main content

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:

  1. Create a working directory:

    mkdir VOFD_analysis
    cd VOFD_analysis
    
  2. (Optional) activate a Python virtual environment:

    Linux/macOS

    python3 -m venv venv
    source venv/bin/activate
    

    Windows

    python -m venv venv
    venv\Scripts\activate
    
  3. Install the package:

    pip install vofd
    
  4. 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--

  1. Setup the system: The script defines the Chen system, a commonly used chaotic system, with initial conditions and a time span.

  2. Run the simulation: It computes the trajectory of the system using a VO derivative.

  3. Output: The script saves the results of the simulation (y1, y2, y3) into .txt files and generates a plot of y1 vs. y2. y1 vs. y3 and y2 vs. 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--.

  1. 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 a parameter), varies.

  2. Bifurcation Process: The script calculates bifurcation points for svar and xmax and stores them in .txt files.

  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vofd-1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vofd-1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

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

Hashes for vofd-1.0.tar.gz
Algorithm Hash digest
SHA256 1aaec90d626066e8e6fa8dbb5138ebec00612d647143841dde7932e0871e2e84
MD5 4bec1d6d0cccb359c47e5734aebb8d07
BLAKE2b-256 4225963f033872385afec2f2fd50cfb364835b75439dd1c3a40c91ce21f0cd1e

See more details on using hashes here.

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

Hashes for vofd-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f66644bd37aaa8dd2bd5525c1f509e0c1f3044ac70f2cd1322408780c05844da
MD5 12f36007fceee025d2d1cfab915014b5
BLAKE2b-256 8df2f374fa227d5ad100405eedcbda8f44330ca8477817a218997defabab8fa7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page