Re: Matrices as operators
- To: mathgroup at smc.vnet.net
- Subject: [mg123030] Re: Matrices as operators
- From: "David Park" <djmpark at comcast.net>
- Date: Mon, 21 Nov 2011 04:26:44 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <20684718.1421.1321782772955.JavaMail.root@m06>
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