svd() documentation suggestion

View: New views
1 Messages — Rating Filter:   Alert me  

svd() documentation suggestion

by Robert Watkins-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bug report for Octave 3.0.5 configured for i386-apple-darwin8.9.1

Description:
-----------
In Matlab, [u,s,v] = svd(X) guarantees that the singular values are  
returned
in descending order, and this fact is documented in the Matlab Users  
Guide.
Octave appears to do the same, but the documentation makes no mention
of it.

Repeat-By:
---------
See description of svd() in the Linear Algebra/Matrix Factorizations
section of the the Octave Manual.  Note absence of any description of
the order of the singular values.

Fix:
---
Confirm that the order of singular values returned by svd() is indeed
guaranteed to be descending.  If so, update Octave manual; if not,
consider it a Matlab compatibility bug.



Configuration (please do not edit this section):
-----------------------------------------------

uname output:     Darwin snowbird.local 9.6.0 Darwin Kernel Version  
9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386  
i386
configure opts:   'CC=gcc  -O3 -ftree-vectorize -fforce-addr -
march=i686 -mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx'  
'CPP=gcc  -O3 -ftree-vectorize -fforce-addr -march=i686 -mfpmath=sse,
387 -mieee-fp -msse3 -msse2 -msse -mmmx -E' 'CXX=g++  -O3 -ftree-
vectorize -fforce-addr -march=i686 -mfpmath=sse,387 -mieee-fp -msse3 -
msse2 -msse -mmmx' 'CFLAGS=' 'CPPFLAGS=' 'CXXFLAGS=' 'LDFLAGS=' '--
prefix=/tmp/dependencies-i386' '' 'F77=fort77 -O3 -ftree-vectorize -
fforce-addr -march=i686 -mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse  
-mmmx' 'FLIBS=-lf2c' 'FFLAGS=' '--enable-shared' 'host_alias=i386-
apple-darwin8.9.1'
Fortran compiler: fort77 -O3 -ftree-vectorize -fforce-addr -march=i686  
-mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx
FFLAGS:
F2C:              @F2C@
F2CFLAGS:         @F2CFLAGS@
FLIBS:            -lf2c
CPPFLAGS:          -I/tmp/dependencies-i386/include
INCFLAGS:         -I. -I. -I./liboctave -I./src -I./libcruft/misc
C compiler:       gcc  -O3 -ftree-vectorize -fforce-addr -march=i686 -
mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx, version 4.0.1  
(Apple Computer, Inc. build 5370)
CFLAGS:
CPICFLAG:         -fPIC
C++ compiler:     g++  -O3 -ftree-vectorize -fforce-addr -march=i686 -
mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx, version 4.0.1
CXXFLAGS:
CXXPICFLAG:       -fPIC
LD_CXX:           g++  -O3 -ftree-vectorize -fforce-addr -march=i686 -
mfpmath=sse,387 -mieee-fp -msse3 -msse2 -msse -mmmx
LDFLAGS:
LIBFLAGS:         -L.
RLD_FLAG:
BLAS_LIBS:        -Wl,-framework -Wl,vecLib
FFTW_LIBS:        -lfftw3
LIBS:             -lreadline  -lncurses -lhdf5 -lz -lm
LEXLIB:
LIBGLOB:
SED:              /usr/bin/sed
DEFS:

   -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION=""
   -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DOCTAVE_SOURCE=1
   -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
   -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -
DHAVE_STRINGS_H=1
   -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -
D__EXTENSIONS__=1
   -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1
   -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1
   -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1
   -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1
   -D_TANDEM_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" -
