bugGNU Octave - Bugs: bug #35243, Error with y=x^(1/3)

 
 

bug #35243: Error with y=x^(1/3)

Submitted by:  Kurt Strein <kurt_strein>
Submitted on:  Thu 05 Jan 2012 04:31:59 AM UTC  
 
Category: NoneSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Inaccurate Result
Status: FixedAssigned to: None
Originator Name: Open/Closed: Closed
Release: 3.2.4Operating System: Microsoft Windows

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sun 08 Jan 2012 09:44:32 PM UTC, comment #8:

Closing bug. The documentation will be a part of the 3.6.0 release expected any day now.

Rik <rik5>
Project Administrator
Sun 08 Jan 2012 09:06:15 PM UTC, comment #7:

Okay, I did it:

http://hg.savannah.gnu.org/hgweb/octave/rev/c0ca47ab7641

Jordi Gutiérrez Hermoso <jordigh>
Project Administrator
Fri 06 Jan 2012 09:08:01 PM UTC, comment #6:

Your change seems fine to me. I don't think the repetition is bad in this case.

If you think it will be bad in the printed manual to have the repeated text (are the docstrings for these functions inserted one after another?) then I think we could omit the repetition by using some conditional in the docstrings and also include the text prior to where they are inserted in the manual.

But for now, go ahead and push the change.

John W. Eaton <jwe>
Project Administrator
Fri 06 Jan 2012 08:50:34 PM UTC, comment #5:

Oops, everywhere except the location where Kurt might have looked if he tried to know more about how Octave handles ^ or **.

Revised cset attached.

