|
View:
New views
15 Messages
—
Rating Filter:
Alert me
|
|
|
Frobenius norm of a null matrix is not zero--------
Bug report for Octave 3.0.0 configured for i386-apple-darwin8.11.1 Description: ----------- The Frobenius norm of a null matrix is reported to be NaN and a warning is raised. Repeat-By: --------- norm(zeros(5), "fro" ) Configuration (please do not edit this section): ----------------------------------------------- uname output: Darwin rajif 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386 configure opts: 'LDFLAGS=-L/usr/local/lib' 'CPPFLAGS=-I/usr/local/include/readline' Fortran compiler: gfortran FFLAGS: -O -mieee-fp F2C: @F2C@ F2CFLAGS: @F2CFLAGS@ FLIBS: -L/usr/local/lib -L/usr/local/lib/gcc/i386-apple-darwin8.8.1/4.2.0 -L/usr/local/lib/gcc/i386-apple-darwin8.8.1/4.2.0/../../.. -lz -lm -lgfortranbegin -lgfortran CPPFLAGS: -I/usr/local/include/readline -I/usr/local/include INCFLAGS: -I. -I. -I./liboctave -I./src -I./libcruft/misc C compiler: gcc, version 4.0.1 (Apple Computer, Inc. build 5367) CFLAGS: -g -O2 CPICFLAG: -fPIC C++ compiler: g++, version 4.0.1 CXXFLAGS: -g -O2 CXXPICFLAG: -fPIC LD_CXX: g++ LDFLAGS: -L/usr/local/lib LIBFLAGS: -L. RLD_FLAG: BLAS_LIBS: -Wl,-framework -Wl,vecLib FFTW_LIBS: -lfftw3 LIBS: -lreadline -lncurses -lz -lm LEXLIB: LIBGLOB: SED: /usr/local/bin/sed DEFS: -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DOCTAVE_SOURCE=1 -D_GNU_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 -DSEPCHAR=':' -DSEPCHAR_STR=":" -D__NO_MATH_INLINES=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DCXX_ISO_COMPLIANT_LIBRARY=1 -DCXX_ABI=gnu_v3 -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_FFTW3=1 -DHAVE_GLPK_H=1 -DHAVE_GLPK=1 -DHAVE_IEEE754_DATA_FORMAT=1 -DF77_FUNC(name,NAME)=name ## _ -DF77_FUNC_(name,NAME)=name ## _ -DHAVE_BLAS=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 = /usr/local/libexec/octave/3.0.0/site/exec/i386-apple-darwin8.11.1:/usr/local/libexec/octave/api-v32/site/exec/i386-apple-darwin8.11.1:/usr/local/libexec/octave/site/exec/i386-apple-darwin8.11.1:/usr/local/libexec/octave/3.0.0/exec/i386-apple-darwin8.11.1:/usr/local/bin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/Users/cardoso/bin:/Users/cardoso/bin:/Users/cardoso/local/bin:/Volumes/partage/Soft/Astro/Healpix_2.01/src/cxx/generic_gcc/bin IMAGE_PATH = .:/usr/local/share/octave/3.0.0/imagelib PAGER = less PS1 = \s:\#> PS2 = > PS4 = + beep_on_error = 0 completion_append_char = crash_dumps_octave_core = 1 echo_executing_commands = 0 fixed_point_format = 0 gnuplot_binary = /usr/local/bin/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/cardoso/.octave_hist history_size = 1024 ignore_function_time_stamp = system info_file = /usr/local/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 = 1 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.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zeroThis fixes the problem.
Sorry, no time to send patches etc .... Rolf Fabian < r dot fabian at jacobs-university dot de > ## Copyright (C) 1996, 1997, 2007 John W. Eaton ## ## This file is part of Octave. ## ## Octave is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 3 of the License, or (at ## your option) any later version. ## ## Octave is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. ## Undocumented internal function. ## Author: jwe function retval = __norm__ (x, p) if (nargin < 1 || nargin > 2) print_usage (); endif if (isempty (x)) retval = []; return; endif if (ndims (x) > 2) error ("norm: only valid on 2-D objects") endif if (nargin == 1) p = 2; endif ## Do we have a vector or matrix as the first argument? if (ndims(x) == 2 && (rows (x) == 1 || columns (x) == 1)) if (ischar (p)) if (strcmp (p, "fro")) inf_norm = norm (x, "inf"); if ( inf_norm ) retval = inf_norm .* sqrt (sum (abs (x ./ inf_norm) .^ 2)); else retval = inf_norm; endif elseif (strcmp (p, "inf")) retval = max (abs (x)); else error ("norm: unrecognized norm"); endif else if (p == Inf) retval = max (abs (x)); elseif (p == -Inf) retval = min (abs (x)); elseif (p == 1) retval = sum (abs (x)); elseif (p == 2) if (iscomplex (x)) x = abs (x); endif retval = sqrt (sumsq (x)); else retval = sum (abs (x) .^ p) ^ (1/p); endif endif else if (ischar (p)) if (strcmp (p, "fro")) inf_norm = norm (x, "inf"); if ( inf_norm ) retval = inf_norm .* sqrt (sum (sum (abs (x ./ inf_norm) .^ 2))); else retval = inf_norm; endif elseif (strcmp (p, "inf")) retval = max (sum (abs (x.'))); else error ("norm: unrecognized vector norm"); endif else if (p == 1) retval = max (sum (abs (x))); elseif (p == 2) s = svd (x); retval = s (1); elseif (p == Inf) retval = max (sum (abs (x.'))); else error ("norm: unrecognized matrix norm"); endif endif endif endfunction
Rolf Fabian
<r dot fabian at jacobs-university dot de> |
|
|
Re: Frobenius norm of a null matrix is not zeroOn 11-Jan-2008, Rolf Fabian wrote:
| | This fixes the problem. | Sorry, no time to send patches etc .... Sorry, how hard is it to run diff -u my-orig-file my-new-file? jwe _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zeroHi there, I sent a patch about two weeks ago: http://www.nabble.com/Bug%2Bpatch%3A--norm%28X%2C-%22fro%22%29-fails-when-X-has-zero-norm-p14550359.html Best, JF |
|
|
Re: Frobenius norm of a null matrix is not zeroYou should not expect that anybody doing work for Octave is
doing it always on a UNIX system. E.g. trying to use 'diff.exe' (which is distributed as part of 'msys' shell with the Octave 3.0.0 windows installer) from within a Windows XP command prompt ('cmd') results in : Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\WINDOWS\system32> diff --help 'diff' is not recognized as an internal or external command, operable program or batch file. Obviously appropriate system paths for 'msys' were not added during the installation process ( at least on the system I used ). I needed some time to figure out, that in order to use 'diff' implemented in the Windows 'msys' - shell is expected to be used from the Octave prompt using Octave's "system"-command ( then 'msys'-functions are obviously found ): octave-3.0.0.exe:1> system ("diff -u old_file.m new_file.m > new_file.patch") which is a bit different from your oversimplification above. Rolf Fabian
Rolf Fabian
<r dot fabian at jacobs-university dot de> |
|
|
Re: Frobenius norm of a null matrix is not zeroOn Jan 14, 2008, at 5:37 AM, Rolf Fabian wrote: > > You should not expect that anybody doing work for Octave is > doing it always on a UNIX system. > > E.g. trying to use 'diff.exe' (which is distributed as part of > 'msys' shell with the Octave 3.0.0 windows installer) from > within a Windows XP command prompt ('cmd') results in : > > Microsoft Windows XP [Version 5.1.2600] > (C) Copyright 1985-2001 Microsoft Corp. > > C:\WINDOWS\system32> diff --help > 'diff' is not recognized as an internal or external command, > operable program or batch file. > > Obviously appropriate system paths for 'msys' were not added > during the installation process ( at least on the system I used ). > > I needed some time to figure out, that in order to use 'diff' > implemented in the Windows 'msys' - shell is expected to be > used from the Octave prompt using Octave's "system"-command > ( then 'msys'-functions are obviously found ): > > octave-3.0.0.exe:1> > system ("diff -u old_file.m new_file.m > new_file.patch") > > which is a bit different from your oversimplification above. > > Rolf Fabian > > > > John W. Eaton wrote: >> >> On 11-Jan-2008, Rolf Fabian wrote: >> >> | >> | This fixes the problem. >> | Sorry, no time to send patches etc .... >> >> Sorry, how hard is it to run diff -u my-orig-file my-new-file? >> >> jwe >> > ----- > Rolf Fabian > <r dot fabian at jacobs-university dot de> Rolf, It appears to me that the changes you made and those of jfc were different (at least a diff of yours produced a larger result). Are jfc's in fact the same, or sufficient? Ben _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zeroRight, I did more changes.
Besides catching the 'division by zero' errors which appeared for both input shapes (vector & matrix) of Frobenius norm (p='fro'), I also applied minor changes to modes (p='inf') and (p=Inf) of the the infinity norm which is used for scaling the input in the Frobenius case. Conceptually, infinity norm (largest sum of abs of row elements ) of a (non-vector) matrix x may be calculated as the 1-norm (largest sum of abs of column elements ) of the transposed input matrix x.' , thus "retval = max (sum (abs (x.')));" should be appropriate for matrix infinity norm case in the '__norm__.m' code. Instead, Octave used "retval = max (sum (abs (x')));" as long as I can remember back ( >10 y ). Of course, the result for 'retval' in both code snippets is the same ( as a consequence of the invoked abs-function ), but I thought it's really time now to remove this confusing redundant complex conjugation of the transposed matrix while evaluating matrix infinity norm. Rolf Fabian <r dot fabian at jacobs-university dot de>
Rolf Fabian
<r dot fabian at jacobs-university dot de> |
|
|
Re: Frobenius norm of a null matrix is not zeroOn Monday, January 14, 2008, at 09:16AM, "Rolf Fabian" <Rolf.Fabian@...> wrote:
> > >Ben Abbott wrote: >> >> >> On Jan 14, 2008, at 5:37 AM, Rolf Fabian wrote: >> >>> >>> You should not expect that anybody doing work for Octave is >>> doing it always on a UNIX system. >>> >>> E.g. trying to use 'diff.exe' (which is distributed as part of >>> 'msys' shell with the Octave 3.0.0 windows installer) from >>> within a Windows XP command prompt ('cmd') results in : >>> >>> Microsoft Windows XP [Version 5.1.2600] >>> (C) Copyright 1985-2001 Microsoft Corp. >>> >>> C:\WINDOWS\system32> diff --help >>> 'diff' is not recognized as an internal or external command, >>> operable program or batch file. >>> >>> Obviously appropriate system paths for 'msys' were not added >>> during the installation process ( at least on the system I used ). >>> >>> I needed some time to figure out, that in order to use 'diff' >>> implemented in the Windows 'msys' - shell is expected to be >>> used from the Octave prompt using Octave's "system"-command >>> ( then 'msys'-functions are obviously found ): >>> >>> octave-3.0.0.exe:1> >>> system ("diff -u old_file.m new_file.m > new_file.patch") >>> >>> which is a bit different from your oversimplification above. >>> >>> Rolf Fabian >>> >>> >>> >>> John W. Eaton wrote: >>>> >>>> On 11-Jan-2008, Rolf Fabian wrote: >>>> >>>> | >>>> | This fixes the problem. >>>> | Sorry, no time to send patches etc .... >>>> >>>> Sorry, how hard is it to run diff -u my-orig-file my-new-file? >>>> >>>> jwe >>>> >>> ----- >>> Rolf Fabian >>> <r dot fabian at jacobs-university dot de> >> >> >> Rolf, >> >> It appears to me that the changes you made and those of jfc were >> different (at least a diff of yours produced a larger result). >> >> Are jfc's in fact the same, or sufficient? >> >> Ben >> > >Right, I did more changes. > >Besides catching the 'division by zero' errors which appeared >for both input shapes (vector & matrix) of Frobenius norm (p='fro'), >I also applied minor changes to modes (p='inf') and (p=Inf) of the >the infinity norm which is used for scaling the input in the Frobenius >case. > >Conceptually, infinity norm (largest sum of abs of row elements ) of >a (non-vector) matrix x may be calculated as the 1-norm >(largest sum of abs of column elements ) of the transposed >input matrix x.' , thus >"retval = max (sum (abs (x.')));" >should be appropriate for matrix infinity norm case in the >'__norm__.m' code. > >Instead, Octave used "retval = max (sum (abs (x')));" >as long as I can remember back ( >10 y ). >Of course, the result for 'retval' in both code snippets is >the same ( as a consequence of the invoked abs-function ), >but I thought it's really time now to remove this confusing >redundant complex conjugation of the transposed matrix while >evaluating matrix infinity norm. > >Rolf Fabian ><r dot fabian at jacobs-university dot de> > Ok. It sounds like you're version is to be preferred over the one submitted by jfc, correct? If so perhaps a patch and changelog can be created? It would also be useful to add some test scripts. If you're unfamiliar with those I can add them. I just need some examples of how __norm__ is used. Ben _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zeroOn 14-Jan-2008, Ben Abbott wrote:
| Ok. It sounds like you're version is to be preferred over the one | submitted by jfc, correct? | | If so perhaps a patch and changelog can be created? | | It would also be useful to add some test scripts. If you're | unfamiliar with those I can add them. I just need some examples of | how __norm__ is used. It would be helpful if you could submit a new patch that reconciles the two proposed patches and includes a ChangeLog entry. Thanks, jwe _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zeroOn Jan 14, 2008, at 7:14 PM, John W. Eaton wrote: > On 14-Jan-2008, Ben Abbott wrote: > > | Ok. It sounds like you're version is to be preferred over the one > | submitted by jfc, correct? > | > | If so perhaps a patch and changelog can be created? > | > | It would also be useful to add some test scripts. If you're > | unfamiliar with those I can add them. I just need some examples of > | how __norm__ is used. > > It would be helpful if you could submit a new patch that reconciles > the two proposed patches and includes a ChangeLog entry. > > Thanks, > > jwe I'm hoping Rolf will do so. This is outside my area of expertise. However, if Rolf doesn't have the time, I'll study the problem and do it myself. Ben _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zero (patch & changelog)On Jan 14, 2008, at 7:14 PM, John W. Eaton wrote: > On 14-Jan-2008, Ben Abbott wrote: > > | Ok. It sounds like you're version is to be preferred over the one > | submitted by jfc, correct? > | > | If so perhaps a patch and changelog can be created? > | > | It would also be useful to add some test scripts. If you're > | unfamiliar with those I can add them. I just need some examples of > | how __norm__ is used. > > It would be helpful if you could submit a new patch that reconciles > the two proposed patches and includes a ChangeLog entry. > > Thanks, > > jwe I've attached the patch and ChangeLog. Both jfc's and Rolf's changes fixed the bug. Rolf went further and modified the transpose operators to avoid the time needed for the conjugate. I added some tests. 2008-01-11 Ben Abbott <bpabbott@...> * linear-algebra/__norm__.m: Bug fix. norm (X, "fro") now works in the event that X is a matrix of zeros. Tabs were converted to spaces to ensure consistent formatting. Some transpose operators ("'") were converted to the non-conjugate form (".'") to save time. Added tests. _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zero (patch & changelog)On 14-Jan-2008, Ben Abbott wrote:
| I looked up the Frobenius norm ... a rather simple calculation. | | I've attached the patch and ChangeLog. Both jfc's and Rolf's changes | fixed the bug. | Rolf went further and modified the transpose operators to avoid the | time needed for | the conjugate. I added some tests. | | 2008-01-11 Ben Abbott <bpabbott@...> | | * linear-algebra/__norm__.m: Bug fix. norm (X, "fro") now works in the | event that X is a matrix of zeros. I applied this patch and checked it in. | Tabs were converted to spaces | to ensure consistent formatting. Please don't bother doing this. We assume people are reading the Octave sources in a fixed-width font with 8-space tabs as god indented. Thanks, jwe _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Re: Frobenius norm of a null matrix is not zero (patch & changelog)On 15-Jan-2008, John W. Eaton wrote:
| On 14-Jan-2008, Ben Abbott wrote: | | | Rolf went further and modified the transpose operators to avoid the | | time needed for | | the conjugate. I looked at this again and decided to go with sum (abs (x), 2) instead of sum (abs (x.')) Can you think of any reason not to do this? I think the transpose here is something inherited from the dark ages when the sum function did not have a DIM argument. jwe _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Frobenius norm of a matrix containing NaN/Inf (NEW patch & changelog)Rolf noticed that matrices containing "NaN" or "inf" were not handled
properly by __norm__(). He produced a fix and asked me to submit the patch. It is attached. Ben _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
|
|
Frobenius norm of a matrix containing NaN/Inf (NEW patch & changelog)On 15-Jan-2008, Ben Abbott wrote:
| Rolf noticed that matrices containing "NaN" or "inf" were not handled | properly by __norm__(). He produced a fix and asked me to submit the | patch. I applied this patch and checked it in. Thanks, jwe _______________________________________________ Bug-octave mailing list Bug-octave@... https://www.cae.wisc.edu/mailman/listinfo/bug-octave |
| Free embeddable forum powered by Nabble | Forum Help |