Impact Automata on Quivers (AIQ) — An algebraic framework for modeling dynamics on complex systems
Project description
AIQ — Impact Automata on Quivers
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93e9bac886e1871ddf9c40db048290fa5212872c7686d90b84b1158a9f0aa45f
|
|
| MD5 |
8c725d349e8dc4b500c04fb1c8b46097
|
|
| BLAKE2b-256 |
49b93006909fccb6dad99c6221712f1ea5e70c4bcbc690034c041a5bec3fe259
|
Provenance
The following attestation bundles were made for aiq_quivers-1.2.1.tar.gz:
Publisher:
publish.yml on Izainea/aiq-quivers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiq_quivers-1.2.1.tar.gz -
Subject digest:
93e9bac886e1871ddf9c40db048290fa5212872c7686d90b84b1158a9f0aa45f - Sigstore transparency entry: 1760250094
- Sigstore integration time:
-
Permalink:
Izainea/aiq-quivers@00ecc23d48065704445fb09509fd5e3e0c6f733b -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/Izainea
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@00ecc23d48065704445fb09509fd5e3e0c6f733b -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0b1eda9a3d922f028771b26d272d7931cf847a03078468decb50f4b9d5856ef
|
|
| MD5 |
871a0ae04224734c902bed9ad053e6fe
|
|
| BLAKE2b-256 |
4495e0da8234a8bcbb5903703d178f4ab108a92e486e2c11b25d830d23a0755d
|
Provenance
The following attestation bundles were made for aiq_quivers-1.2.1-py3-none-any.whl:
Publisher:
publish.yml on Izainea/aiq-quivers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiq_quivers-1.2.1-py3-none-any.whl -
Subject digest:
d0b1eda9a3d922f028771b26d272d7931cf847a03078468decb50f4b9d5856ef - Sigstore transparency entry: 1760250129
- Sigstore integration time:
-
Permalink:
Izainea/aiq-quivers@00ecc23d48065704445fb09509fd5e3e0c6f733b -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/Izainea
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@00ecc23d48065704445fb09509fd5e3e0c6f733b -
Trigger Event:
release
-
Statement type: