Composition of Vector Functions in Mathematica

Click For Summary

Discussion Overview

The discussion revolves around defining and composing vector functions in Mathematica, focusing on matrix transformations and handling translations. Participants explore syntax and methods for evaluating compositions of these functions.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Homework-related

Main Points Raised

  • One participant seeks to define vector functions A and B using matrix multiplication and evaluate their compositions.
  • Another participant suggests simplifying the syntax by using lists for vectors and matrices, indicating that the original syntax has too many brackets.
  • A participant points out the challenge of incorporating a translation vector in function B, which complicates the composition.
  • A later reply provides a potential solution using a different syntax for defining the functions and demonstrates how to compose them, including handling the translation.
  • One participant expresses interest in trying the proposed solution, indicating it seems promising.

Areas of Agreement / Disagreement

Participants have differing views on the correct syntax and approach for defining and composing the functions, with no consensus reached on a single method.

Contextual Notes

There are unresolved issues regarding the handling of translations in vector functions and the specific syntax required for proper evaluation in Mathematica.

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

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 33 ·
2
Replies
33
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K