MathGroup Archive 2001

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

Search the Archive

Re: Element-by-element Matrix Multiplication

  • To: mathgroup at
  • Subject: [mg30081] Re: [mg30070] Element-by-element Matrix Multiplication
  • From: BobHanlon at
  • Date: Fri, 27 Jul 2001 03:52:18 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

In a message dated 2001/7/26 1:32:34 AM, mcoleman at writes:

>I'm searching for an efficient way to calculate and element-by-element
>matrix multiplication for non-square matrices such that when I pass the
>module an integer 'k', it multplies the matrix by itself 'k' times. For
>instance, if k=25, then
>     matMult[k,X] multiplies X*X*X..... 25 times.
>Note that this problem comes about in calculating k-step Marvok transition
>matrices. For my application, this function call is embedded in a Monte
>Carlo simulation, so efficiency is important. The methods I've used to
>seem "too slow" and I was hoping that some of the Mathematica gurus on
>this list
>might offer me suggestions on speeding things up.

If I understand what you mean by element-by-element it is just

matMult[k_Integer, x_List] := x^k;

mat = Array[a, {2, 3}];

matMult[3, mat]

{{a[1, 1]^3, a[1, 2]^3, a[1, 3]^3}, 
  {a[2, 1]^3, a[2, 2]^3, a[2, 3]^3}}

However, for efficiency you should not use a function call just use x^k

Bob Hanlon
Chantilly, VA  USA

  • Prev by Date: Re: NDSolve does not let me to stop
  • Next by Date: Re: Memory Leak
  • Previous by thread: Element-by-element Matrix Multiplication
  • Next by thread: Re: Element-by-element Matrix Multiplication