#para #methods #en #de #del #con #un #academics

suma_core

A core library for suma_ulsa, used for academics methods and data processing

22 releases

Uses new Rust 2024

0.1.22 Feb 19, 2026
0.1.21 Feb 19, 2026
0.1.18 Nov 29, 2025

#231 in Math

MIT license

430KB
10K SLoC

🌐 SUMA — Sistema Unificacion de Métodos Académicos

Ecosistema modular para modelar, aprender y ejecutar métodos académicos de forma rigurosa, declarativa y reproducible.

SUMA es un ecosistema académico abierto, compuesto por:

Core en Rust (algoritmos rigurosos) • Módulos independientesBindings para PythonLenguaje declarativo (Codex)


🌱 Filosofía

SUMA existe para tres propósitos fundamentales:

  • ✔ Uso académico: Para enseñar estructuras, probabilidad, IA clásica, optimización, simulación y finanzas con resultados reproducibles y ejecutables.
  • ✔ Uso investigativo: Para implementar modelos desde cero, compararlos y estudiar métodos con transparencia total.
  • ✔ Uso práctico: Para que desarrolladores integren módulos de SUMA en sus proyectos (Rust, Python, Tauri, Web), manteniendo el rigor matemático y algoritmos eficientes.

🧩 Arquitectura del Ecosistema

       ┌─────────────────────────────┐
       │            SUMA             │
       │     Ecosistema Completo     │
       └──────────────┬──────────────┘
                      │
     ┌────────────────▼──────────────────┐
     │              Core                 │
     │          (Rust crate)             │
     │   Estructuras, modelos, lógica    │
     └──────────────┬────────────────────┘
                    │
       ┌────────────▼──────────────┐
       │         Bindings          │
       │   Python · WebAssembly    │
       └────────────┬──────────────┘
                    │
     ┌──────────────▼──────────────┐
     │        Módulos SUMA         │
     │ boolean_algebra/            │
     │ data_structures/            │
     │ finance/                    │
     │ numerics/                   │
     └──────────────────────────────┘

## 🔢 Módulo Destacado: Álgebra Booleana

El módulo de álgebra booleana es actualmente el más completo y sirve como referencia del diseño del ecosistema: seguro, rápido, expresivo y con una API unificada.

### Características Principales

- Evaluación de expresiones complejas.
- Generación automática de tablas de verdad.
- Simplificación de expresiones.
- Verificación de tautologías, contradicciones y equivalencias.
- Exportación de datos: CSV, JSON, Polars, diccionarios y listas.

## 🧠 Operadores Soportados

| Operador | Palabras Clave (Python) | Símbolos |
|----------|--------------------------|----------|
| AND | and, & | ∧ |
| OR | or, \| | ∨ |
| NOT | not, ~ | ¬ |
| XOR | xor, ^ | ⊕ |
| IMPLICA | implies, => | → |
| EQUIVALENCIA | iff, <=> | ↔ |

## 🛠️ API Esencial

La clase BooleanExpr expone los siguientes métodos clave:

- evaluate(vars)
- truth_table()
- is_tautology() / is_contradiction()
- simplify()
- equivalent(other)
- to_normal_form()
- to_dnf(), to_cnf()

## ⚡ Instalación y Uso

⚠️ Nota: SUMA está en evolución activa. Algunos módulos pueden ser experimentales.

Instala el paquete oficial de Python:

```bash
pip install suma_ulsa

🚀 Ejemplo Rápido

from suma_ulsa.boolean_algebra import BooleanExpr

# Definir una expresión
expr = BooleanExpr("(A and B) or (not C)")

# Evaluar con variables específicas
print(expr.evaluate({'A': True, 'B': False, 'C': True}))

# Generar y exportar tabla de verdad
tabla = expr.truth_table()
print(tabla.to_csv())

# Verificar propiedades lógicas
print("¿Tautología?", expr.is_tautology())

🔬 Roadmap del Ecosistema

Módulo Estado Descripción
Core 🟦 En desarrollo Base en Rust, estructuras, análisis, runtime del lenguaje.
Boolean Algebra 🟩 Completado Expresiones, tablas, simplificación.
Data Structures 🟧 En desarrollo Árboles, grafos, recorridos, dependencias.
Numerical Methods 🟨 Planeado Ecuaciones, integración, derivación.
Finance 🟨 Planeado TVM (Valor del dinero en el tiempo), préstamos, inversiones.
SUMA Codex (DSL) 🔵 Diseño Lenguaje declarativo orientado a modelos.
SUMA CLI + REPL 🔵 Diseño Ejecución interactiva y consultas de modelos.

👨‍💻 Desarrollo

Si deseas contribuir o ejecutar el proyecto desde la fuente:

# Clonar el repositorio
git clone https://github.com/Void-CA/suma.git
cd suma

# Instalar en modo editable
pip install -e .

# Ejecutar pruebas
cargo test  # Para el core en Rust
pytest      # Para los bindings de Python

📂 Estructura del Proyecto

suma/
├── src/
│   ├── lib.rs
│   ├── core/               # Motor central en Rust
│   ├── modules/
│   │   └── boolean_algebra/
│   └── bindings/           # Python, WASM
├── suma_ulsa/              # Paquete Python oficial
│   ├── boolean_algebra/
│   └── ...

🤝 Contribuciones

Las contribuciones son bienvenidas. Las prioridades actuales son:

  • Implementación del Codex (lenguaje SUMA).
  • Extensiones del core.
  • Nuevos módulos académicos.
  • Ejemplos, documentación y benchmarks reproducibles.

📄 Licencia

MIT License — ver el archivo LICENSE para más detalles.

SUMA: diseñado por estudiantes, para estudiantes, para aprender de manera rigurosa, clara y reproducible.


🤝 Contribuciones

Las contribuciones son bienvenidas. Áreas prioritarias:

  • Nuevos módulos académicos
  • Mejoras en álgebra booleana (Karnaugh, Quine-McCluskey)
  • Documentación y ejemplos
  • Tests y validación

📊 Estructura del Proyecto (resumen)

suma/
├── src/                   
│   ├── lib.rs
│   ├── core/    # Módulo core codificado en Rust
│   |   ├── boolean_algebra/    # Módulo de álgebra booleana
│   |   ├── ...
│   └── bindings/             # Bindings Python
├── suma_ulsa/                   # Paquete Python
│   ├── __init__.py
│   └── boolean_algebra/


📄 Licencia

MIT License — ver LICENSE para detalles.


Desarrollado por estudiantes, para estudiantes, con dedicación y rigor académico.

Dependencies

~9–16MB
~273K SLoC