Perguntas com a marcação «floating-point»

Um método de representação de números por um número fixo de dígitos significativos e o expoente de algum número base. Eles são caracterizados na forma . Normalmente, os números são representados em relação a base = 2 (binário). ( s i g n eu f i c a n t d eu g i t s ) ∗ b a s e e x p o n e n t (sEugnEufEucumantdEugEuts)∗bumaseexponent

77
Existe um solucionador de programação não-linear de alta qualidade para Python?

Eu tenho vários problemas desafiadores de otimização global não convexa para resolver. Atualmente, uso o Optimization Toolbox do MATLAB (especificamente, fmincon()com o algoritmo = 'sqp'), o que é bastante eficaz . No entanto, a maior parte do meu código está em Python, e eu adoraria fazer a...

30
Quando log1p e expm1 devem ser usados?

Eu tenho uma pergunta simples que é realmente difícil para o Google (além do artigo canônico O que todo cientista da computação deve saber sobre aritmética de ponto flutuante ). Quando funções como log1pou expm1devem ser usadas em vez de loge exp? Quando eles não devem ser usados? Como as...

20
Analisando erro numérico na função C ++

Suponha que eu tenha uma função que tome como entrada vários valores de ponto flutuante (simples ou duplo), faça alguma computação e produza valores de ponto flutuante de saída (também únicos ou duplos). Estou trabalhando principalmente com o MSVC 2008, mas também planejo trabalhar com o MinGW /...

18
Cancelamento catastrófico na soma do log

Estou tentando implementar a seguinte função no ponto flutuante de precisão dupla com baixo erro relativo : logsum(x,y)=log(exp(x)+exp(y))logsum(x,y)=log⁡(exp⁡(x)+exp⁡(y))\mathrm{logsum}(x,y) = \log(\exp(x) + \exp(y)) Isso é usado extensivamente em aplicativos estatísticos para adicionar...

15
Cálculo robusto da média de dois números em ponto flutuante?

Vamos x, yser dois números de ponto flutuante. Qual é o caminho certo para calcular a média deles? A maneira ingênua (x+y)/2pode resultar em estouros quando xe ysão muito grandes. Acho que 0.5 * x + 0.5 * ytalvez seja melhor, mas envolve duas multiplicações (o que talvez seja ineficiente), e não...

13
Contagem de FLOP para funções de biblioteca

Ao avaliar o número de FLOPs em uma função simples, geralmente é possível simplesmente descer a expressão que calcula os operadores aritméticos básicos. No entanto, no caso de declarações matemáticas envolvendo divisão uniforme, não se pode fazer isso e espera poder comparar com contagens de FLOP...

11
Existem maneiras aprimoradas de calcular ?

A maioria das bibliotecas de matemática possui várias versões de funções de logaritmo. Na maioria das vezes, assumimos que eles são perfeitos, mas na verdade muitos deles oferecem apenas um certo número de dígitos de precisão. Para algumas funções, existem variantes numericamente mais estáveis....

10
Comparação relativa de números de ponto flutuante

Eu tenho uma função numérica f(x, y)retornando um número de ponto flutuante duplo que implementa alguma fórmula e quero verificar se ele está correto em relação às expressões analíticas para todas as combinações de parâmetros xe no yqual estou interessado. Qual é a maneira correta de comparar os...

10
Ordem das operações, algoritmos numéricos

Eu li isso (1) Operações mal condicionadas devem ser realizadas antes das bem condicionadas. Como exemplo, deve-se calcular xz−yzxz−yzxz-yz como (x−y)z(x−y)z(x-y)z pois a subtração está mal condicionada enquanto a multiplicação não. Entretanto, uma análise de erro de primeira ordem de ambos...

10
Como definir valores de precisão dupla no Fortran

Recentemente, encontrei um problema bizarro com o FORTRAN95. Inicializei as variáveis ​​X e Y da seguinte maneira: X=1.0 Y=0.1 Mais tarde eu os adiciono e imprimo o resultado: 1.10000000149012 Após examinar as variáveis, parece que 0,1 não é representado em dupla precisão com total precisão....