[ https://issues.apache.org/jira/browse/MATH-221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dieter Roth updated MATH-221: ----------------------------- Description: Hi. The bug relates on complex numbers. The methods "multiply" and "equals" of the class Complex are involved. mathematic background: (0,i) * (-1,0i) = (0,-i). little java program + output that shows the bug: ----------------------------------------------------------------------- import org.apache.commons.math.complex.*; public class TestProg { public static void main(String[] args) { ComplexFormat f = new ComplexFormat(); Complex c1 = new Complex(0,1); Complex c2 = new Complex(-1,0); Complex res = c1.multiply(c2); Complex comp = new Complex(0,-1); System.out.println("res: "+f.format(res)); System.out.println("comp: "+f.format(comp)); System.out.println("res=comp: "+res.equals(comp)); } } ----------------------------------------------------------------------- res: -0 - 1i comp: 0 - 1i res=comp: false ----------------------------------------------------------------------- I think the problem could be "multiply" method that gives (-0,-1i) instead of (0,-1i). Or if you think thats right, the equals method has to be modified. Good Luck Dieter was: Hi. The bug relates on complex numbers. The methods "multiply" and "equals" of the class Complex are involved. mathematic background: (0,i) * (-1,0i) = (0,-i). little java program + output that shows the bug: ----------------------------------------------------------------------- import org.apache.commons.math.complex.*; public class TestProg { public static void main(String[] args) { ComplexFormat f = new ComplexFormat(); Complex c1 = new Complex(0,1); Complex c2 = new Complex(-1,0); Complex res = c1.multiply(c2); Complex comp = new Complex(0,-1); System.out.println("res: "+f.format(res)); System.out.println("comp: "+f.format(comp)); System.out.println("res=comp: "+res.equals(comp)); } } ----------------------------------------------------------------------- res: -0 - 1i comp: 0 - 1i res=comp: false ----------------------------------------------------------------------- I think the problem could be "multiply" method that gives (-0,-1i) instead of (0,-1i). Or if you think thats right, the equals method has to be modified. Good Luck Dieter > Result of multiplying and equals for complex numbers is wrong > ------------------------------------------------------------- > > Key: MATH-221 > URL: https://issues.apache.org/jira/browse/MATH-221 > Project: Commons Math > Issue Type: Bug > Affects Versions: 1.2 > Environment: OS: Debian lenny > IDE: Version: 3.4.0; Build id: I20080617-2000 > java.runtime.version=1.6.0_04-b12 > java.vendor.url=http://java.sun.com/ > Reporter: Dieter Roth > Priority: Minor > > Hi. > The bug relates on complex numbers. > The methods "multiply" and "equals" of the class Complex are involved. > mathematic background: (0,i) * (-1,0i) = (0,-i). > little java program + output that shows the bug: > ----------------------------------------------------------------------- > import org.apache.commons.math.complex.*; > public class TestProg { > public static void main(String[] args) { > ComplexFormat f = new ComplexFormat(); > Complex c1 = new Complex(0,1); > Complex c2 = new Complex(-1,0); > > Complex res = c1.multiply(c2); > Complex comp = new Complex(0,-1); > System.out.println("res: "+f.format(res)); > System.out.println("comp: "+f.format(comp)); > > System.out.println("res=comp: "+res.equals(comp)); > } > } > ----------------------------------------------------------------------- > res: -0 - 1i > comp: 0 - 1i > res=comp: false > ----------------------------------------------------------------------- > I think the problem could be "multiply" method that gives (-0,-1i) instead of > (0,-1i). > Or if you think thats right, the equals method has to be modified. > Good Luck > Dieter -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.