Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

2x2 determinant bug in math 9.0.0.0

53 views
Skip to first unread message

Vivien Lecomte

unread,
May 18, 2013, 2:37:48 AM5/18/13
to
Hi all,

caution if you compute matrix determinants in Mathematica 9.0.0.0! You'll find below a 2x2 matrix composed of symbolic rational fractions. Compare Det[M] and the expected expression M[[1, 1]] M[[2, 2]] - M[[1, 2]] M[[2, 1]] .

To your surprise, you'll find different results if you use Mathematica 9.0.0.0. Affected versions are independent of Linux/Mac/Win OS:
9.0 for Linux x86 (64-bit) (November 20, 2012a)
9.0 for Mac OS X x86 (32 bit, 64-bit Kernel) (November 20, 2012)
9.0 for Microsoft Windows (32-bit) (November 20, 2012)
The determinant is however correctly computed for a generic matrix M={{a,b},{c,d}} .

Previous version
8.0 for Linux x86 (64 - bit) (October 10, 2011)
is not affected.

The problem is solved with Mathematica 9.0.1.0
9.0 for Linux x86 (64-bit) (February 7, 2013)
although i see no reference to related updates in the Mathematica 9.0.1 changelog.

Best,

Vivien


PS, here is the matrix (you don't want to know how it was obtained ;) )

M = {{-(250 t2p (10 t2p - 8 t1b t2p + t1b^3 (9 + t2p) -
5 t1b^2 (1 + 3 t2p)) +
40 t1 t2p (-50 t2p - 120 t1b t2p + t1b^3 (35 + 3 t2p) -
5 t1b^2 (-5 + 9 t2p)) +
t1^3 (250 t2p (9 + t2p) + 40 t1b t2p (35 + 3 t2p) +
t1b^3 (425 + 130 t2p + 9 t2p^2) -
5 t1b^2 (225 + 220 t2p + 27 t2p^2)) -
5 t1^2 (250 t2p (1 + 3 t2p) + 40 t1b t2p (-5 + 9 t2p) +
t1b^3 (225 + 220 t2p + 27 t2p^2) -
5 t1b^2 (25 + 150 t2p + 81 t2p^2)))/(20 (-5 + t1) (-5 +
t1b) (-10 t2p - 10 t1 t2p + t1^2 (5 + t2p)) (-10 t2p -
10 t1b t2p +
t1b^2 (5 + t2p))), -(t1^2/(-10 t2p - 10 t1 t2p +
t1^2 (5 + t2p))) -
t1b^2/(-10 t2p - 10 t1b t2p +
t1b^2 (5 + t2p))}, {-(t1^2/(-10 t2p - 10 t1 t2p +
t1^2 (5 + t2p))) -
t1b^2/(-10 t2p - 10 t1b t2p + t1b^2 (5 + t2p)),
1/(1 - t2p) - 1/t2p + 2/(-t1 + t2p) +
2/(-t1b + t2p) + (10 + 10 t1 - t1^2)/(-10 t2p - 10 t1 t2p +
t1^2 (5 + t2p)) + (10 + 10 t1b - t1b^2)/(-10 t2p -
10 t1b t2p + t1b^2 (5 + t2p))}};

It is well defined, except for a finite number of values of the parameters. Giving a numerical value to one of the parameters renders the evaluation of the determinant correct.

Bob Hanlon

unread,
May 19, 2013, 5:46:50 AM5/19/13
to

Also works correctly in Mathematica 9.0.1.0 with Mac OS X 10.8.3


$Version


"9.0 for Mac OS X x86 (64-bit) (January 24, 2013)"


M = {{-(250 t2p (10 t2p - 8 t1b t2p + t1b^3 (9 + t2p) -
5 t1b^2 (1 + 3 t2p)) +
40 t1 t2p (-50 t2p - 120 t1b t2p + t1b^3 (35 + 3 t2p) -
5 t1b^2 (-5 + 9 t2p)) +
t1^3 (250 t2p (9 + t2p) + 40 t1b t2p (35 + 3 t2p) +
t1b^3 (425 + 130 t2p + 9 t2p^2) -
5 t1b^2 (225 + 220 t2p + 27 t2p^2)) -
5 t1^2 (250 t2p (1 + 3 t2p) + 40 t1b t2p (-5 + 9 t2p) +
t1b^3 (225 + 220 t2p + 27 t2p^2) -
5 t1b^2 (25 + 150 t2p + 81 t2p^2)))/(20 (-5 + t1) (-5 +
t1b) (-10 t2p - 10 t1 t2p + t1^2 (5 + t2p)) (-10 t2p - 10 t1b t2p
+
t1b^2 (5 + t2p))), -(t1^2/(-10 t2p - 10 t1 t2p + t1^2 (5 + t2p)))
-
t1b^2/(-10 t2p - 10 t1b t2p +
t1b^2 (5 + t2p))}, {-(t1^2/(-10 t2p - 10 t1 t2p + t1^2 (5 + t2p)))
-
t1b^2/(-10 t2p - 10 t1b t2p + t1b^2 (5 + t2p)),
1/(1 - t2p) - 1/t2p + 2/(-t1 + t2p) +
2/(-t1b + t2p) + (10 + 10 t1 - t1^2)/(-10 t2p - 10 t1 t2p +
t1^2 (5 + t2p)) + (10 + 10 t1b - t1b^2)/(-10 t2p - 10 t1b t2p +
t1b^2 (5 + t2p))}};


Det[M] == M[[1, 1]] M[[2, 2]] - M[[1, 2]] M[[2, 1]] // Simplify


True



Bob Hanlon
0 new messages