close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Last modified 10 years ago

#1398 reopened defect

Errores en gsl_cdf_beta_Pinv con diferentes versiones de GSL

Reported by: Víctor de Buen Remiro Owned by: Jorge
Priority: highest Milestone: Mantainance
Component: Math Version: head
Severity: blocker Keywords:
Cc:

Description

La siguiente línea TOL

Real gsl_cdf_beta_Pinv(0.9999999868417623,24.95643274099755,918.6566331776214);

en windows devuelve 0.06581172725382078 y en linux omitido.

He probado en R y me da lo mismo que en windows por lo que entiendo que está bien.

qbeta(0.9999999868417623,24.95643274099755,918.6566331776214);
[1] 0.06581173

En windows estamos usando la versión 1.8 de 2006 que es al que encontré en su día ya precompilada como DLL para llegar y meter en Visual C++. En linux estamos en la 1.13 o la 1.12. Yo he probado a compilar en windows un main.c de un proyecto de ejemplo con la 1.13 y falla como en windows, dando algo más de información que no sé muy bien porqué se está perdiendo pues supuestamente tenemos un hook para recogerla:

gsl: ..\cdf\betainv.c:181: ERROR: inverse failed to converge
Default GSL error handler invoked.

Definitivamente hay que retroceder en linux a una GSL que funcione, empezando por la 1.8

Change History (13)

comment:1 Changed 13 years ago by Jorge

Owner: changed from Víctor de Buen Remiro to Jorge
Status: newaccepted

Empiezo por probar la version 1.8 en Linux. He descargado los fuentes de http://gnuwin32.sourceforge.net/downlinks/gsl-src-zip.php ya que el sitio oficial está de "black out"

comment:2 Changed 13 years ago by Jorge

Resolution: fixed
Status: acceptedclosed

Hemos comprobado que con la versión 1.8 esa función retorna los resultados esperados.

comment:3 Changed 13 years ago by Jorge

(In [4024]) refs #1398, testing code

comment:4 Changed 13 years ago by Víctor de Buen Remiro

Summary: Error en gsl_cdf_beta_Pinv con GSL 1.13Errores en gsl_cdf_beta_Pinv con diferentes versiones de GSL

Esta otra línea devuelve omitido con la GSL 1.8

Real gsl_cdf_beta_Pinv(0.9446900135371834,0.06873371518266619,6.27892521836533);

En cambio con las GSL 1.13 devuelve 0.058553049991647677 lo mismo que en R.

comment:5 Changed 13 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: closedreopened

comment:6 Changed 13 years ago by Jorge

(In [4025]) refs #1398, testing gsl_cdf_beta_Pinv in C

comment:7 Changed 13 years ago by Jorge

(In [4026]) refs #1398, adding more test points

comment:8 Changed 13 years ago by Jorge

(In [4027]) refs #1398, bug in loop

comment:9 Changed 13 years ago by Víctor de Buen Remiro

(In [4028]) Refs #1398
Avoiding problem with gsl_cdf_beta_Pinv in gsl_M_cdf_beta_Pinv using BBetaDist::InvInc based on cdfbet of DCDFLIB

comment:10 Changed 13 years ago by Víctor de Buen Remiro

(In [4029]) Refs #1398
Checking non finite values

comment:11 Changed 13 years ago by Víctor de Buen Remiro

(In [4030]) Refs #1398
Checking non finite values

comment:12 Changed 13 years ago by Jorge

Resolution: remind
Status: reopenedclosed

comment:13 Changed 10 years ago by Pedro Gea

Resolution: remind
Status: closedreopened

El test no pasa con TOL-GNU. Véase #1812.

Emite el siguiente mensaje:

Warning: [1] [GSL Error 5] inverse failed to converge
At line 181 of file betainv.c
Note: See TracTickets for help on using tickets.