Re: keep special functions unexpanded

*To*: mathgroup at smc.vnet.net*Subject*: [mg131433] Re: keep special functions unexpanded*From*: Bob Hanlon <hanlonr357 at gmail.com>*Date*: Sun, 21 Jul 2013 21:43:37 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net*References*: <ksdmsm$50s$1@smc.vnet.net>

Re: "This technique also has the advantage that often your private functions can be much neater in algebraic expressions - for example you can use =CE=B3 to represent Gamma." You can just set your output format to TraditionalForm or manually invoke TraditionalForm {Gamma[Pi], ChebyshevT[i, x], LaguerreL[n, a, x]} // TraditionalForm Bob Hanlon On Sun, Jul 21, 2013 at 4:24 AM, David Bailey <dave at removedbailey.co.uk>wrote: > On 20/07/2013 10:56, metrologuy wrote: > > I am trying to create a list of ChebyshevT[n,x] polynomials of different > orders to use as basis functions in a fitting routine. I want to keep the > list in the form that explicitly shows the order number. For example, I > want the list for order n=2 to look like this: > > basislist={ChebyshevT[0,x],ChebyshevT[1,x],ChebyshevT[2,x]}. > > If I use Table to generate the list, I get each function expanded into a > polynomial in x: > > > > In[1]:= Table[ChebyshevT[i,x],{i,0,2}] > > > > Out[1]= {1,x,-1+2 x^2} > > > > How can I prevent the function from displaying the expanded form for > each value of n? If I use the unexpanded form in the Fit[] function, it > works just fine. But I lose the visual connection to the explicit order > number in the input form of the function. Any suggestions how to keep the > "n" visible? > > > The best way to do this, is to use your own private notation for the > function in question: > > basislist = {ChebT[0, x], ChebT[1, x], ChebT[2, x]} > > Replace the notation when you need to evaluate it: > > basislist /. ChebT -> ChebyshevT > > {1, x, -1 + 2 x^2} > > If you work with a lot of functions that you don't want to expand > immediately, you can keep the list of transformations in a variable to > simplify your work: > > functionActivations={ ChebT -> ChebyshevT, ChebU -> ChebyshevU}; > > basislist /.functionActivations > > > {1, x, -1 + 2 x^2} > > This technique also has the advantage that often your private functions > can be much neater in algebraic expressions - for example you can use > \[Gamma] to represent Gamma. > > David Bailey > http://www.dbaileyconsultancy.co.uk > > > > >