Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ednarzinho-0.1.0.tar.gz (100.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ednarzinho-0.1.0-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

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

Hashes for ednarzinho-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6bb2bc0144cfe667c38003a6fbf778813165c07da03024538ead6b196f50617d
MD5 5d5a49edf6d76ccd36bce263d5dbcd5a
BLAKE2b-256 9d0b773e230a7d397bcc1874ceb7144f4ef0c4c0b560343356fd7a59ec8705df

See more details on using hashes here.

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

Hashes for ednarzinho-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e38c799bc96133eb4565f803ca93fc47608e47bd42acb8b2608683ddc36352a
MD5 ce30a28df4bd3a6f93f213d7d4b013b4
BLAKE2b-256 41d321637eca7fbcb32e3a9019a77f78088a4dcb7665d129d58c05e010c47158

See more details on using hashes here.

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