🧮 Avila Linear Algebra
Álgebra linear genuína em Rust para o ecossistema Avila.
🎯 Filosofia
100% Avila - Sem dependências pesadas. Álgebra linear eficiente, clara e educacional.
Por que criar mais uma biblioteca de álgebra linear?
- ✅ Controle total - API desenhada para o ecossistema Avila
- ✅ Zero bloat - Apenas o necessário, sem features desnecessárias
- ✅ Documentação PT-BR - Primeiro no Brasil, depois no mundo
- ✅ Educacional - Código claro e explicativo
- ✅ Otimizado - Performance sem sacrificar legibilidade
📦 Instalação
[]
= "0.1"
🚀 Uso Rápido
use ;
// Vetores
let v1 = new;
let v2 = new;
let dot = v1.dot; // Produto escalar
let cross = v1.cross; // Produto vetorial
let norm = v1.norm; // Norma euclidiana
// Matrizes
let m = identity;
let v_transformed = m * v1;
📚 Features
✅ Vetores
Vector2<T>,Vector3<T>,Vector4<T>VectorN<T>- Vetor de tamanho dinâmico- Operações: soma, subtração, escalar, dot, cross, norm
- Normalização, projeção, reflexão
✅ Matrizes
Matrix2x2<T>,Matrix3x3<T>,Matrix4x4<T>MatrixMxN<T>- Matriz de dimensões dinâmicas- Operações: soma, multiplicação, transposta, inversa
- Determinante, traço
🚧 Em desenvolvimento
- Decomposição SVD (Singular Value Decomposition)
- Eigenvalues/Eigenvectors
- QR Decomposition
- LU Decomposition
- Cholesky Decomposition
🎓 Estrutura
avila-linalg/
├── src/
│ ├── lib.rs # API pública
│ ├── vector.rs # Vetores 2D/3D/4D/ND
│ ├── matrix.rs # Matrizes
│ ├── decomposition/ # SVD, QR, LU, etc
│ │ ├── mod.rs
│ │ ├── svd.rs
│ │ └── eigen.rs
│ └── ops.rs # Operações genéricas
├── benches/ # Benchmarks
├── examples/ # Exemplos
└── tests/ # Testes de integração
🔬 Exemplo Completo
use *;
📊 Performance
Comparação com outras bibliotecas:
| Operação | avila-linalg | nalgebra | ndarray |
|---|---|---|---|
| Vec3 dot | ~2ns | ~2ns | ~3ns |
| Mat3 mul | ~15ns | ~12ns | ~20ns |
| SVD 10x10 | TBD | ~800ns | ~1.2µs |
🤝 Contribuindo
Contribuições são bem-vindas! Veja CONTRIBUTING.md
📄 Licença
MIT OR Apache-2.0
Desenvolvido com ❤️ pela Avila para a comunidade brasileira de Rust 🇧🇷