"1^(x=defective square_matrix)" does not evaluate to I(dim(x))

Rolf Fabian Rolf.Fabian at gmx.de
Mon Jan 14 10:46:08 CST 2008


Oops. 
The proposed fix is definitely wrong
it should be read as :

========================= 
Proposed receipe of a fix, 
 1 ^ (x = any square matrix) 
 =  eye ( dimension (x) ) 
no matter about particular 
content of matrix x ( as long 
as input does not contain 'NaN', 
but  -/+ Inf elements of x 
should be allowed / accepted. 
========================= 

Sorry for any inconvenience

Rolf  Fabian

< r dot fabian at jacobs-university dot de>



Rolf Fabian wrote:
> 
> It can be shown, that
> 1^(x = square matrix of size n) should always evaluate to
> eye(n), no matter of the contents of exponent matrix x
> as long as no NaN elements occur in x.
> 
> octave-3.0.0.exe:> n=1; 1^(x = randn(n)+rand(n)*i)   # OK
> ans =  1
> octave-3.0.0.exe:> n=2; 1^(x = randn(n)+rand(n)*i)   # OK
> ans =
>    1.00000 - 0.00000i   0.00000 + 0.00000i
>    0.00000 - 0.00000i   1.00000 + 0.00000i
> 
> octave-3.0.0.exe:> n=3; 1^(x = randn(n)+rand(n)*i)   # OK
> ans =
>    1.00000 + 0.00000i   0.00000 + 0.00000i   0.00000 + 0.00000i
>    0.00000 + 0.00000i   1.00000 + 0.00000i   0.00000 + 0.00000i
>    0.00000 + 0.00000i   0.00000 + 0.00000i   1.00000 + 0.00000i
> 
> octave-3.0.0.exe:> x=[0 1 0 0; 1 0 2 3; 0 0 0 1; 0 0 1 0]
> x =
>    0   1   0   0
>    1   0   2   3
>    0   0   0   1
>    0   0   1   0
> 
> ==============================
> octave-3.0.0.exe:> 1^x                              # FAIL
> ans =
>    1.00000   0.00000   1.37500   1.62500
>    0.00000   1.00000   2.00000   1.00000
>    0.00000   0.00000   1.00000   0.00000
>    0.00000   0.00000   0.00000   1.00000
> ==============================
> 
> This result differs significantly from expected result,
> namely 'eye(4)'.
> Hence the evaluation by Octave is definitely incorrect.
> BTW What does MatLab report here ?
> 
> What is special with the above counter example x ?
> At a first glance nothing, except that it has only
> zero entries on the main diagonal and thus it is
> traceless. It's determinant is det(x)=1, thus it
> is regular (non-singular).
> 
> But x is severly defective which can be checked
> by
> octave-3.0.0.exe:> [v,d] = eig(x)
> v =
>    0.70711  -0.70711  -0.70711   0.70711
>    0.70711   0.70711  -0.70711  -0.70711
>    0.00000  -0.00000   0.00000  -0.00000
>    0.00000  -0.00000   0.00000   0.00000
> 
> d =
>    1   0   0   0
>    0  -1   0   0
>    0   0   1   0
>    0   0   0  -1
> 
> octave-3.0.0.exe:> cond(v)
> ans = 2.2960e+016
> octave-3.0.0.exe:> rank(v)
> ans =  2
> 
> There is a rank deficiency of 2 for the
> matrix of eigenvectors v . 
> Thus v is not invertible and the
> obviously underlying similarity
> transformation fails.
> 
> =========================
> Proposed receipe of a fix,
>  c : real or complex scalar :
>  c ^ (x = any square matrix)
>  = log ( c ) .* eye ( dimension (x) )
> no matter about particular
> content of matrix x ( as long
> as input does not contain 'NaN',
> but  -/+ Inf elements of x 
> should be allowed / accepted.
> =========================
> 
> Rolf Fabian
> 
> < r dot fabian at jacobs-university dot de>
> 
> 


-----
Rolf Fabian
<r dot fabian at jacobs-university dot de>

-- 
View this message in context: http://www.nabble.com/%221%5E%28x%3Ddefective-square_matrix%29%22-does-not-evaluate-to-I%28dim%28x%29%29-tp14804976p14805668.html
Sent from the Octave - Bugs mailing list archive at Nabble.com.



More information about the Bug-octave mailing list