[Date Index]
[Thread Index]
[Author Index]
making a function linear
*To*: mathgroup at smc.vnet.net
*Subject*: [mg25473] making a function linear
*From*: Murray Eisenberg <murray at math.umass.edu>
*Date*: Mon, 2 Oct 2000 22:26:53 -0400 (EDT)
*Organization*: Mathematics & Statistics, Univ. of Mass./Amherst
*Sender*: owner-wri-mathgroup at wolfram.com
For a function T not yet having any "definition by formula" (T[x_] :=
..... ), I want to specify the linearity rules:
T[x_?VectorQ + y_?VectorQ] := T[x] + T[y]
T[c_ x_?VectorQ] := c T[x]
Then, merely by specifying, say,
a = {1, 2}; T[a] = {3, 4};
b = {5, 6}; T[b] = {7, 8};
evaluating
T[2 a]
T[a + b]
would return results:
{6, 8}
{10, 12}
The trouble is, of course, that Mathematica first evaluates 2 a and a +
b when a and b have actual numeric values, so the two linearity rules
never get used.
What is a SIMPLE way (if there is one) to accomplish this -- preferably
some way to do it that does not explicitly require using some Hold
variant? (I need to be able to explain how to do it early in a linear
algebra course where Mathematica is being introduced, and Hold, etc., I
consider a definitely advanced topic.)
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept. phone 413 549-1020 (H)
Univ. of Massachusetts 413 545-2859 (W)
Amherst, MA 01003-4515
Prev by Date:
**Why relatively slow on Apple G4?**
Next by Date:
**Re: List element manipulation**
Previous by thread:
**Re: Why relatively slow on Apple G4?**
Next by thread:
**Re: making a function linear**
| |