Skip to main content

Impact Automata on Quivers (AIQ) — An algebraic framework for modeling dynamics on complex systems

Project description

AIQ — Impact Automata on Quivers

PyPI version Python 3.10+ License: MIT

An algebraic framework for modeling dynamics on complex systems using quiver representations, path algebras, and Brauer configuration algebras.

Based on: Zainea Maya & Moreno Cañadas, "Autómatas de Impacto sobre Quivers: Un Marco Algebraico para Modelar Dinámicas de Sistemas Complejos".

Features

Module Description
quiver Quiver Q=(Q₀,Q₁,s,t) with adjacency matrices, BFS distances, O(1) degree queries
path_algebra Path algebras kQ, ideals I, quotient algebras kQ/I
impact Impact degree, vector, Fundamental Neighborhood System (SFV), impact rates
automaton Impact automata (AIQ) with SI/SIS/SIR evolution rules, Monte Carlo
brauer Brauer configuration algebras: δ_B, entropy H(B), dimension formulas
morphisms Morphisms of quivers and AIQs (base, dynamic, algebraic)
datasets Paper examples + Cora + cit-HepPh citation networks
validation Temporal validation with real citation data
visualization Quiver drawing, heatmaps, evolution grids, validation dashboard

Installation

pip install aiq-quivers

For development:

git clone https://github.com/izaineam/aiq-quivers.git
cd aiq-quivers
pip install -e ".[dev]"

Quick Start

Impact Automaton (AIQ)

from aiq import Quiver, AIQ

# Define a citation quiver
Q = Quiver(
    vertices=["P1", "P2", "P3", "P4", "P5"],
    arrows=[
        ("a1", "P1", "P2"), ("a2", "P1", "P3"),
        ("a3", "P2", "P4"), ("a4", "P3", "P4"),
        ("a5", "P3", "P5"), ("a6", "P4", "P5"),
    ],
)

# Create AIQ with SIR rule
aiq = AIQ(Q, states=["S", "R", "O"], evolution_rule="SIR",
          beta=1.0, recovery_prob=0.3)

# Set initial config: P1 is Relevant, rest Susceptible
aiq.set_initial_config({"P1": "R", "P2": "S", "P3": "S", "P4": "S", "P5": "S"})

# Run 10 steps
aiq.run(10, seed=42)
print(aiq.state_counts())

Brauer Configuration Analysis

from aiq.brauer import example_partitions_of_10

bc = example_partitions_of_10()
print(bc.summary())
# BrauerConfiguration(|Γ₀|=4, |Γ₁|=3, δ_B=13, H(B)=1.8339)
#   dim_k Λ_M = 45
#   dim_k Z(Λ_M) = 14
#   δ_B = 13
#   H(B) = 1.833927

# From citation network JSON
from aiq.brauer import brauer_from_citation_json
bc = brauer_from_citation_json("data/canadas_citation_network.json")
analysis = bc.brauer_analysis()

Path Algebra

from aiq import Quiver, PathAlgebra

Q = Quiver([1, 2, 3, 4],
           [("α₁", 1, 2), ("α₂", 1, 2), ("γ", 1, 3), ("β", 2, 4), ("δ", 3, 4)])

pa = PathAlgebra(Q)
assert pa.verify_matrix_equivalence()  # dim(e_i·kQ_k·e_j) == (A^k)_{ij}
print(f"dim(kQ) = {pa.total_dimension()}")  # 12

Key Concepts

  • Impact degree g(cᵢ, cⱼ): shortest directed path length (Def. 2.2)
  • Impact vector vec_g(cᵢ, cⱼ): walk counts by length (Def. 2.5)
  • SFV {A_k(c)}: fundamental neighborhood system (Def. 2.3)
  • Impact rate i^t(c): weighted influence from neighbors (Def. 2.9)
  • Brauer factor δ_B = Σ μ(m)·val(m): algebraic impact invariant
  • Brauer entropy H(B): Shannon entropy of the configuration

Running Tests

pytest tests/ -v

Citation

@article{zainea2025aiq,
  title={Aut{\'o}matas de Impacto sobre Quivers:
         Un Marco Algebraico para Modelar Din{\'a}micas de Sistemas Complejos},
  author={Zainea Maya, Isaac and Moreno Ca{\~n}adas, Agust{\'i}n},
  year={2025},
  institution={Universidad Nacional de Colombia}
}

License

MIT License. See 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

aiq_quivers-1.2.1.tar.gz (84.0 kB view details)

Uploaded Source

Built Distribution

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

aiq_quivers-1.2.1-py3-none-any.whl (73.4 kB view details)

Uploaded Python 3

File details

Details for the file aiq_quivers-1.2.1.tar.gz.

File metadata

  • Download URL: aiq_quivers-1.2.1.tar.gz
  • Upload date:
  • Size: 84.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiq_quivers-1.2.1.tar.gz
Algorithm Hash digest
SHA256 93e9bac886e1871ddf9c40db048290fa5212872c7686d90b84b1158a9f0aa45f
MD5 8c725d349e8dc4b500c04fb1c8b46097
BLAKE2b-256 49b93006909fccb6dad99c6221712f1ea5e70c4bcbc690034c041a5bec3fe259

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiq_quivers-1.2.1.tar.gz:

Publisher: publish.yml on Izainea/aiq-quivers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiq_quivers-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: aiq_quivers-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 73.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiq_quivers-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0b1eda9a3d922f028771b26d272d7931cf847a03078468decb50f4b9d5856ef
MD5 871a0ae04224734c902bed9ad053e6fe
BLAKE2b-256 4495e0da8234a8bcbb5903703d178f4ab108a92e486e2c11b25d830d23a0755d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiq_quivers-1.2.1-py3-none-any.whl:

Publisher: publish.yml on Izainea/aiq-quivers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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