Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Matrices as operators

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123214] Re: Matrices as operators
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Sat, 26 Nov 2011 06:48:12 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

----- Christopher Young <cy56 at comcast.net> wrote:
> On Nov 25, 2011, at 6:17 PM, Ray Koopman wrote:
> 
>> This is simpler.  Does it do what you want?
>> Note that 'mat' can be a ragged array.
>> Mapping at {-1} preserves its shape, whatever it may be.
>> 
>> In[1]:= op[mat_,t_] := Map[#@t&, mat, {-1}]
>> 
>> In[2]:= op[ { {Sin, Cos}, Tan, whatever }, t ]
>> 
>> Out[2]= { {Sin[t], Cos[t]}, Tan[t], whatever[t] }
> 
> Thanks very much, this is very close to what I need.
> I just need to keep the "[t]" from being added to numbers. 
> 
> In[1]:= op[mat_, t_] := Map[#1[t] &, mat, {-1}]
> 
> In[2]:= op[{{Sin, Cos}, Tan, {Cos, 0, 1}}, t]
> 
> Out[2]= {{Sin[t], Cos[t]}, Tan[t], {Cos[t], 0[t], 1[t]}}

This won't try to interpret a number as a function:

In[1]:= op[mat_, t_] := Map[If[NumericQ@#, #, #@t] &, mat, {-1}]

In[2]:= op[{{Sin, Cos}, Tan, {Cos, 0, 1}}, t]

Out[2]= {{Sin[t], Cos[t]}, Tan[t], {Cos[t], 0, 1}}



  • Prev by Date: Re: Root finding needs higher accuracy
  • Next by Date: Re: Texture on Disk in Mathematica 8?
  • Previous by thread: Re: Matrices as operators
  • Next by thread: Re: Matrices as operators