I want to ask what is the inverse operation of Kroneck product?
More specifically, we know that matrix operation
A*X*B=kron(A, B')*vec(X)
where kron is the Kronecker product of matrices as defined in matlab; vec(X)
is the stacked vector version of matrix X. All matrices are square...
Now I want to reverse the operation, suppose I have a big matrix C,
how to find A and B to get C=kron(A, B')?
Under what condition these A and B cannot be found? Then how to find them
approximately, i.e., optimal in the mean-square sense or under other
criteria? That's to say, find A and B, such that kron(A, B')=C1 where C1 is
a reasonably good approximation to C?
Thanks a lot,
-Walala
Maybe if you gave the homework questions verbatim from the Prof, we could be
of more help. It seems your interpretation of your tasks is confusing some
people. Then again, if you really knew the questions, you wouldn't be
posting for answers.
Jim
"walala" <miz...@yahoo.com> wrote in message
news:bsptnn$8vh$1...@mozo.cc.purdue.edu...
Dear Jim,
This really isn't my professor's homework problem... our school is now in
break so there are no damn homeworks right now...
This is a problem I am currently interested in... please tell me which part
of my description confuses you? Then I can make myself clearer...
Rgs,
-Walala
>I want to ask what is the inverse operation of Kroneck product?
>More specifically, we know that matrix operation
>A*X*B=kron(A, B')*vec(X)
>where kron is the Kronecker product of matrices as defined in matlab; vec(X)
>is the stacked vector version of matrix X. All matrices are square...
>Now I want to reverse the operation, suppose I have a big matrix C,
>how to find A and B to get C=kron(A, B')?
Algebraically, this is the tensor product of two linear operators, which
I'll write as C = A \tensor B'. For vectors u,v,w,z let
F(u,v,w,z) = (u \tensor w)' C (v \tensor z). Then a necessary
and sufficient condition for C to be a tensor product is
F(u1,v1,w1,z1) F(u2,v2,w2,z2) = F(u1,v1,w2,z2) F(u2,v2,w1,z1)
for all vectors u1,v1,w1,z1,u2,v2,w2,z2. Of course by linearity
it suffices to do this for u1,v1,w1,z1,u2,v2,w2,z2 in a basis
of R^n. Using the standard basis this can be written as
C_{i_1k_1,j_1l_1} C_{i_2k_2,j_2l_2} = C_{i_1k_2,j_1l_2} C_{i_2k_1,j_2l_1}
Moreover, if this condition holds A and B can be found as
follows:
We may assume F is not identically 0. Fix some u0, v0, w0, z0 so that
F(u0,v0,w0,z0) = 1. Then Q1(w,z) = F(u_0,v_0,w,z) is a bilinear form,
so there is an n x n matrix B such that Q1(w,z) = w' B' z.
Similarly, Q2(u,v) = F(u,v,w0,z0) is a bilinear form, and there is
an n x n matrix A such that Q2(u,v) = u' A v. Then
F(u,v,w,z) = F(u,v,w0,z0) F(u0,v0,w,z) = (u' A v) (w' B' z)
i.e.
(u \tensor w)' C (v \tensor z) = (u \tensor w)' (A \tensor B') (v \tensor z)
and since tensor products of vectors span R^(n^2), we get
C = A \tensor B'.
Robert Israel isr...@math.ubc.ca
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia
Vancouver, BC, Canada V6T 1Z2
http://www.mathcs.emory.edu/~nagy/conferences/2003/SIAM_LA.pdf
Maybe this answers your questions.
Gregor
"walala" <miz...@yahoo.com> wrote in message
news:bsptnn$8vh$1...@mozo.cc.purdue.edu...
Dear Robert,
Thanks a lot for your answer. I tried
K=kron(A, A) and I successfully got [A, A]=inv_kron(K) sometimes;
If I do
K=kron(A, B) then most of time [A, B]=inv_kron(K) will not reproduce A and B
exactly... That's ok!
Now what if I want to impose some structure on the decomposition?
For example, for certain K, I want to obtain
K=kron(A, B)*U+kron(C, D)*V
where A, B, C, D is restricted to some easy-to-compute structure, such as
orthogonal, etc... U and V should be diagonal..
K=kron(A, B)*U+kron(C, D)*V+kron(E, F)*W...
Is there any existing previous work which tackled this kind of problem?
Thanks a lot and happy new year!
-Walala
Dear Gregor,
Thanks a lot for your answer. The link helped a lot!
I have been looking for a good introduction to tensor albegra, working
notation,
and some insightful explanations. I've have no luck so far on the web.
Could you point me to a good source to get started with tensors? given
that i can work with basic vectors, matrices and standard linear
algebra....
Thnx
isr...@math.ubc.ca (Robert Israel) wrote in message news:<bsrb1a$79k$1...@nntp.itservices.ubc.ca>...
An inexpensive source is the Dover book "Tensors, Differential Forms, and
Variational Principles" by Lovelock and Rund. ISBN 0-486-65840-6
Another book is "Introducing Einstein's Relativity" by D'Inverno. While this
is a graduate level book, it does have some good introductory explanations
of tensors. ISBN 0-19-859686-3
You also may want to go peruse books on mathematical physics as this is
where you can find a some introductory material on tensors.
IHTH,
Clay
"EnTn" <entropic_...@yahoo.co.uk> wrote in message
news:1d75390b.04010...@posting.google.com...
Managed to find D'Inverno in my library...
"Clay S. Turner" <CSTu...@WSE.Biz> wrote in message news:<SgYKb.916$TR6...@bignews3.bellsouth.net>...