D__NO_MATH_INLINES=1
   -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DCXX_ISO_COMPLIANT_LIBRARY=1
   -DCXX_ABI=unknown -DCXX_PREPENDS_UNDERSCORE=1 -DHAVE_LIBM=1
   -DHAVE_QHULL=1 -DHAVE_PCRE=1 -DHAVE_REGEXEC=1 -DHAVE_REGEX=1
   -DHAVE_ZLIB_H=1 -DHAVE_ZLIB=1 -DHAVE_HDF5_H=1 -DHAVE_HDF5=1
   -DHAVE_H5GGET_NUM_OBJS=1 -DHAVE_FFTW3=1 -DHAVE_GLPK_H=1 -DHAVE_GLPK=1
   -DHAVE_CURL_CURL_H=1 -DHAVE_CURL=1 -DHAVE_IEEE754_DATA_FORMAT=1
   -DF77_FUNC(name,NAME)=name ## _ -DF77_FUNC_(name,NAME)=name ## __
   -DHAVE_BLAS=1 -DHAVE_UMFPACK_H=1 -DHAVE_UMFPACK=1
   -DUMFPACK_SEPARATE_SPLIT=1 -DHAVE_COLAMD_H=1 -DHAVE_COLAMD=1
   -DHAVE_CCOLAMD_H=1 -DHAVE_CCOLAMD=1 -DHAVE_CHOLMOD_H=1 -
DHAVE_CHOLMOD=1
   -DHAVE_CS_H=1 -DHAVE_CXSPARSE=1 -DHAVE_GETHOSTNAME=1 -
DHAVE_GETPWNAM=1
   -DHAVE_DEV_T=1 -DHAVE_INO_T=1 -DHAVE_NLINK_T=1 -DHAVE_NLINK_T=1
   -DHAVE_LONG_LONG_INT=1 -DHAVE_UNSIGNED_LONG_LONG_INT=1 -
DHAVE_SIGSET_T=1
   -DHAVE_SIG_ATOMIC_T=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4
   -DSIZEOF_LONG_LONG=8 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1
   -DNPOS=std::string::npos -DHAVE_PLACEMENT_DELETE=1
   -DHAVE_DYNAMIC_AUTO_ARRAYS=1 -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_GRP_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIMITS_H=1 -
DHAVE_LOCALE_H=1
   -DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1 -DHAVE_POLL_H=1 -DHAVE_PWD_H=1
   -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -
DHAVE_SYS_IOCTL_H=1
   -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_POLL_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_TERMCAP_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UTIME_H=1 -
DHAVE_SSTREAM=1
   -DHAVE_SGTTY_H=1 -DHAVE_GLOB_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_FNMATCH=1
   -DHAVE_GLOB=1 -DHAVE_ATEXIT=1 -DHAVE_BASENAME=1 -DHAVE_BCOPY=1
   -DHAVE_BZERO=1 -DHAVE_CHMOD=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_GETPGRP=1
   -DHAVE_GETPID=1 -DHAVE_GETPPID=1 -DHAVE_GETPWENT=1 -DHAVE_GETPWUID=1
   -DHAVE_GETTIMEOFDAY=1 -DHAVE_GETUID=1 -DHAVE_GETWD=1 -DHAVE_KILL=1
   -DHAVE_LGAMMA=1 -DHAVE_LINK=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LSTAT=1
   -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_MKFIFO=1 -DHAVE_MKSTEMP=1
   -DHAVE_PIPE=1 -DHAVE_POLL=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1
   -DHAVE_READLINK=1 -DHAVE_REALPATH=1 -DHAVE_RENAME=1 -DHAVE_RINDEX=1
   -DHAVE_RMDIR=1 -DHAVE_ROUND=1 -DHAVE_SELECT=1 -DHAVE_SETGRENT=1
   -DHAVE_SETLOCALE=1 -DHAVE_SETPWENT=1 -DHAVE_SETVBUF=1 -
DHAVE_SIGACTION=1
   -DHAVE_SIGLONGJMP=1 -DHAVE_SIGPENDING=1 -DHAVE_SIGPROCMASK=1
   -DHAVE_SIGSUSPEND=1 -DHAVE_SNPRINTF=1 -DHAVE_STAT=1 -
DHAVE_STRCASECMP=1
   -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 -
