MathGroup Archive 2004

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

Search the Archive

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

  • To: mathgroup at smc.vnet.net
  • Subject: [mg50825] Re: [mg50817] Telling Mathematica that a symbol is going to be a List?
  • From: DrBob <drbob at bigfoot.com>
  • Date: Wed, 22 Sep 2004 04:52:03 -0400 (EDT)
  • References: <200409220411.AAA18738@smc.vnet.net>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

How about one of these strategies?

m[a_,b_,c_]:={{a,0,0},{0,b,0},{0,0,c}}
m[d1,d2,d3]

{{d1,0,0},{0,d2,0},{0,0,d3}}

m[{a_,b_,c_}]:={{a,0,0},{0,b,0},{0,0,c}}
m@{d1,d2,d3}

{{d1,0,0},{0,d2,0},{0,0,d3}}

Or use the built-in function:

DiagonalMatrix@{d1,d2,d3}

{{d1,0,0},{0,d2,0},{0,0,d3}}

Bobby

On Wed, 22 Sep 2004 00:11:55 -0400 (EDT), AES/newspost <siegman at stanford.edu> 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.
>
>
>
>



-- 
DrBob at bigfoot.com
www.eclecticdreams.net


  • Prev by Date: Re: Expanding a Square Root
  • Next by Date: Re: 3D graph with assumptions
  • Previous by thread: Telling Mathematica that a symbol is going to be a List?
  • Next by thread: Re: Telling Mathematica that a symbol is going to be a List?