Ray
The matrix
( 0 1)
(-1 0)
is skew-symmetric, yet invertible.
------------------------------------------------------------
Robin Chapman, www.maths.ex.ac.uk/~rjc/rjc.html
Interesting enough, but I was thinking more in the lines of a common
general expression for approximations of pseudoinverse for
skew-symmetric matrices....anyone?
The standard pseudo inverse should work. It is available for all matrices.
Given a matrix M it can always written as USV' with U and V orthogonal
(' means transpose) and S diagonal. The pseudo inverse is VS+U' where
S+ is found by replacing each non-zero element of S by its inverse.
--
dik t. winter, cwi, kruislaan 413, 1098 sj amsterdam, nederland, +31205924131
home: bovenover 215, 1025 jn amsterdam, nederland; http://www.cwi.nl/~dik/
Excuse me for asking stupid questions, but does the diagonal matrix S
consist of the singular values or the eigenvalues?? (Singular, I
suppose, since you use S).
[[0 -1]
[1 0]]
is a skew-symmetric matrix that has inverse matrix
[[ 0 1]
[-1 0]]
It is only square skew-symmetric matrices with an odd number of rows and
columns that _must_ be singular.
Given an n-by-n skew-symmetric matrix, A, it can be shown that
determinant(A) = (-1)^n* determinant(transpose(A)).
IF n is odd, this makes the determinant zero, but if n is even, then
determinant need not be zero, and a non-zero determinant means an
inverse exists.
The absolute values of the diagonal entries are the singular values.
(The decomposition above is determined upto order and signs, but
whatever version you get, the pseudo inverse will be the same.)
I've tried with pseudo-inverse methods on 3x3 skewsymmetric matrices,
and I am able to locate an inverse for such a matrix (I am able to
compute an inverse without division by 0, that is). The problem lies in
the verification of this inverse, since I cant seem to multiply this
with the original matrix to produce the unit matrix.
Also, if the values in the diagonal matrix are the singular values of
the matrix, wouldnt this leave us with the same problem, since
skew-symmetric matrices always have one singular value equal zero? When
the S+ matrix, is calculated, it causes divide by zero, I believe. Or is
it just that I am missing something here?
You may be able to compute a pseudo-inverse but certainly not an
inverse!
>The problem lies in
>the verification of this inverse, since I cant seem to multiply this
>with the original matrix to produce the unit matrix.
There's no "seem" about this. A 3 by 3 skewsymmetric matrix will
not be invertible; no matter what you multiply it by, you won't get
the identity. I expect what you should get, using the Moore-Penrose
pseudoinverse, is a symmetric idempotent matrix.
For instance for the 3 by 3
(0 -1 0)
(1 0 0)
(0 0 0)
the Moore-Penrose inverse (I think) is
( 0 1 0)
(-1 0 0)
( 0 0 0)
and their product is
(1 0 0)
(0 1 0)
(0 0 0)
which is a symmetric idempotent.
>Also, if the values in the diagonal matrix are the singular values of
>the matrix, wouldnt this leave us with the same problem, since
>skew-symmetric matrices always have one singular value equal zero?
As I pointed out earlier, this is not true: there are
invertible skew-symmetric matrices.
> When
>the S+ matrix, is calculated, it causes divide by zero, I believe. Or is
>it just that I am missing something here?
What do you mean "it causes divide by zero"? Have you never learned
the 11th commandment: "thou shalt not divide by zero"?
------------------------------------------------------------
Robin Chapman, www.maths.ex.ac.uk/~rjc/rjc.html
"His mind has been corrupted by colours, sounds and shapes."
The League of Gentlemen
I have heard about people using similarity transforms and such for
computing an approximate inverse, have you ever heard about this or
maybe any other methods?
The reason for bringing up the 'divide by zero' thing, was that I didnt
see the 'nonzero' in your statement 'S+ is found by replacing all
nonzero element of S by its inverse'. Sorry bout that.
regards
Ray
No. What I said is that some skew symmetric matrices have inverses (so that
your assertion that none do was simply WRONG). Also I said that one cannot
find inverses of non-invertible matrices. I also said that the product
of a skew-symmetric matrix and its Moore-Pensrose psedo-inverse is a
symmetric idempotent matrix (I did't sit down and formally prove this;
if I'm wrong let me know).
>admit that I have only used this pseudoinverse on rectangular matrices
>earlier, and that works fine, but this case is somewhat different. I was
>hoping that there was an approximate pseudoinverse that worked better
>than Moore-Penrose, because quite frankly, the answer I get is way of.
What do you mean by "way of" here?
Well, of course not because that is impossible. As the original matrix is
singular there is *no* matrix that you can multiply with it to get the
unit matrix.
>
> Also, if the values in the diagonal matrix are the singular values of
> the matrix, wouldnt this leave us with the same problem, since
> skew-symmetric matrices always have one singular value equal zero? When
> the S+ matrix, is calculated, it causes divide by zero, I believe. Or is
> it just that I am missing something here?
Yup, the phrase "each non-zero element".
When you multiply a matrix and its pseudo inverse you get a diagonal matrix
with ones and zeros on the diagonal. The rank of that diagonal matrix is
the same as the rank of the original matrix. In general when solving a
linear system Ax = b with known A and b and A singular, (A+)b provides a
solution, if one exists. When there is no solution, (A+)b gives you a
best approximation in some sense. Moreover, the pseudo inverse will give
you excellent solutions when the condition of the original matrix is bad.
So if this now is an approximation of an inverse, what I want to know
is, does it exist a better method for finding an approximate inverse of
my skewsymmetric matrix?
When I said that my answer was way of, I meant that the result from
multiplying this pseudoinverse with the original matrix gave me a result
so far from the unitary matrix that it was terrifying. That caused me to
start wondering if there was someway to create a pseudoinverse that made
the multiplying result closer to the unitary matrix.
If you think I'm banging my head in the wall here, please let me know.
Ray
> >===== Original Message From Raymond Kristiansen <ray...@spacetec.no> =====
> >So what your saying is that there is no better way than a Moore-Penrose
> >pseudoinverse to find inverses for skewsymmetric matrices? I have to
>
> No. What I said is that some skew symmetric matrices have inverses (so that
> your assertion that none do was simply WRONG). Also I said that one cannot
> find inverses of non-invertible matrices. I also said that the product
> of a skew-symmetric matrix and its Moore-Pensrose psedo-inverse is a
> symmetric idempotent matrix (I did't sit down and formally prove this;
> if I'm wrong let me know).
That's not only true for skew-symmetric matrices, but it is true for
all matrices. Since it's always true that
B * B^(-1) * B = B (with B^(-1) the pseudo-inverse of B)
(don't know how to prove that since my "matrix books" are at home)
Now take the square of B * B^(-1) resulting in
( B * B^(-1) ) ^2 = B * B^(-1) * B * B^(-1) = B * B^(-1)
so B * B^(-1) is idempotent.
Since the square of a matrix is always is symmetric it
follows by the idempotent-property that B * B^(-1) is symmetric.
Wilbert
That is easy. Given the singular value decompostion B = USV' we
have B+ = V(S+)U', so B.B+.B = U.S.V'.V.S+.U'.U.S.V' = U.S.S+.S.V'.
And it trivially holds for diagonal matrices.
Well, it depends on what you are meaning with "approximate inverse".
>
> When I said that my answer was way of, I meant that the result from
> multiplying this pseudoinverse with the original matrix gave me a result
> so far from the unitary matrix that it was terrifying.
Mathematically the product of a matrix and it's pseudo inverse is a
diagonal matrix with all elements on the diagonal either 0 or 1.
There is *no* other 'pseudo inverse' that will give you fewer 0's on
the diagonal. So please state what you actually wish.
OK, my turn: If there is anything that deserves the name
"approximate inverse" to a square matrix A, it would be another
matrix X such that one of the norms: norm(I-X*A), or norm(I-A*X),
is less than 1. In that case, A is already invertible.
A non-invertible matrix has no "approximate inverse" in the above
sense.
In terms of norms, if A is a square non-invertible matrix then for
every matrix Y, both norm(I-A*Y) and norm(I-Y*A) are greater than
or equal to 1.
Moore-Penrose pseudoinverse Y of a matrix A has, among others, the
role of producing A*Y, the orthoprojector onto the column space of A,
and producing Y*A, the orthoprojector onto the orthocomplement of the
nullspace of A.
As an exercise: if Y*A or A*Y is not I then its distance from I is
exactly 1 (in operator norm).
: > When I said that my answer was way of, I meant that the
: > result from multiplying this pseudoinverse with the original
: > matrix gave me a result so far from the unitary matrix that
: > it was terrifying.
:
You mean "from the identity matrix". And the distance is 1, as I
already wrote.
:Mathematically the product of a matrix and it's pseudo inverse is a
:diagonal matrix with all elements on the diagonal either 0 or 1.
Only after appropriate change of basis. Then the zeros and ones
are the eigenvalues (also singular values) of the product.
Note that the Moore-Penrose pseudoinverse of an orthoprojector P
is the same P, and then P*P=P. Observe that
[1/2 1/2 ]
[1/2 1/2 ]
is an orthoprojector which has no zeros and no ones among its entries.
And I-P*P is
[ 1/2 -1/2 ]
[-1/2 1/2 ]
of norm 1 (to illustrate an earlier statement).
:There is *no* other 'pseudo inverse' that will give you fewer 0's on
:the diagonal. So please state what you actually wish.
:--
:dik t. winter, cwi, kruislaan 413, 1098 sj amsterdam, nederland,
:31205924131
:home: bovenover 215, 1025 jn amsterdam,
:nederland; http://www.cwi.nl/~dik/
Cheers, ZVK(Slavek).
Thanks.
>Since the square of a matrix is always is symmetric it
>follows by the idempotent-property that B * B^(-1) is symmetric.
But the square of a matrix needn't be symmetric.
In this case I presume a pseudo-inverse of a skewsymmetric is skewsymmmetric
and the matrix in question is a product of two commuting skew-symmetrics
and so is symmetric.....I think :-)
What exactly do you WANT from your approximate inverse?
>When I said that my answer was way of, I meant that the result from
>multiplying this pseudoinverse with the original matrix gave me a result
>so far from the unitary matrix that it was terrifying. That caused me to
>start wondering if there was someway to create a pseudoinverse that made
>the multiplying result closer to the unitary matrix.
Don't say "unitary matrix"! That has a technical meaning that is not
what you intend here.
If you have a singular matrix A then multiplication by another matrix
will produce another singular matrix, and singualr matrices can't be too
close
to the identity ....
However, and this goes to Mr. Chapman as well, I want to find the matrix
that when multiplied with my original skew-symmetric matrix, leaves me
with a matrix as close to the identity matrix as possible. And when I
say close to, I mean as many ones om the diagonal and zero offdiagonal
elements as possible.
To rephrase my question. What different methods are there to find
pseudoinverses of skewsymmetric matrices. So far, we have covered the
Moore-Penrose pseudoinverse and the SVD-approach. Is there any different
approaches to this problem. Is possible to use an eigenvalue
decomposition similar to the singular values? I suppose also that other
factorization methods, for instance QR, can be used, similar to the SVD?
And if these different approaches is used, in what way will this affect
the result? I suppose that the different methods will yield different
results. Is there then any way of saying that one pseudoinverse is
better than the other?
Sorry if these are dense questions, but I'm trying to grasp as much info
as I can about this subject.
Thanx
Ray
> >===== Original Message From Wilbert Dijkhof <W.J.D...@tue.nl> =====
> >Robin Chapman wrote:
> >
> >> I also said that the product
> >> of a skew-symmetric matrix and its Moore-Pensrose psedo-inverse is a
> >> symmetric idempotent matrix (I did't sit down and formally prove this;
> >> if I'm wrong let me know).
> >
> >That's not only true for skew-symmetric matrices, but it is true for
> >all matrices. Since it's always true that
> >
> > B * B^(-1) * B = B (with B^(-1) the pseudo-inverse of B)
> >
> >(don't know how to prove that since my "matrix books" are at home)
> >
> >Now take the square of B * B^(-1) resulting in
> >
> > ( B * B^(-1) ) ^2 = B * B^(-1) * B * B^(-1) = B * B^(-1)
> >
> >so B * B^(-1) is idempotent.
>
> Thanks.
>
> >Since the square of a matrix is always is symmetric it
> >follows by the idempotent-property that B * B^(-1) is symmetric.
>
> But the square of a matrix needn't be symmetric.
Of course :)
If B * B^(-1) is also invertible then it is easy since it must be
the identity matrix and thus symmetric.
> In this case I presume a pseudo-inverse of a skewsymmetric is skewsymmmetric
> and the matrix in question is a product of two commuting skew-symmetrics
> and so is symmetric.....I think :-)
Let me try again:
Let B = U * S * V' be the singular value decomposition, then
( B^(-1) * B )' = ( V * S^(-1) * U' * U * S * V' )' =
= ( V * S^(-1) * S * V' )' = V * (S^(-1) * S)' * V'
= V * S^(-1) * S * V' (since S is diagonal)
= V * S^(-1) * U' * U * S * V' = B^(-1) * B
Hence B^(-1) * B is symmetric.
Wilbert