On Monday 03 November 2003 22:44, Michael Bechmann wrote:
> From: Michael Bechmann <bechmann@XXXXXXX.de>
> To: demug@XXXXXXX.ch
> Date: Mon, 3 Nov 2003 22:44:02 +0100 (CET)
>
> Hallo!
>
> Kann mir jemand das folgende Verhalten der Funktion Det[] in
> Mathematica 5.0 erklaeren?
>
> Ich definiere die diagonale komplexe Matrix
>
> A = {{a + I, 0}, {0, a - I}}
>
> und berechne die Determinante von A.
Hallo,
das ist natürlich ein bug !
Aber wie so oft kann man ihn relativ
leicht fixen ... :
Mathematica 5.0 for Linux
Copyright 1988-2003 Wolfram Research, Inc.
-- Motif graphics initialized --
In[1]:= {{1. + I, 0}, {0, 1. - I}}//Det
Out[1]= 1. + 1. I
In[2]:=
Unprotect[Det];
Det[x_] :=
(Det[x /. Complex[a_, b_] :> Hold[Complex][a, b]]/.Hold[Complex]:>Complex) /;
!FreeQ[x, Complex[_, _]];
Protect[Det];
In[2]:=
In[3]:=
In[4]:= {{1. + I, 0}, {0, 1. - I}}//Det
Out[4]= 2. + 0. I
----------------
MfG,
Rolf Mertig
Mertig Consulting
http://www.mertig.com