From bug-octave-request at bevo dot che dot wisc dot edu Thu Apr 8 15:16:48 1999 Subject: octave-2.1.14/svd trouble on alpha From: A Scott Hodel To: bug-octave at bevo dot che dot wisc dot edu Cc: hodel at edalf1 dot msfc dot nasa dot gov Date: Thu, 8 Apr 1999 15:14:11 -0500 (CDT) Bug report for Octave 2.1.14 configured for alphaev56-dec-osf4.0e Description: ----------- There is a change in svd behavior from octave-2.1.10 to octave-2.1.14. For the data below, svd exits with a floating point exception in octave-2.1.14. octave-2.1.10 returns reasonable looking values. I initially thought this may be due to uninitialized memory (indicated from previous experience on an alpha), but adding initialization loops to dbleSVD.cc didn't fix the problem. I'm putting this report out in case someone else has an idea on how to track the problem. Repeat-By: --------- items in {} are my comments added after the fact. The data for the load command are listed below. octave:1> load ~/A octave:2> svd(A) {output from statements added to DLD-FUNCTIONS/svd.cc} svd: calling svd with tmp= [ -5.72401, -0.28482, 0.00000, -0.00000, 0.00000, 1.49259; 0.00000, 4.65916, -0.00000, 0.10753, -1.40613, -1.21300; 0.00000, 0.00000, -3.94224, 0.48322, -0.04033, -0.00000; 0.00000, 0.00000, 0.00000, 2.67376, -1.04678, 0.04878; 0.00000, 0.00000, 0.00000, 0.00000, -2.38298, 0.23838; 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000 ] {output from statements added to liboctave/dbleSVD.cc} svd: u initialized svd: sigma initialized svd: vt initialized svd: pwork initialized dbleSVD: atmp= -5.72401 -0.28482 4.09403e-16 -3.76508e-16 1.35938e-16 1.49259 0 4.65916 -2.99135e-16 0.107535 -1.40613 -1.213 0 0 -3.94224 0.483225 -0.0403338 -3.46945e-18 0 0 0 2.67376 -1.04678 0.0487849 0 0 0 0 -2.38298 0.238384 0 0 0 0 0 4.68375e-17 calling dgesvd error: floating point exception -- trying to return to prompt The file A is: # Created by Octave 2.1.14, Thu Apr 8 19:09:45 1999 # name: nargout # type: scalar 1 # name: A # type: matrix # rows: 6 # columns: 6 -5.72400823938674 -0.284820008293447 4.0940340405351e-16 -3.76507934162932e-16 1.35938025899227e-16 1.49258767993643 0 4.6591578527853 -2.99134767097074e-16 0.107534521904108 -1.40612791582076 -1.21299562340364 0 0 -3.94223788480236 0.483224773756587 -0.0403338051371072 -3.46944695195361e-18 0 0 0 2.67375724869133 -1.04678197518942 0.0487848717374508 0 0 0 0 -2.38298343056471 0.238383570416141 0 0 0 0 0 4.68375338513738e-17 # name: nargin # type: scalar 1 # name: argn # type: string array # elements: 1 # length: 2 rr # name: rank_A # type: matrix # rows: 6 # columns: 6 -5.72400823938674 -0.284820008293447 4.0940340405351e-16 -3.76507934162932e-16 1.35938025899227e-16 1.49258767993643 0 4.6591578527853 -2.99134767097074e-16 0.107534521904108 -1.40612791582076 -1.21299562340364 0 0 -3.94223788480236 0.483224773756587 -0.0403338051371072 -3.46944695195361e-18 0 0 0 2.67375724869133 -1.04678197518942 0.0487848717374508 0 0 0 0 -2.38298343056471 0.238383570416141 0 0 0 0 0 4.68375338513738e-17 Fix: --- Unknown; I'm still working on it. Configuration (please do not edit this section): ----------------------------------------------- uname output: OSF1 edalf1 V4.0 1091 alpha configure opts: --prefix=/usr/local/gnu --enable-dld Fortran compiler: g77 FFLAGS: -O F2C: F2CFLAGS: FLIBS: -lg2c -lm -L/usr/local/gnu/lib/gcc-lib/alphaev56-dec-osf4.0b/2.8.1 -L/usr/local/gnu/alphaev56-dec-osf4.0b/lib -L/usr/lib/cmplrs/cc -L/usr/local/gnu/lib -lm CPPFLAGS: INCFLAGS: -I/usr/local/gnu/include/octave-2.1.14/octave -I/usr/local/gnu/include C compiler: gcc, version 2.8.1 CFLAGS: -DHAVE_CONFIG_H -mieee-with-inexact -O -I/usr/local/gnu/include -L/usr/local/gnu/lib CPICFLAG: C++ compiler: c++, version 2.8.1 CXXFLAGS: -DHAVE_CONFIG_H -mieee-with-inexact -fno-rtti -fno-exceptions -fno-implicit-templates -g -O2 -Wall CXXPICFLAG: LDFLAGS: -g LIBFLAGS: -L/usr/local/gnu/lib/octave-2.1.14 RLD_FLAG: -Xlinker -rpath -Xlinker /usr/local/gnu/lib/octave-2.1.14 TERMLIBS: -lcurses LIBS: LEXLIB: LIBPLPLOT: LIBDLFCN: LIBGLOB: ./glob/libglob.a DEFS: -DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" -DUSE_READLINE=1 -D__NO_MATH_INLINES=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DHAVE_LIBM=1 -DF77_APPEND_UNDERSCORE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=8 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DNPOS=string::npos -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_GLOB_H=1 -DHAVE_GRP_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NAN_H=1 -DHAVE_PWD_H=1 -DHAVE_SGTTY_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTSNAME_H=1 -DHAVE_TERMIO_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_VARARGS_H=1 -DHAVE_ATEXIT=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_DUP2=1 -DHAVE_ENDGRENT=1 -DHAVE_ENDPWENT=1 -DHAVE_EXECVP=1 -DHAVE_FCNTL=1 -DHAVE_FORK=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETGRENT=1 -DHAVE_GETGRGID=1 -DHAVE_GETGRNAM=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETPGRP=1 -DHAVE_GETPID=1 -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWNAM=1 -DHAVE_GETPWUID=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_LSTAT=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_PIPE=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1 -DHAVE_RMDIR=1 -DHAVE_SETGRENT=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 -DHAVE_SIGACTION=1 -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGSUSPEND=1 -DHAVE_STAT=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRFTIME=1 -DHAVE_STRNCASECMP=1 -DHAVE_TEMPNAM=1 -DHAVE_UMASK=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_WAITPID=1 -DHAVE_DLOPEN=1 -DHAVE_DLSYM=1 -DHAVE_DLERROR=1 -DHAVE_DLCLOSE=1 -DWITH_DL=1 -DWITH_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1 -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_ST_BLOCKS=1 -DHAVE_ST_RDEV=1 -DHAVE_TM_ZONE=1 -DHAVE_GR_PASSWD=1 -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void -DHAVE_SYS_SIGLIST=1 -DHAVE_POSIX_SIGNALS=1 -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1 -DGNUPLOT_HAS_MULTIPLOT=1 -DGNUPLOT_HAS_FRAMES=1