Repolode
patrick-kidger

patrick-kidger/diffrax

Solvers numéricos de equações diferenciais para JAX, com suporte a ODEs, SDEs e CDEs, autodiferenciação e execução em GPU.

Estrelas
2,122
Forks
202
Issues abertas
265
Último commit
há 2 meses

O que é?

Diffrax é uma biblioteca de solvers numéricos de equações diferenciais construída sobre JAX. Ela trabalha com equações diferenciais ordinárias (ODEs), estocásticas (SDEs) e controladas (CDEs) usando uma estrutura interna unificada, de modo que as três são resolvidas da mesma forma.

A biblioteca inclui vários solvers, como Tsit5, Dopri5 e Dopri8 para integração explícita, além de métodos simpléticos e implícitos. É possível aplicar vmap a todos os aspectos, inclusive ao intervalo de integração, e o estado pode ser qualquer PyTree. Também há soluções densas e vários métodos adjoint para fazer backpropagation através de uma resolução.

Diffrax é voltada a quem precisa de simulações diferenciáveis, como no caso de equações diferenciais neurais. A instalação é feita com pip, e é necessário usar Python 3.10 ou mais recente.

Recursos principais

  • 01Resolve ODEs, SDEs e CDEs com uma única estrutura unificada.
  • 02Inclui solvers explícitos, simpléticos e implícitos, como Tsit5 e Dopri8.
  • 03Oferece suporte a vmap na resolução, inclusive no intervalo de integração.
  • 04Aceita estados PyTree e fornece soluções densas.
  • 05Oferece vários métodos adjoint para backpropagation.

Casos de uso

  • Treinar modelos de equações diferenciais neurais que precisam calcular gradientes através de um solver.
  • Executar simulações em lote de sistemas dinâmicos na GPU.
  • Simular processos estocásticos com solvers de SDE.

Início rápido

  1. 1

    Instale a biblioteca com pip

    pip install diffrax
  2. 2

    Defina um termo ODE e um solver e chame diffeqsolve (consulte o exemplo rápido no README)

Antes de usar

  • Requer Python 3.10 ou mais recente.
  • É baseado no JAX, então você precisa ter uma configuração funcional do JAX para usá-lo.

Em coleções

Tópicos

#differential-equations#jax#scientific-computing#neural-differential-equations#ode-solver#gpu#deep-learning#dynamical-systems#equinox#machine-learning

Perguntas frequentes

O que é diffrax?
Solvers numéricos de equações diferenciais para JAX, com suporte a ODEs, SDEs e CDEs, autodiferenciação e execução em GPU. Diffrax é uma biblioteca de solvers numéricos de equações diferenciais construída sobre JAX. Ela trabalha com equações diferenciais ordinárias (ODEs), estocásticas (SDEs) e controladas (CDEs) usando uma estrutura interna unificada, de modo que as três são resolvidas da mesma forma.
diffrax é gratuito? Qual é a licença?
diffrax é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
diffrax ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de diffrax foi em 6 de set. de 2026.
Para que posso usar diffrax?
Treinar modelos de equações diferenciais neurais que precisam calcular gradientes através de um solver. Executar simulações em lote de sistemas dinâmicos na GPU. Simular processos estocásticos com solvers de SDE.
Como instalar diffrax?
Instale a biblioteca com pip: pip install diffrax Defina um termo ODE e um solver e chame diffeqsolve (consulte o exemplo rápido no README)
Onde consigo diffrax?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/patrick-kidger/diffrax

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados