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.0.tar.gz (81.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.0-py3-none-any.whl (72.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiq_quivers-1.2.0.tar.gz
  • Upload date:
  • Size: 81.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.0.tar.gz
Algorithm Hash digest
SHA256 f11c8e6b422431ff54946332b792f24ff03ca46154ce1d4e9b74d61807e34961
MD5 cd62c39dcd23aed5f6f19685e6f7f49a
BLAKE2b-256 32c90c1de6e5385f1830be615fc7af24cd0e810cbb518629dfa794bcc114f801

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiq_quivers-1.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: aiq_quivers-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 72.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03e9394e5ca4b1861b14f39bc30e12ffd39962c9f1dccf4f3ec4b04decc7f29c
MD5 312fe2e3c3fec0f171a15fcf9e1738db
BLAKE2b-256 61f752cd530f163469872934039eb25cfb8219db23769d8e51ac24246c2007e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiq_quivers-1.2.0-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