Re: Telling Mathematica that a symbol is going to be a List?

*To*: mathgroup at smc.vnet.net*Subject*: [mg50831] Re: [mg50817] Telling Mathematica that a symbol is going to be a List?*From*: "Maxim A. Dubinnyi" <maxim at nmr.ru>*Date*: Thu, 23 Sep 2004 05:27:12 -0400 (EDT)*References*: <200409220411.AAA18738@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Use definition m[d_List]:={ { d[[1]], 0, 0}, {0, d[[2]], 0}, {0, 0, d[[3]]} and then call m[{d1,d2,d4}] without any errors. AES/newspost wrote: >I want to define a function containing parameters that are going to be >elements in a list, e.g. something like > > m := { { d[[1]], 0, 0}, {0, d[[2]], 0}, {0, 0, d[[3]]} > >but not define the list of values of d until later (and not put the >parameters in as explicit arguments of m just to keep the appearance >less cluttered and typing easier). > >If I then give an input line > > m /. {d -> {d1, d2, d3} } // MatrixForm > >I get "Part::partd" errors -- but the matrix then displays correctly. > >I can of course just Off[] the errors -- but is there a better way. > > >

**References**:**Telling Mathematica that a symbol is going to be a List?***From:*AES/newspost <siegman@stanford.edu>