MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Tensor product of Matrices

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128472] Tensor product of Matrices
  • From: Sensei <sensei_s_mail_is_at at me.com>
  • Date: Tue, 23 Oct 2012 00:56:17 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

Hi everyone!

I've succeeded with your help in implementing a tensor application, but 
now I need your help on tensor products, I hope you won't mind!

This is simple: I want to "add" a row and a column to a matrix. This is 
easy with a matrix:

A =
   {
    {1, 0, 0},
    {0, 1, 0},
    {0, 0, 1},
    {0, 0, 0}
    };
B =
   {
    {1, 0, 0, 0},
    {0, 1, 0, 0},
    {0, 0, 1, 0}
    };

M = Partition[Table[i, {i, 1, 9}], 3];

A.M.B
{{1, 2, 3, 0}, {4, 5, 6, 0}, {7, 8, 9, 0}, {0, 0, 0, 0}}



Now how can we do this with a tensor? This is the tensors I'm using:

Id = SparseArray[
   Flatten[Table[{i, j, i, j} -> 1, {i, 1, 3}, {j, 1, 3}], 1],
   {3, 3, 4, 4}
   ];

Flatten[Id, {{3}, {4}, {1, 2}}].Flatten[M, {{1, 2}}] // Normal
{{1, 2, 3, 0}, {4, 5, 6, 0}, {7, 8, 9, 0}, {0, 0, 0, 0}}



IIRC, I'm using Id_ijkl M_ij, but Id_ijkl = X_ki Y_jl, where this is the 
tensor product.


How can I make this product?

Wherever I search the web, I find references to the Kroneker product, 
which isn't what I'm looking for.



Thanks!











  • Prev by Date: Re: Separating functions
  • Next by Date: Re: Making a stack.
  • Previous by thread: Re: How do I assign the solution obtained by FindRoot to a variable?
  • Next by thread: Re: Parametric List Plot??