Autor Tópico: Programacao cientifica em C  (Lida 3270 vezes)

Offline Baden

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Programacao cientifica em C
« Online: 24 de Outubro de 2007, 13:11 »
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
« Última modificação: 24 de Outubro de 2007, 13:29 por Baden »

Offline Dimas

  • Usuário Ubuntu
  • *
  • Mensagens: 81
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #1 Online: 24 de Outubro de 2007, 15:53 »
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."

Offline kcnp

  • Usuário Ubuntu
  • *
  • Mensagens: 88
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #2 Online: 25 de Outubro de 2007, 23:41 »
Você saberia de alguma documentação em português da biblioteca C-XSC?
kcnp

Offline Dimas

  • Usuário Ubuntu
  • *
  • Mensagens: 81
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #3 Online: 26 de Outubro de 2007, 01:45 »
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."

Offline celsofaf

  • Usuário Ubuntu
  • *
  • Mensagens: 254
  • Ubuntu 12.10
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #4 Online: 26 de Outubro de 2007, 13:17 »
Meu, isso muito me interessa. Vou logo experimentar estas bibliotecas!
Rio de Janeiro, RJ, Brasil

Offline Baden

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #5 Online: 29 de Outubro de 2007, 07:41 »
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
« Última modificação: 29 de Outubro de 2007, 07:46 por Baden »

Offline noctum

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #6 Online: 30 de Outubro de 2007, 11:34 »
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.

Offline Baden

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Re: Programacao cientifica em C
« Resposta #7 Online: 01 de Novembro de 2007, 08:06 »
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.