DHAVE_STRPTIME=1
   -DHAVE_STRSIGNAL=1 -DHAVE_SYMLINK=1 -DHAVE_TEMPNAM=1 -DHAVE_TGAMMA=1
   -DHAVE_UMASK=1 -DHAVE_UNAME=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1
   -DHAVE_UTIME=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_VSNPRINTF=1
   -DHAVE_WAITPID=1 -DHAVE_STRFTIME=1 -DOCTAVE_HAVE_BROKEN_STRPTIME=1
   -DHAVE_DYLD_API=1 -DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1
   -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_ISINF=1 -DHAVE_COPYSIGN=1
   -DHAVE_DECL_SIGNBIT=1 -DHAVE_ACOSH=1 -DHAVE_ASINH=1 -DHAVE_ATANH=1
   -DHAVE_ERF=1 -DHAVE_ERFC=1 -DHAVE_EXP2=1 -DHAVE_LOG2=1
   -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_STRUCT_STAT_ST_BLOCKS=1
   -DHAVE_STRUCT_STAT_ST_RDEV=1 -DHAVE_STRUCT_TM_TM_ZONE=1 -
DHAVE_TM_ZONE=1
   -DUSE_READLINE=1 -DEXCEPTION_IN_MATH=1 -DRETSIGTYPE=void
   -DHAVE_DECL_SYS_SIGLIST=1 -DHAVE_POSIX_SIGNALS=1 -
DRETSIGTYPE_IS_VOID=1
   -DHAVE_GETRUSAGE=1 -DHAVE_TIMES=1 -DYYTEXT_POINTER=1
   -DGNUPLOT_BINARY="gnuplot"

User-preferences (please do not edit this section):
--------------------------------------------------

   EDITOR = emacs
   EXEC_PATH = /Applications/Octave.app/Contents/Resources/libexec/
octave/3.0.5/site/exec/i386-apple-darwin8.9.1:/Applications/Octave.app/
Contents/Resources/libexec/octave/api-v32/site/exec/i386-apple-
darwin8.9.1:/Applications/Octave.app/Contents/Resources/libexec/octave/
site/exec/i386-apple-darwin8.9.1:/Applications/Octave.app/Contents/
Resources/libexec/octave/3.0.5/exec/i386-apple-darwin8.9.1:/
Applications/Octave.app/Contents/Resources/bin:/Applications/
Octave.app/Contents/Resources/bin:/Applications/Gnuplot.app/Contents/
Resources/bin:/usr/bin:/bin:/usr/sbin:/sbin
   IMAGE_PATH = .:/Applications/Octave.app/Contents/Resources/share/
octave/3.0.5/imagelib
   PAGER = less
   PS1 = octave>
   PS2 = >
   PS4 = +
   beep_on_error = 0
   completion_append_char =
   crash_dumps_octave_core = 0
   echo_executing_commands = 0
   fixed_point_format = 0
   gnuplot_binary = gnuplot
   gnuplot_command_end =

   gnuplot_command_plot = pl
   gnuplot_command_replot = rep
   gnuplot_command_splot = sp
   gnuplot_command_title = t
   gnuplot_command_using = u
   gnuplot_command_with = w
   history_file = /Users/rwatkins/.octave_hist
   history_size = 1024
   ignore_function_time_stamp = system
   info_file = /Applications/Octave.app/Contents/Resources/share/info/
octave.info
   info_program = info
   makeinfo_program = makeinfo
   max_recursion_depth = 256
   output_max_field_width = 5
   output_precision = 5
   page_output_immediately = 0
   page_screen_output = 0
   print_answer_id_name = 1
   print_empty_dimensions = 1
   save_precision = 16
   saving_history = 1
   sighup_dumps_octave_core = 1
   sigterm_dumps_octave_core = 1
   silent_functions = 0
   split_long_rows = 1
   string_fill_char =
   struct_levels_to_print = 2
   suppress_verbose_help_message = 0

_______________________________________________
Bug-octave mailing list
Bug-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/bug-octave