MathGroup Archive 1996

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

Search the Archive

Re: How to mutiply a 3x1 and 1x3 vector

  • To: mathgroup at smc.vnet.net
  • Subject: [mg3082] Re: [mg3068] How to mutiply a 3x1 and 1x3 vector
  • From: Robert Pratt <rpratt at math.unc.edu>
  • Date: Wed, 31 Jan 1996 03:02:18 -0500
  • Sender: owner-wri-mathgroup at wri.com

I would suggest two equivalent approaches.  In either case, you need to 
define A and B so that Mathematica recognizes them as matrices (lists of 
row vectors, which are themselves lists) rather than just lists of elements.

Method 1:

A={{1, 2, 3}}
B={{3, 4, 5}}

Note that MatrixQ[A] and MatrixQ[B] return True, but MatrixQ[{1, 2, 3}] and 
MatrixQ[{3, 4, 5}] return False.

Transpose[A]//MatrixForm
B//MatrixForm
Transpose[A].B//MatrixForm

This last command returns a 3x3 matrix, the desired result.

Here, the //MatrixForm is just for appearance (so that the output looks 
like a matrix).  You can omit it if you wish.

Method 2:

A={{1}, {2}, {3}}
B={3, 4, 5}
A.B//MatrixForm

Which method you use depends on your preference.  Method 1 is better if you 
want to define all your vectors in a consistent manner.  For example, if 
you need to compute both A.B and B.A, you would want to define A and B 
similarly (both as row vectors or both as column vectors).  You then have to 
transpose before multiplying.  However, method 2 saves one step in the 
calculation since you're performing the transpose "manually" in your 
definition of A.

Rob Pratt
Department of Mathematics
The University of North Carolina at Chapel Hill
CB# 3250, 331 Phillips Hall
Chapel Hill, NC  27599-3250

rpratt at math.unc.edu

On Tue, 30 Jan 1996, Stephen Nichols wrote:

> 
> Hi,
> 
> I have another question that I thought would be simple to to in Mathematica.
> I have two vectors A={1,2,3} and B={3,4,5}.  How do I multiple them together
> to get a 3x3 matrix.  A . B gives me a scalar result.  Mma seems to always
> treat the first one as a row vector and the second as a column vector.  I
> need it to do the opposite.  Treat the first as a column vector and the second
> as a row vector.  Any ideas?
> 
> thanks,
> 
> 
> 



==== [MESSAGE SEPARATOR] ====


  • Prev by Date: Re: TRYING to read ASCII data with Mathematica
  • Next by Date: Re: Triangulation Problem
  • Previous by thread: Re: How to mutiply a 3x1 and 1x3 vector
  • Next by thread: Re: How to mutiply a 3x1 and 1x3 vector