Programacao cientifica em C

Iniciado por Baden, 24 de Outubro de 2007, 13:11

tópico anterior - próximo tópico

Baden

Ola' pessoal,
preciso fazer um calculo matematico que envolva funcoes "seno" com precisao relativamente mais elevada que utilizo. Programo em C, mas nao sou "especialista". Pelo que sei, utilizando variaveis tipo double consigo precisao de 15 casas decimais, mas necessito 33. Pensei em usar bibliotecas para precisao arbitraria ( www.mpfr.org/ ).
Seria outra opcao rodar em 64 bits, onde com long double conseguiria 33 casas?
Nesse caso, qual gcc seria?

Alguem pode ajudar?
[]s

Dimas

Se você está buscando qualidade no seu resultado, você pode usar o C-XSC, que é uma biblioteca intervalar que aplica as leis da Computação Verificada. Eu utilizo ela. Ela á um pouco lenta, mas o resultado das operações difere do resultado real em apenas um arredondamento.

Você pode ainda usar a GSL, mas ai você não vai ter um resultado muito correto.

Os sites para as duas são os seguintes:
C-XSC: http://www.math.uni-wuppertal.de/~xsc/xsc/cxsc.html
GSL: http://www.gnu.org/software/gsl/

Valeu
Dimas Gabriel
digabriel[at]gmail.com

"Liberdade é a questão, a única e exclusiva questão."

kcnp

Você saberia de alguma documentação em português da biblioteca C-XSC?
kcnp

Dimas

Citação de: kcnp online 25 de Outubro de 2007, 23:41
Você saberia de alguma documentação em português da biblioteca C-XSC?


Português não tem nada cara. Inglês tem, alemão também :)
Isso acontece porque ela foi desenvolvida em uma universidade né cara, então documentação mesmo é só em inglês.

Eu trabalho com ela ja fazem 2 anos e meu trabalho de conclusão é uma otimização da mesma, se quiser algumas dicas então pode perguntar.
Dimas Gabriel
digabriel[at]gmail.com

"Liberdade é a questão, a única e exclusiva questão."

celsofaf

Meu, isso muito me interessa. Vou logo experimentar estas bibliotecas!
Rio de Janeiro, RJ, Brasil

Baden

#5
Valeu pela dica Dimas.

Estou dando uma olhada no manual da C-XSC e comparando com a MPFR.
Uma outra que olhei e' a MAPM (www.tc.umn.edu/~ringx004/mapm-main.html), mas me pareceu descontinuada desde 2003.
[]s

noctum

humm e que tal trabalhar com uma linguagem funcional !! acho que seria a melhor opção :) e para numeros grandes usar listas :).

Exprimente ocaml --> http://caml.inria.fr/ linguagem extremamente potente.

Baden

Vou dar uma olhada. Meu problema e' que necessito repetir os calculos por um numero grande de vezes usando loops e para muitas "condicoes iniciais", o que torna normalmente os programas bem lentos. Esse e' o motivo pelo qual costumo usar C ou Fortran.