General linear functions
- To: mathgroup at smc.vnet.net
- Subject: [mg26307] General linear functions
- From: Jeffrey Hersh <jeffrey.m.hersh at saic.com>
- Date: Sun, 10 Dec 2000 21:37:54 -0500 (EST)
- Organization: SAIC
- Sender: owner-wri-mathgroup at wolfram.com
Hello there, I am trying to implement functions that are linear in only a few of their arguments and need some help. I know how to implement linear and multilinear functions thanks to a post back in October, however I am interested in functions like: F[a,b,c,...,x,y,z...] or F[...,a,x,...,b,c...,y,...z,...] etc. where F is linear in x,y,z,... but not linear in a,b,c... I would like to use a variation of the earlier solution to making multilinear functions, i.e. SetMultilinear[func_]:=(Function[x, x[___,0,___] := 0; x[a___,y_+z_,b___] := x[a,y,b] + x[a,z,b]; more rules..... ]/@func) set it up so that my new function is SetSemiLinear[func_,list_] := (* function def *) Where the list is a list of the slots of func that are linear. Any ideas of how to achieve this? While I am at it, a separate but related issue. I would also like to be able to make linear functions that are limited in the number of slots they can take. The problem with the SetMultilinear function above is that the function func can take any number of arguments and be linear in all of them. I would like to have a way to limit func to only take a few slots, i.e. be able to define a function as n-linear only. Any help would be appreciated. Jeff