(file #24751)

Jordi Gutiérrez Hermoso <jordigh>
Project Administrator
Fri 06 Jan 2012 08:41:43 PM UTC, comment #4:

How about the attached cset? It's a bit redundant, but redundancy is good when communicating with humans. I put this in every place where I thought it might be likely someone might look for a description of power operations.

(file #24750)

Jordi Gutiérrez Hermoso <jordigh>
Project Administrator
Fri 06 Jan 2012 07:04:43 PM UTC, comment #3:

As Jordi says, this is a documentation issue. If you need the real version of a root look at the functions realsqrt(), cbrt(), or nthroot().

Where would we document this? The operator chapter?

Rik <rik5>
Project Administrator
Thu 05 Jan 2012 03:56:37 PM UTC, comment #2:

Or cbrt.

I know that ^ is supposed to pick the root with smallest nonnegative argument. If no positive real root exists, this usually means a complex root.

I think the real bug here is a documentation bug, because I am having a hard time finding this description although I know I've seen it in the Octave documentation. Or perhaps it was in a comment?

Jordi Gutiérrez Hermoso <jordigh>
Project Administrator
Thu 05 Jan 2012 03:45:21 PM UTC, comment #1:

for that functionality looks at

octave:1> nthroot (-27, 3)
ans = -3

marco atzeri <matzeri>
Thu 05 Jan 2012 04:31:59 AM UTC, original submission:

Bug report for Octave 3.2.4 configured for i686-pc-mingw32

Description:
-----------

* Error with y=x^(1/3)
Type in the following:
octave-3.2.4.exe:2> x=-1.7987e8
x= -179870000
octave-3.2.4.exe:3> y=x^(1/3)
y= 282.24 + 488.86i
octave-3.2.4.exe:4> w=yyy
w=-1.7987e+008 + 5.9605e-008i
Thus the provided answer is one of the two imaginary number answers and not the one real number answer.
What the answer should be is
x=-1.7987e8
y= x^(1/3)=-564.4809

A second test with x=-27
octave-3.2.4.exe:2> x=-27
x= -27
octave-3.2.4.exe:3> y=x^(1/3)
y= 1.5000 + 2.5981i
octave-3.2.4.exe:4> w=yyy
w=-2.7000e+001 + 3.5527e-015i
So it once again gave one of the imaginary answers and not the one real answer of -3.0
Repeat-By:
---------

* Please replace this item with a description of the sequence of
events that causes the problem to occur.

Fix:
---

* If possible, replace this item with a description of how to
fix the problem (if you don't have a fix for the problem, don't
include this section, but please do submit your report anyway).

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

uname output: Windows
configure opts:
Fortran compiler: mingw32-gfortran-4.4.0-dw2
FFLAGS: -O -mieee-fp
FLIBS: -lgfortran
CPPFLAGS: -I/usr/local/octmgw32_gcc-4.4.0-dw2/include
INCFLAGS: -I. -I/octmgw32/octave/octave-3.2.4 -I. -I./liboctave -I./src -I./libcruft/misc -I/octmgw32/octave/octave-3.2.4 -I/octmgw32/octave/octave-3.2.4/liboctave -I/octmgw32/octave/octave-3.2.4/src -I/octmgw32/octave/octave-3.2.4/libcruft/misc
C compiler: mingw32-gcc-4.4.0-dw2, version4.4.0 (GCC)
CFLAGS: -march=i686 -mtune=generic -O3 -Wall
CPICFLAG:
C++ compiler: mingw32-g++-4.4.0-dw2, version4.4.0
CXXFLAGS: -D_GLIBCXX_DLL -march=i686 -mtune=generic -O3 -Wall
CXXPICFLAG:
LD_CXX: mingw32-g++-4.4.0-dw2
LDFLAGS: -shared-libgcc -Wl,--allow-multiple-definition
LIBFLAGS: -L.
RLD_FLAG:
BLAS_LIBS: -llapack -lblas
FFTW_LIBS: -lfftw3 -lfftw3f
LIBS: -lreadline -lncurses -liberty -lhdf5 -lz -lm -lgdi32 -lws2_32 -luser32 -lkernel32
LEXLIB:
LIBGLOB: -lglob
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 -DSEPCHAR=';' -DSEPCHAR_STR=";" -D__NO_MATH_INLINES=1 -DCXX_NEW_FRIEND_TEMPLATE_DECL=1 -DCXX_ISO_COMPLIANT_LIBRARY=1 -DHAVE_PTHREAD=1 -DHAVE_X_WINDOWS=1 -DHAVE_LIBM=1 -DHAVE_QHULL=1 -DHAVE_PCRE_COMPILE=1 -DHAVE_PCRE=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_GLPK_H=1 -DHAVE_GLPK=1 -DHAVE_CURL_CURL_H=1 -DHAVE_CURL=1 -DHAVE_MAGICK=1 -DHAVE_WINDOWS_H=1 -DHAVE_GL_GL_H=1 -DHAVE_GL_GLU_H=1 -DHAVE_OPENGL=1 -DHAVE_FTGL_FTGL_H=1 -DHAVE_FTGL=1 -DHAVE_FLTK=1 -DHAVE_IEEE754_DATA_FORMAT=1 -DF77_FUNC(name,NAME)=name ## -DF77_FUNC(name,NAME)=name ## _ -DHAVE_BLAS=1 -DHAVE_QRUPDATE=1 -DHAVE_SUITESPARSE_AMD_H=1 -DHAVE_AMD=1 -DHAVE_SUITESPARSE_UMFPACK_H=1 -DHAVE_UMFPACK=1 -DUMFPACK_SEPARATE_SPLIT=1 -DHAVE_SUITESPARSE_COLAMD_H=1 -DHAVE_COLAMD=1 -DHAVE_SUITESPARSE_CCOLAMD_H=1 -DHAVE_CCOLAMD=1 -DHAVE_SUITESPARSE_CHOLMOD_H=1 -DHAVE_CHOLMOD=1 -DHAVE_SUITESPARSE_CS_H=1 -DHAVE_CXSPARSE=1 -DHAVE_ARPACK=1 -Duid_t=int -Dgid_t=int -DHAVE_DEV_T=1 -DHAVE_INO_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=1 -DHAVE_PLACEMENT_DELETE=1 -DHAVE_DYNAMIC_AUTO_ARRAYS=1 -DHAVE_FAST_INT_OPS=1 -DSIZEOF_LONG_DOUBLE=12 -DSTDC_HEADERS=1 -DHAVE_DIRENT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ASSERT_H=1 -DHAVE_CURSES_H=1 -DHAVE_DIRECT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NCURSES_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_UTIME_H=1 -DHAVE_TERMCAP_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UTIME_H=1 -DHAVE_SSTREAM=1 -DHAVE_GLOB_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_CONIO_H=1 -DHAVE_ATEXIT=1 -DHAVE_BASENAME=1 -DHAVE_CHMOD=1 -DHAVE_DUP2=1 -DHAVE_EXECVP=1 -DHAVE_EXPM1=1 -DHAVE_EXPM1F=1 -DHAVE_FSTAT=1 -DHAVE_GETCWD=1 -DHAVE_GETPID=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE__KBHIT=1 -DHAVE_LGAMMA=1 -DHAVE_LGAMMAF=1 -DHAVE_LOG1P=1 -DHAVE_LOG1PF=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_PUTENV=1 -DHAVE_RAISE=1 -DHAVE_RENAME=1 -DHAVE_RMDIR=1 -DHAVE_ROUNDL=1 -DHAVE_SETLOCALE=1 -DHAVE_SETVBUF=1 -DHAVE_SNPRINTF=1 -DHAVE_STAT=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRICMP=1 -DHAVE_STRNCASECMP=1 -DHAVE_STRNICMP=1 -DHAVE_TEMPNAM=1 -DHAVE_TGAMMAF=1 -DHAVE_TRUNC=1 -DHAVE_UMASK=1 -DHAVE_UNLINK=1 -DHAVE_USLEEP=1 -DHAVE_UTIME=1 -DHAVE_VFPRINTF=1 -DHAVE_VSPRINTF=1 -DHAVE_VSNPRINTF=1 -DHAVE__CHMOD=1 -DHAVE__SNPRINTF=1 -DHAVE_DECL_EXP2=1 -DHAVE_DECL_ROUND=1 -DHAVE_DECL_TGAMMA=1 -DHAVE_EXP2=1 -DHAVE_ROUND=1 -DHAVE_TGAMMA=1 -DHAVE_MKSTEMPS=1 -DHAVE_C99_VSNPRINTF=1 -DOCTAVE_HAVE_BROKEN_STRPTIME=1 -D_WIN32_WINNT=0x0403 -DHAVE_LOADLIBRARY_API=1 -DENABLE_DYNAMIC_LINKING=1 -DHAVE_TIMEVAL=1 -DHAVE_CMATH_ISNAN=1 -DHAVE_CMATH_ISNANF=1 -DHAVE_CMATH_ISINF=1 -DHAVE_CMATH_ISINFF=1 -DHAVE_CMATH_ISFINITE=1 -DHAVE_CMATH_ISFINITEF=1 -DHAVE_FINITE=1 -DHAVE_ISNAN=1 -DHAVE_COPYSIGN=1 -DHAVE_SIGNBIT=1 -DHAVE__FINITE=1 -DHAVE__ISNAN=1 -DHAVE__COPYSIGN=1 -DHAVE_DECL_SIGNBIT=1 -DHAVE_ACOSH=1 -DHAVE_ACOSHF=1 -DHAVE_ASINH=1 -DHAVE_ASINHF=1 -DHAVE_ATANH=1 -DHAVE_ATANHF=1 -DHAVE_ERF=1 -DHAVE_ERFF=1 -DHAVE_ERFC=1 -DHAVE_ERFCF=1 -DHAVE_EXP2F=1 -DHAVE_LOG2=1 -DHAVE_LOG2F=1 -DHAVE_HYPOTF=1 -DHAVE_STRUCT_STAT_ST_RDEV=1 -DHAVE_DECL_TZNAME=1 -DHAVE_TZNAME=1 -DMKDIR_TAKES_ONE_ARG=1 -DUSE_READLINE=1 -DRETSIGTYPE=void -DHAVE_DECL_SYS_SIGLIST=0 -DMUST_REINSTALL_SIGHANDLERS=1 -DRETSIGTYPE_IS_VOID=1

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

EDITOR = C:\Octave\3.2.4_gcc-4.4.0\tools\notepad++\notepad++.exe
EXEC_PATH = C:\Octave\3.2.4_gcc-4.4.0\MINGW32\bin;C:\Octave\3.2.4_gcc-4.4.0\MSYS\bin;C:\Octave\3.2.4_gcc-4.4.0\libexec\octave\3.2.4\site\exec\i686-pc-mingw32;C:\Octave\3.2.4_gcc-4.4.0\libexec\octave\api-v37\site\exec\i686-pc-mingw32;C:\Octave\3.2.4_gcc-4.4.0\libexec\octave\site\exec\i686-pc-mingw32;C:\Octave\3.2.4_gcc-4.4.0\libexec\octave\3.2.4\exec\i686-pc-mingw32;C:\Octave\3.2.4_gcc-4.4.0\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\OpenVPN\bin
IMAGE_PATH = .;C:\Octave\3.2.4_gcc-4.4.0\share\octave\3.2.4\imagelib
PAGER = C:\Octave\3.2.4_gcc-4.4.0\bin\less.exe
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 = C:\Octave\3.2.4_gcc-4.4.0\bin\gnuplot.exe
# gnuplot_command_end = <no value or error in displaying it>
# gnuplot_command_plot = <no value or error in displaying it>
# gnuplot_command_replot = <no value or error in displaying it>
# gnuplot_command_splot = <no value or error in displaying it>
# gnuplot_command_title = <no value or error in displaying it>
# gnuplot_command_using = <no value or error in displaying it>
# gnuplot_command_with = <no value or error in displaying it>
history_file = C:\Users\Kurt Strein\.octave_hist
history_size = 1024
ignore_function_time_stamp = system
info_file = C:\Octave\3.2.4_gcc-4.4.0\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 = 1
# print_answer_id_name = <no value or error in displaying it>
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

Kurt Strein <kurt_strein>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #24751:  doc-power.patch added by jordigh (4KiB - text/x-diff - Revision 1 of previous suggesed patch)
file #24750:  doc-power.patch added by jordigh (3KiB - text/x-diff)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jwe (Posted a comment)
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by jordigh (Posted a comment)
  • -unavailable- added by matzeri (Posted a comment)
  • -unavailable- added by kurt_strein (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 08 Jan 2012 09:44:32 PM UTCrik5StatusInvalid=>Fixed
      Open/ClosedOpen=>Closed
    Fri 06 Jan 2012 08:50:34 PM UTCjordighAttached File-=>Added doc-power.patch, #24751
    Fri 06 Jan 2012 08:41:43 PM UTCjordighAttached File-=>Added doc-power.patch, #24750
    Fri 06 Jan 2012 07:04:43 PM UTCrik5StatusNone=>Invalid

    Back to the top


    Powered by Savane 3.1-cleanup1