Composition of Vector Functions in Mathematica

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 4K views
Identity
Messages
151
Reaction score
0
I want to define something like:
[tex]A\left(\begin{matrix} x \\ y\end{matrix}\right) = \left(\begin{matrix} 1 & -1 \\ -1 & 1 \end{matrix}\right)\left(\begin{matrix} x \\ y\end{matrix}\right)[/tex]
[tex]B\left(\begin{matrix} x \\ y\end{matrix}\right) = \left(\begin{matrix} 0 & 1 \\ 2 & -1 \end{matrix}\right)\left(\begin{matrix} x \\ y\end{matrix}\right)+\left(\begin{matrix} 1 \\ 1\end{matrix}\right)[/tex]
And then I want to be able to evaluate compositions such as [itex]A \circ B \circ A\left(\begin{matrix} x \\ y\end{matrix}\right)[/itex] quickly and easily.

Currently I'm using this syntax:
A[x_,y_] = {{1,-1},{-1,1}}.{{x},{y}}

However, when I define such a function, the output is a column vector, not a list, and I can't input a column vector into the next function. How do I do ths?
 
Physics news on Phys.org
If I understand your syntax correctly, you have too many brackets in the column vector definition. A column vector should be just a simple list, and a matrix should be a nested list. Instead of:
A[x_,y_] = {{1,-1},{-1,1}}.{{x},{y}}

Just define:

A = {{1,-1},{-1,1}}
B = {{0,1},{2,-1}}
X = {x,y}

Then you can simply compose them with the dot product, such as:

(A.(B.A)).X
 
I can't do that, because B has a translation vector
 
Is this what you are looking for?

In[1]:= A[{x_,y_}]:={{1,-1},{-1,1}}.{x,y};
B[{x_,y_}]:={{0,1},{2,-1}}.{x,y}+{1,1};
Composition[A,B,A][{x,y}]

Out[3]= {-2 x-2 (x-y)+2 y,2 x+2 (x-y)-2 y}
 
I'll have to try it out when i get back tonight, but that looks very promising, thanks :)