Re: Can Mathematica recognize the difference between a vector and a matrix?
- To: mathgroup at smc.vnet.net
- Subject: [mg41274] Re: [mg41273] Can Mathematica recognize the difference between a vector and a matrix?
- From: Bobby Treat <drmajorbob at mailblocks.com>
- Date: Mon, 12 May 2003 04:35:47 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
That's illegible, and it doesn't copy properly into a notebook.
Either avoid superscripts and special characters so that copying into
e-mail works, or convert the cell to InputForm (Ctrl-shift-I) before
copying it.
The patterns you need are _?VectorQ and _?MatrixQ
Bobby
-----Original Message-----
From: J Robert Buchanan <Bob.Buchanan at millersville.edu>
To: mathgroup at smc.vnet.net
Subject: [mg41274] [mg41273] Can Mathematica recognize the difference between a
vector and a matrix?
Hello,
I would like to define a Mathematica function which does something
different depending on whether one of the arguments to the function is
a matrix or a vector. I know there are some in-elegant ways to achieve
the affect that I want, but I'm searching for an elegant and efficient
way. Here is an example of the function when both arguments are
vectors.
DMetric[x\[Tau]_List, xt_List] :=
Sqrt[\[CapitalLambda] . \((\((x\[Tau] - xt)\)\^2)\)]
I would like to be able to define the other version where the first
argument is a matrix like this.
DMetric[x\[Tau]_Matrix, xt_List] :=
Sqrt[Map[\((\[CapitalLambda] . #)\) &,
\((Transpose[Transpose[x\[Tau]] - xt]\^2)\)]]
In both cases CapitalLambda is a constant vector of weights. Does
anyone have a suggestion?
Thanks,
Bob Buchanan