![]() |
|
![]() | ||
|
Subject:
Representing a matrix as a sum of Kronecker products
Category: Science > Math Asked by: ilya-ga List Price: $30.00 |
Posted:
01 Nov 2002 15:51 PST
Expires: 01 Dec 2002 15:51 PST Question ID: 95946 |
I want to represent a fairly simple 8x8 matrix with a sum of several Kronecker (or tensor) products of three 2x2 matrices. The matrix in question has 8 nonzeros and looks like this: 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 and I need to use the MINIMAL number of products possible. Just to clarify a bit: suppose X, Y, and Z are 2x2 matrices. The Kronecker product of the three is an 8x8 matrix (in Matlab notation it will be kron(X,kron(Y,Z)) - changing the order will permute the resulting matrix, but won't change the entries). I cannot match A shown above with a single product, so I have to use more than one: A = kron(X_1,kron(Y_1,z_1)) + kron(X_2,kron(Y_2,Z_2)) + ... and the question is: how far do I have to go? Obviously, there is a trivial solution with 8 products: one can match each of the 1s in A with a simple product of three matrices with all zeros and single 1 put in the right place. For example, the product kron(X,kron(Y,Z)) of three identical matrices 1 0 X = Y = Z = 0 0 will be the 8x8 matrix of zeros with the only 1 in (1,1) position. Similarly, I can construct seven other products that put 1s in the right places, so when I add them all together I get A using eight products. This is a simple, but suboptimal solution (one can do better than with 8 products). Of course, X, Y, and Z can have more than one nonzero and the entries don't have to be integer. I am looking for the OPTIMAL SOLUTION (minimal number of products) with a PROOF of optimality. (I am not looking for information about the properties of Kronecker products or related stuff). Thanks. Please let me know if I need to clarify the problem statement. | |
| |
| |
| |
| |
|
![]() | ||
|
Subject:
Re: Representing a matrix as a sum of Kronecker products
Answered By: websearcher-ga on 02 Nov 2002 08:51 PST Rated: ![]() |
Hello ilya: My computations have also shown that the minimal number of products is four. While I was not able to prove this *mathematically*, I was able to show it using Maple (a computer algebra program). I basically set up symbolic matrices for the 1-, 2-, and 3-product cases and then tried to solve the resulting systems of equations once the individual matrix element were equated to the corresponding values in A. There were no solutions to the systems for the 1-, 2-, and 3-product cases. Then I extended the model for the 4-product case and started to solve the system. I let the calculation run *all night* and it was still chugging away this morning with no end in sight (so I interrupted it). In the meantime, I had been able to come up with the following four-product example "in my head." 1 0 1 0 1 0 X_1 = Y_1 = Z_1 = 0 0 0 0 0 1 0 1 0 1 1 0 X_2 = Y_1 = Z_1 = 0 0 0 0 0 1 0 0 0 0 1 0 X_3 = Y_3 = Z_3 = 1 0 1 0 0 1 0 0 0 0 1 0 X_4 = Y_4 = Z_4 = 0 1 0 1 0 1 I'm not sure whether this (and the obvious permutations of it) are the *only* 4-product examples, but your question didn't really call for that sort of assurance. If you would like me to "pretty up" my Maple worksheet and post it here, I'd be happy to do that for you. Please let me know. Links of interest: Maple http://www.maplesoft.com Block Matrices http://delta.cs.cinvestav.mx/~schapa/red/alglineal/node56.html If you need any clarification of the information I have provided, please ask using the Clarification feature and provide me with additional details as to what you are looking for. As well, please allow me to provide you with clarification(s) *before* you rate this answer. Thank you. websearcher-ga Search Strategy: "Kronecker product" matrices ://www.google.com/search?q=%22Kronecker+product%22+matrices&hl=en&lr=&ie=UTF-8&safe=off&start=10&sa=N | |
|
ilya-ga
rated this answer:![]() Thanks! |
![]() | ||
|
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: dannidin-ga on 02 Nov 2002 01:58 PST |
ilya-ga, If you allow the ordering kron(kron(x,y),z) then you can do it with 4 terms, since your original matrix "factorizes" into a kronecker product A = kron(B,C), where B = 1 0 0 1 C = 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 And B can then be represented as a sum of 4 kronecker products of two matrices. I don't know how to prove that 4 is optimal but I would guess that it is. If, as you say, you don't allow kron(kron(x,y),z)) but only kron(x,kron(y,z)), I think you are wrong in stating that this is equivalent to the other ordering: what you can get by permuting x,y,z is a permuted version of your matrix, which if I understand correctly is not admissible. In that case, I don't see an obvious way to improve over the trivial sum of 8 kronecker products, but again have no idea how to prove this... -dannidin |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: poincare-ga on 02 Nov 2002 12:22 PST |
ilya, Four is indeed the optimal number. First note that any solution to the triple tensor problem must also solve the smaller problem of producing the matrix 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 which we show cannot be written as a sum of fewer than four tensor products of 2x2 matrices. Nothing about this problem uses the multiplicative structure of 2x2 matrices; all that is important is that they form a vector space of dimension 4, with a basis given by the matrices 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1. Call these matrices e_1, e_2, e_3, and e_4, respectively. Since we are only interested in these matrices (for the stated problem, at least) as elements of a vector space, it's conceptually simpler to re-write elements of this vector space as row and column vectors. The goal, which we know can be written as e_1 x e_1 + e_2 x e_2 + e_3 x e_3 + e_4 x e_4, now becomes the identity matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 which is still a 4-by-4 matrix, but constructed differently. In particular, we wish to write this matrix as a sum of tensor products of the following form: e ae be ce de a b c d tensor f = af bf cf df g ag bg cg dg h ah bh ch dh This is a 4x4 matrix of rank 1; every row is a multiple of the row vector, and every column is a multiple of the column vector. In particular, the span of the columns of the matrix is a subspace of dimension 1. What happens when we add two such matrices? Let v_1 be the column vector in the first tensor product, and v_2 be the column vector in the second. Then every column of the sum is a linear combination of v_1 and v_2; in particular, the set of columns of the sum spans at most the vector space of dimension 2 spanned by v_1 and v_2. In other words, the sum of two rank-1 matrices has rank at most 2. Similarly, the sum of k rank-1 matrices has rank at most k. Since the identity matrix has rank 4 (its columns span a space of dimension 4), it cannot be written as a sum of fewer than 4 rank-1 matrices. For the identity matrix, at least, the solution is far from unique. To give just one example of an alternate solution, translated back to the original setting of tensor products of 2x2 matrices, take the sum of the following tensor products, where 's' represents the square root of 1/2: A = s s B = s -s C = 0 0 D = 0 0 0 0 0 0 s s s -s kron(A,A) + kron(B,B) + kron(C,C) + kron(D,D) which can then be tensored by the 2-by-2 identity matrix to solve the original problem. |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: rbnn-ga on 02 Nov 2002 13:30 PST |
poincare-ga: That is a beautiful argument. Quick question, though - can you explain a bit more why it suffices to show that the that matrix [1 0 0 1;0 0 0 0;0 0 0 0;1 0 0 1] cannot be be represented as the sum of four 2x2 tensor products? |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: npp-ga on 02 Nov 2002 15:14 PST |
The problem is equivalent to a rank approximation in a different linear space and it is solved with the Singular Value Decomposition. Indeed the four term solution is optimal because that is the "Kronecker rank" of the matrix in that space. One can find the closest Kronecker product to a given matrix of non-prime dimensions. See C. Van Loan, N. Pitsianis, Approximation with Kronecker Products, Linear Algebra for Large Scale and Real Time Applications (ed. M. S. Moonen and G. H. Golub), Kluwer Publications, pg 293-314, 1993. N. P. Pitsianis, The Kronecker Product in Approximation and Fast Transform Generation, PhD Thesis, Department of Computer Science, Cornell University, Jan. 1997. N. P. Pitsianis, Some Properties of the Strong Kronecker Product, International Conference on Computational Engineering Science '98, Atlanta, GA, Oct 1998, in "Modeling and Simulation Based Engineering", Volume I, pages 433-8, Editors S. N. Alturi and P. E. O'Donoghue, Tech Science Press, July 1998. |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: ilya-ga on 03 Nov 2002 00:55 PST |
Thanks for the answer and for all the comments. I can see that the matrix can be written as a sum of four terms and a "proof by Maple" that it's impossible to do with fewer terms is sufficeint. I didn't quite follow poincare-ga's argument. Why is it sufficient to show that the [1 0 0 1; 0 0 0 0; 0 0 0 0; 1 0 0 1] matrix cannot be represented with fewer than four Kronecker products? Thanks to npp-ga for the pointers to papers and the thesis. I'll certainly have a look. I do have a follow-up question and I will post it now. Essentially it's the same question about a permutation of matrix A. I thought that it will be trivial to extend the result from A to its permutation, but I don't see how to do that. Thanks! |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: poincare-ga on 07 Nov 2002 08:40 PST |
rbnn and ilya: re: Why is it sufficient to show that [1 0 0 1;0 0 0 0;0 0 0 0;1 0 0 1] requires four terms? If you take an arbitrary linear combination of triple tensor products of 2 x 2 matrices and restrict your attention to the [1,3,5,7],[1,3,5,7] submatrix, that 4 x 4 matrix is itself a linear combination of double tensor products of 2 x 2 matrices, where the coefficients in the linear combination come from the original coefficients each multiplied by the (1,1) entry of the remaining 2 x 2 matrix in the triple product. So if a three-term sum existed for the 8 x 8 matrix, it would give a three-term sum for the matrix [1 0 0 1;0 0 0 0;0 0 0 0;1 0 0 1]. |
Subject:
Re: Representing a matrix as a sum of Kronecker products
From: rbnn-ga on 08 Nov 2002 15:52 PST |
poincare-ga: Ah! How simple! And yet I just couldn't see it. Anyway, your whole proof is impressively elegant and insightful. (Are you a Putnam winner, or an algebra professor somewhere?) |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |