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

 
 

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

Submitter:  Kurt Strein <kurt_strein>
Submitted:  Thu 05 Jan 2012 04:31:59 AM UTC
   
 
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Inaccurate Result
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 3.2.4 Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group administrator
Sun 08 Jan 2012 09:06:15 PM UTC, comment #7: 
Jordi Gutiérrez Hermoso <jordigh>
Group Member
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>
Group 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>
Group Member
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>
Group Member
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>
Group 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>
Group Member
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=y*y*y
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=y*y*y
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 Files:
   
   
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
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by jordigh (Posted a comment)
  • -email is unavailable- added by matzeri (Posted a comment)
  • -email is unavailable- added by kurt_strein (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-01-08 rik5 StatusInvalid / Not an Octave Bug Fixed
        Open/ClosedOpen Closed
    2012-01-06 jordigh Attached File- Added doc-power.patch, #24751
    2012-01-06 jordigh Attached File- Added doc-power.patch, #24750
    2012-01-06 rik5 StatusNone Invalid / Not an Octave Bug

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code