4 pontos por GN⁺ 2024-12-09 | 1 comentários | Compartilhar no WhatsApp

Resumo da atualização do Mathics3/mathics-core

  • Novos recursos e melhorias

    • Está em andamento o trabalho para oferecer suporte ao carregamento preguiçoso de funções embutidas.
    • Modernização do código e do estilo em Python, adição de anotações de tipo e remoção de erros de ortografia.
    • Uso das versões mais recentes do SymPy e do Python.
    • Novas funções embutidas adicionadas: $MaxLengthIntStringConversion, Elements, ComplexExpand, ConjugateTranspose, LeviCivitaTensor, RealAbs, RealSign, RealValuedNumberQ.
  • Documentação

    • Correção de problemas de formatação em arquivos PDF.
    • Aumento do espaçamento numérico no sumário de capítulos e seções.
    • Aumento do espaço em branco ao redor das definições embutidas.
    • Correção de erros de ortografia.
    • Revisão do código de execução de doctests e de geração de documentação LaTeX para permitir atualizações graduais dos recursos embutidos.
  • Compatibilidade

    • Plot não exibe mensagens durante a avaliação.
    • Range[] agora também pode lidar com números negativos.
    • Suporte aprimorado para DirectedInfinity e Indeterminate.
    • Exibição de tooltips de mensagens de erro na interface Mathics-Django.
    • $CharacterEncoding pode ser alterado dentro da sessão.
  • Estrutura interna

    • eval_abs e eval_sign foram extraídos de Abs e Sign e adicionados a mathics.eval.arithmetic.
    • O número máximo de dígitos em strings é definido como 7000 e pode ser ajustado pela variável de ambiente MATHICS_MAX_STR_DIGITS.
    • Comparações de números reais agora se baseiam na implementação interna de RealSign.
    • No Python 3.11, $MaxLengthIntStringConversion controla o tamanho máximo da conversão entre inteiros grandes e strings.
  • Correções de bugs

    • Definitions é compatível com pickle.
    • Suporte aprimorado para expressões Quantity.
    • A opção de plano de fundo em Graphics e Graphics3D funciona corretamente.
    • Correção de problemas de comparação numérica em expressões que incluem strings.
    • Correção de problemas no tratamento de infinito em Switch[].
    • Correção de problemas no tratamento de SparseArray em Outer[].
    • ArrayQ[] detecta SparseArray.
    • Correção de problemas no tratamento da exceção BoxExpressionError.
    • Correção de problemas na avaliação de derivadas de True, False e List[].
    • Correções no pacote Combinatorica.
    • Correção de problemas no funcionamento de Exit[].
    • BaseForm está listado em $OutputForms.
  • Mudanças na API

    • Agora é necessário chamar a nova função import_and_load_builtins().
    • Isso é necessário para dar suporte ao carregamento preguiçoso de módulos embutidos.
  • Atualizações de pacotes

    • Suporte ao Python 3.11.
    • Suporte ao Sympy 1.12.

1 comentários

 
GN⁺ 2024-12-09
Comentários do Hacker News
  • Tenho acompanhado este projeto há alguns anos, e existem várias soluções maduras para quem se interessa por sistemas de álgebra computacional de código aberto

    • Desde os clássicos como GNU Octave e Maxima até opções modernas como SAGEmath, Symbolics.jl e sympy
    • Abrange desde bibliotecas simbólicas como GiNaC até IDEs "com tudo incluído" como o SAGEmath
    • O SAGEmath foi pioneiro na interface de notebook web que acabou dando origem ao Jupyter de hoje
  • Pessoalmente, gosto do estilo mais LISPy do Mathematica, mas o poder do MMA está em sua vasta biblioteca

    • Inclui não só soluções líderes de mercado para tópicos básicos como integração simbólica, gráficos 2D/3D e método dos elementos finitos, mas também domínios especializados como bioinformática
    • O Mathics reproduziu bem o núcleo, mas faltam todas essas bibliotecas
    • A lógica é semelhante à dos clones de Matlab e numpy
  • O Wolfram Cloud é oferecido gratuitamente para uso pessoal, e o Wolfram Engine é uma forma de usar o Mathematica de graça pela linha de comando

  • Uma breve introdução ao Mathics pode ser vista aqui

  • O Mathematica pode ser usado gratuitamente no Raspberry Pi, e a maioria das universidades possui licença institucional

    • A licença "Home & Hobby" é relativamente barata: US$ 195 por ano ou US$ 390 pela licença perpétua
    • Acho que vale a pena pagar o preço da licença de hobby, e acho positivo apoiar softwares de matemática
  • Softwares matemáticos (F)OSS ainda cumprem um papel importante

    • O Mathematica é abrangente, mas tem algumas limitações importantes em matemática avançada
    • Softwares (F)OSS como GAP, M2 e PARI/GP desempenham um papel importante ao complementar as lacunas da Wolfram Language
  • Não tenho grande interesse em projetos que tentam replicar as funcionalidades do Mathematica, mas esses projetos pressionam a Wolfram Research a continuar melhorando as funções básicas

  • Engenheiros de software tendem a não querer pagar por software

  • Um dos pontos incômodos do Mathematica é que todas as funções ficam concentradas no mesmo namespace, sem sobrecarga com diferentes opções de parametrização