Mathics 7.0 – a alternativa open source ao Mathematica
(github.com/Mathics3)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
doctestse de geração de documentação LaTeX para permitir atualizações graduais dos recursos embutidos.
-
Compatibilidade
Plotnão exibe mensagens durante a avaliação.Range[]agora também pode lidar com números negativos.- Suporte aprimorado para
DirectedInfinityeIndeterminate. - Exibição de tooltips de mensagens de erro na interface Mathics-Django.
$CharacterEncodingpode ser alterado dentro da sessão.
-
Estrutura interna
eval_abseeval_signforam extraídos deAbseSigne adicionados amathics.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,
$MaxLengthIntStringConversioncontrola o tamanho máximo da conversão entre inteiros grandes e strings.
-
Correções de bugs
Definitionsé compatível compickle.- Suporte aprimorado para expressões
Quantity. - A opção de plano de fundo em
GraphicseGraphics3Dfunciona 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
SparseArrayemOuter[]. ArrayQ[]detectaSparseArray.- Correção de problemas no tratamento da exceção
BoxExpressionError. - Correção de problemas na avaliação de derivadas de
True,FalseeList[]. - Correções no pacote
Combinatorica. - Correção de problemas no funcionamento de
Exit[]. BaseFormestá 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.
- Agora é necessário chamar a nova função
-
Atualizações de pacotes
- Suporte ao Python 3.11.
- Suporte ao Sympy 1.12.
1 comentários
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
Pessoalmente, gosto do estilo mais LISPy do Mathematica, mas o poder do MMA está em sua vasta biblioteca
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
Softwares matemáticos (F)OSS ainda cumprem um papel importante
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