## Composition of Vector Functions in Mathematica

I want to define something like:
$$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)$$
$$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)$$
And then I want to be able to evaluate compositions such as $A \circ B \circ A\left(\begin{matrix} x \\ y\end{matrix}\right)$ 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?

 PhysOrg.com science news on PhysOrg.com >> Front-row seats to climate change>> Attacking MRSA with metals from antibacterial clays>> New formula invented for microscope viewing, substitutes for federally controlled drug
 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

## Composition of Vector Functions in Mathematica

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 :)