| Crates.io | avila-linalg |
| lib.rs | avila-linalg |
| version | 0.1.1 |
| created_at | 2025-11-22 21:02:06.534362+00 |
| updated_at | 2025-11-22 21:02:06.534362+00 |
| description | Avila Linear Algebra - Álgebra linear genuína em Rust para o ecossistema Avila (vetores, matrizes, SVD, eigenvalues) |
| homepage | https://avilaops.com |
| repository | https://github.com/avilaops/arxis |
| max_upload_size | |
| id | 1945735 |
| size | 111,996 |
Álgebra linear genuína em Rust para o ecossistema Avila.
100% Avila - Sem dependências pesadas. Álgebra linear eficiente, clara e educacional.
[dependencies]
avila-linalg = "0.1"
use avila_linalg::{Vector3, Matrix3x3};
// Vetores
let v1 = Vector3::new(1.0, 2.0, 3.0);
let v2 = Vector3::new(4.0, 5.0, 6.0);
let dot = v1.dot(&v2); // Produto escalar
let cross = v1.cross(&v2); // Produto vetorial
let norm = v1.norm(); // Norma euclidiana
// Matrizes
let m = Matrix3x3::identity();
let v_transformed = m * v1;
Vector2<T>, Vector3<T>, Vector4<T>VectorN<T> - Vetor de tamanho dinâmicoMatrix2x2<T>, Matrix3x3<T>, Matrix4x4<T>MatrixMxN<T> - Matriz de dimensões dinâmicasavila-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
use avila_linalg::prelude::*;
fn main() {
// Cria matriz 3x3
let m = Matrix3x3::from_rows([
[1.0, 2.0, 3.0],
[0.0, 1.0, 4.0],
[5.0, 6.0, 0.0],
]);
// Vetor
let v = Vector3::new(1.0, 2.0, 3.0);
// Transformação
let result = m * v;
println!("Resultado: {:?}", result);
// Decomposição SVD (futuro)
// let svd = m.svd();
// let (u, s, vt) = svd.decompose();
}
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 |
Contribuições são bem-vindas! Veja CONTRIBUTING.md
MIT OR Apache-2.0
Desenvolvido com ❤️ pela Avila para a comunidade brasileira de Rust 🇧🇷