|
From: | Ceral Paquet |
Subject: | [Octave-bug-tracker] [bug #50553] eps with imaginary argument gives wrong value |
Date: | Wed, 15 Mar 2017 17:27:35 -0400 (EDT) |
User-agent: | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 |
URL: <http://savannah.gnu.org/bugs/?50553> Summary: eps with imaginary argument gives wrong value Project: GNU Octave Submitted by: octavebugs Submitted on: Wed 15 Mar 2017 09:27:34 PM UTC Category: None Severity: 3 - Normal Priority: 5 - Normal Item Group: None Status: None Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: 4.2.1 Operating System: GNU/Linux _______________________________________________________ Details: MATLAB: >> clear all >> eps(0) ans = 4.9407e-324 >> eps(1) ans = 2.2204e-16 >> eps(i) ans = 2.2204e-16 >> eps(1+i) ans = 2.2204e-16 >> eps(1e9+i) ans = 1.1921e-07 >> eps(1e9i) ans = 1.1921e-07 >> eps(1e9+1e9i) ans = 2.3842e-07 >> eps(abs(1e9+1e9i)) ans = 2.3842e-07 Octave 4.2.1 >> clear all >> eps(0) ans = 4.9407e-324 >> eps(1) ans = 2.2204e-16 >> eps(i) ans = 4.9407e-324 >> eps(1+i) ans = 2.2204e-16 >> eps(1e9+i) ans = 1.1921e-07 >> eps(1e9i) ans = 4.9407e-324 >> eps(1e9+1e9i) ans = 1.1921e-07 >> eps(abs(1e9+1e9i)) ans = 2.3842e-07 Short story: MATLAB eps() function seems to be based on abs(arg) whereas Octave only looks at real(arg). Fix: need to take abs() of argument to eps() function. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?50553> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |