Threading over matrices
- To: mathgroup at smc.vnet.net
- Subject: [mg90741] Threading over matrices
- From: "Robert <"@frank-exchange-of-views.oucs.ox.ac.uk
- Date: Tue, 22 Jul 2008 03:57:45 -0400 (EDT)
- Organization: University Of Oxford, England
How can I get evaluations to thread over matrices with
conditional functions?
Here's examples that show the behaviour that's really
frustrating me.
Create a couple of matrices:
x = Table[Random[],{3},{4}];
y = Table[Random[],{3},{4}];
a=0.5;
(These are example values I would like the following
to apply to lists of any dimension.)
When you add them they create a result with the same
dimensions where each element corresponds to the
input elements
x + a y
And some functions do similar
Cos[x] + Sin[a y]
But some don't, e.g.
x > y
x > a
I would have liked those to produce a matrix of corresponding
True and False results, and then something like:
If[x > y, 1/x, x - y]
Piecewise[{{1,x==a},{x^2,x>a}},x y^2]
to produce a matrix of results corresponding to each element.
They don't - I haven't managed to find out why they don't or
more usefully how to do what I would like them to do.
I have searched Help on all the likely commands (I think: Map,
Thread, Apply, Distribute, ...) and this archive, where there
are similar enquiries but none that match. Perhaps I'm looking
in the wrong place - I expect there's someone who can help.
Robert
- Follow-Ups:
- Re: Threading over matrices
- From: Murray Eisenberg <murray@math.umass.edu>
- Re: Threading over matrices
- From: Curtis Osterhoudt <cfo@lanl.gov>
- Re: Threading over matrices
- From: Oliver Ruebenkoenig <ruebenko@wolfram.com>
- Re: Threading over matrices
- From: Sseziwa Mukasa <mukasa@jeol.com>
- Re: Threading over matrices