Re: Change of Basis function

*To*: mathgroup at smc.vnet.net*Subject*: [mg68986] Re: [mg68949] Change of Basis function*From*: Bob Hanlon <hanlonr at cox.net>*Date*: Sat, 26 Aug 2006 02:04:22 -0400 (EDT)*Reply-to*: hanlonr at cox.net*Sender*: owner-wri-mathgroup at wolfram.com

Clear[functionX]; functionX[x_?VectorQ, b_List]:=LinearSolve[Transpose[b],x]; functionX[x_, b_?VectorQ]:=Coefficient[x,#]&/@b; functionX[{1,2,3},{{1,2,0},{0,1,0},{0,0,1}}] {1,0,3} functionX[f x1 - b x2 + x3 - x2,{x1,x2,x3}] {f,-b-1,1} Bob Hanlon ---- David Boily <dsboily at fastmail.ca> wrote: > I would like to know if there is a function capable of giving as output > the representation of a vector in a given basis. For example: > > FunctionX[{1,2,3}, {{1,2,0},{0,1,0},{0,0,1}}] > > (where the first argument is the vector and the second the basis) > > would yield > > {1,0,3} > > and > > FunctionX[f x1 - b x2 + x3 - x2, {x1,x2,x3}] > > would yield > > {f, -b-1, 1} > > I'm more interested in the second case, obviously, because the first one > can be achieved with a simple matrix multiplication. > > David Boily > Center for Intelligent Machines > Mcgill University >