MathGroup Archive 2011

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

Search the Archive

Re: Matrices as operators


In this case there is a simple answer. Just use RotationMatrix.

RotationMatrix[t]

{{Cos[t], -Sin[t]}, {Sin[t], Cos[t]}}

But if you had an operator that wasn't built in, then Presentations has a
routine, PushOnto, that will push arguments onto specific forms and is much
more convenient than Through.

<< Presentations`

{{Cos, -Sin}, {Sin, Cos}}[t];
% // PushOnto[ {Sin, Cos}]

{{Cos[t], -Sin[t]}, {Sin[t], Cos[t]}}


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/ 



From: Chris Young [mailto:cy56 at comcast.net]


I'd like to be able to abbreviate matrices such as rotation matrices so
that I don't have to repeat the argument. This way I can pass in more
complicated arguments and it also shows the structure of the
transformation more clearly.

Through[( {
    {Cos, -Sin},
    {Sin, Cos}
   } )[=CE=B8]]

will get me partway there:

Out: {{Cos, -Sin}[=CE=B8], {Sin, Cos}[=CE=B8]}

I have to apply Thread and Through again to finally get what I want:

In: Thread[Through[{{Cos, -Sin}[=CE=B8], {Sin, Cos}[=CE=B8]}]]

Out: {{Cos[=CE=B8], (-Sin)[=CE=B8]}, {Sin[=CE=B8], Cos[=CE=B8]}}

Is there a shortcut way to do this all in one step?

Thanks very much for any help.

Chris Young
cy56 at comcast.net







  • Prev by Date: Re: Timing function
  • Next by Date: Re: Help needed - Mathematica code
  • Previous by thread: Re: Matrices as operators
  • Next by thread: Re: Matrices as operators