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

**Follow-Ups**:**Re: making a function linear***From:*"Carl K. Woll" <carlw@u.washington.edu>

**Re: making a function linear***From:*Ken Levasseur <Kenneth_Levasseur@uml.edu>