Re: Element-by-element Matrix Multiplication

*To*: mathgroup at smc.vnet.net*Subject*: [mg30081] Re: [mg30070] Element-by-element Matrix Multiplication*From*: BobHanlon at aol.com*Date*: Fri, 27 Jul 2001 03:52:18 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

In a message dated 2001/7/26 1:32:34 AM, mcoleman at bondspace.com 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 >date >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