Re: Efficient Replacement Rules to Matrix?

*To*: mathgroup at smc.vnet.net*Subject*: [mg21746] Re: Efficient Replacement Rules to Matrix?*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>*Date*: Thu, 27 Jan 2000 22:56:29 -0500 (EST)*Organization*: Universitaet Leipzig*References*: <86mdud$2fq@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Hi, look if repmat1 = repmat /. Rule -> List; Set[Part[matrix, Sequence @@ #1], #2] & @@@ repmat1 is not faster. Hope that helps Jens Roger Jones wrote: > > What is the most efficient (in terms of time) method to transform a set > of replacement rules to a matrix. For example, I have: > > matrix = ZeroMatrix[5]; > repmat = {{1, 1} -> 4., {5, 5} -> 3,{4, 4} -> 10,{2, 2} -> 2 + I 6, {3, > 3} -> 40.}; > > and I transfor to a matrix thus: > > matrix = ReplacePart[matrix, Sequence @@ #]) & /@ ( > {Last[#], #[[1]]} & /@ matrix); > > But for large matrices this is quite slow! Is there a more efficient > method? > > I then will form a matrix product with this sparse matrix: > result= matrix.avector and this is indeed my goal. > > I would appreciate any ideas on this matter. > Many thanks! > > -Roger Jones > > PS This comes to light in the context of using the new Mathematica > function "SparseLinearSolve"