Biblioteca didática para resolução de matrizes com passo a passo verificado em pt-BR
Project description
ednarzinho
Biblioteca Python didática para resolução de matrizes com passo a passo verificado, em pt-BR.
Resolve matrizes — inclusive simbólicas (com r, m, sin(θ), √, etc.), produtos
escalares e vetoriais — calcula determinante e inversa, e gera um notebook Jupyter
pronto com a resolução completa. Cada resultado é conferido por um método independente:
a biblioteca nunca devolve uma resposta errada em silêncio.
import ednarzinho as edz
edz.gerar_notebook([[2, 1], [3, 4]], "resolucao.ipynb")
# → cria um .ipynb com a matriz, o determinante, a inversa e o passo a passo.
Instalação
pip install ednarzinho
Requer Python 3.12+. Instala o SymPy automaticamente.
Uso
Caso principal: resolver uma matriz e gerar o notebook
A função gerar_notebook recebe a matriz (números ou expressões simbólicas em string) e
escreve um .ipynb autossuficiente — pronto para entregar:
import ednarzinho as edz
A = [
["sqrt(1 - 2*m/r)", 0, 0, 0],
[0, "sqrt((1-2*m/r)**(-1))*sin(theta)*cos(phi)", "r*cos(theta)*cos(phi)", "-r*sin(theta)*sin(phi)"],
[0, "sqrt((1-2*m/r)**(-1))*sin(theta)*sin(phi)", "r*cos(theta)*sin(phi)", "r*sin(theta)*cos(phi)"],
[0, "sqrt((1-2*m/r)**(-1))*cos(theta)", "-r*sin(theta)", 0],
]
edz.gerar_notebook(A, "resolucao.ipynb") # determinante + inversa (padrão)
edz.gerar_notebook(A, "so_det.ipynb", operacoes=["determinante"])
Resolver direto no código
import ednarzinho as edz
A = edz.Matriz([[2, 1], [3, 4]])
r = edz.resolver(A, operacao="determinante")
print(r.valor) # o determinante
print(r.markdown()) # passo a passo em Markdown
inv = edz.resolver(A, operacao="inversa")
print(inv.markdown()) # passo a passo da inversa (verificada por A·A⁻¹ = I)
Operações: determinante, inversa, gauss, gauss_jordan, sistema (com b=...).
Formatos de saída de uma Resolucao: .markdown(), .latex(), .terminal().
Por que "verificado"?
Para matrizes simbólicas, a eliminação de Gauss pode dividir por pivôs que se anulam.
Por isso a ednarzinho usa cofatores (expansão de Laplace para o determinante; método da
adjunta para a inversa) e cruza cada resultado com um algoritmo independente (Berkowitz,
A·A⁻¹ = I). Divergência → erro explícito, nunca um valor errado silencioso.
Desenvolvimento
git clone <URL-do-seu-repositorio> # ajuste para o seu GitHub
cd ednarzinho
python -m pip install -e ".[dev]"
python -m pytest # 344 testes
python -m ruff check src/
No Windows, se a ativação do venv falhar por política de execução, use
.venv\Scripts\python.exe -m ...diretamente.
Licença
MIT — veja LICENSE.
Project details
Release history Release notifications | RSS feed
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 ednarzinho-0.1.0.tar.gz.
File metadata
- Download URL: ednarzinho-0.1.0.tar.gz
- Upload date:
- Size: 100.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bb2bc0144cfe667c38003a6fbf778813165c07da03024538ead6b196f50617d
|
|
| MD5 |
5d5a49edf6d76ccd36bce263d5dbcd5a
|
|
| BLAKE2b-256 |
9d0b773e230a7d397bcc1874ceb7144f4ef0c4c0b560343356fd7a59ec8705df
|
File details
Details for the file ednarzinho-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ednarzinho-0.1.0-py3-none-any.whl
- Upload date:
- Size: 84.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e38c799bc96133eb4565f803ca93fc47608e47bd42acb8b2608683ddc36352a
|
|
| MD5 |
ce30a28df4bd3a6f93f213d7d4b013b4
|
|
| BLAKE2b-256 |
41d321637eca7fbcb32e3a9019a77f78088a4dcb7665d129d58c05e010c47158
|