Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2011

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

Search the Archive

Re: Thread::tdlen: Objects of unequal length

  • To: mathgroup at
  • Subject: [mg121887] Re: Thread::tdlen: Objects of unequal length
  • From: Sseziwa Mukasa <mukasa at>
  • Date: Thu, 6 Oct 2011 04:19:42 -0400 (EDT)
  • Delivered-to:
  • References: <>

The operator for matrix multiplication is . not *, * is for element by element multiplication.

Incidentally, . actually does tensor multiplication (read the help) so the braces are unnecessary you can do:


which will result in a scalar, unless you really want a two dimensional 1x1 result in which case s must be two dimensional.


On Oct 5, 2011, at 4:04 AM, SysInv wrote:

> This problem is driving me crazy. I'm trying to multiply matrices, where one is 1x4 (s) and the other is 4x4 (t) and the multiplication is s*t*Transpose[s]
> Despite this I get the error message that the objects is of unequal length. The matrices are:
> s={{x1,x2,x3,x4}}
> =
> 0.0357403,-0.000556137,-0.00043913,0.0649449}
> I must use double level in the 1 row matrix, since otherwise Transpose[] complains that it needs at least 2 levels. I tried without this as well, but I keep getting:
> Thread::tdlen : Objects of unequal length in {{x1,x2,x3,x4}}{{0.0284435,0.00395759,0.000211963,0.0357403},<<2>>,{<<10>>,<<3>>}}{{x1},{x2},{x3},{x4}} cannot be combined. >>
> . when I run s*t*Transpose[s].
> I've spent hours trying to figure this simple problem out, but without any luck. Any pointers guys? It doesn't help if I change the order of the transpose...

  • Prev by Date: Re: can't find info about & /@ %
  • Next by Date: Tensor Products with Derivatives in Mathematica
  • Previous by thread: Thread::tdlen: Objects of unequal length
  • Next by thread: Re: Thread::tdlen: Objects of unequal length