Compute transformation matrix in nth dimension

In summary, to transform a vector of all ones in n-dimensions to a specific vector w, an invertible matrix T can be found by constructing an inverse matrix Tinverse where the last column is composed of all ones and the remaining columns are linearly independent. This Tinverse can then be inverted to obtain the desired T matrix that transforms v to w. The computational difficulty for finding T may vary depending on the dimensions, but this method can be used for any dimension.
  • #1
bohdy
5
0
I have a vector of all ones in n-dimensions. For example (1,1,1) in 3D. I want to find a invertible rotation matrix T that transforms the vector of all ones to the vector (0,0,0,...,0,,1):

Let v be the vector of all ones, and w=(0,0,...,0,1)
Find T such that T.v == wIn low dimension it is easy to find such a vector with the routine below, but computationally intensive when d>5. Is there a better way?

Basic routine: represent the components of T as variables and find a solution to the non-linear problem of finding an invertible matrix T (Det[T]!=0) that satisfies the dot product T.v == w.

Any better ideas?
 
Physics news on Phys.org
  • #2
I'm no expert here, but I don't see how this is possible.

Assume that the inverse of T exists, and that it is A = inverse(T).The original problem can then be rewritten:
Tv = w
v = Aw

However, the only way this can hold is if the columns of A are (0, 0, ..., 0, v) (where 0 here is the zero vector). Thus A is obviously not invertible, and thus T cannot be either.

If I'm wrong, I'm sorry. I'd love hear where I'm wrong tho :)
 
  • #3
bohdy said:
I have a vector of all ones in n-dimensions. For example (1,1,1) in 3D. I want to find a invertible rotation matrix T that transforms the vector of all ones to the vector (0,0,0,...,0,,1):
? Any transformation from R3 to Rn where n> 3 is not square and so is not invertible. Nor can it be a "rotation" matrix.

Let v be the vector of all ones, and w=(0,0,...,0,1)
Find T such that T.v == w


In low dimension it is easy to find such a vector with the routine below, but computationally intensive when d>5. Is there a better way?

Basic routine: represent the components of T as variables and find a solution to the non-linear problem of finding an invertible matrix T (Det[T]!=0) that satisfies the dot product T.v == w.

Any better ideas?
 
  • #4
In 2D:
T= {{1, -1}, {1, 0}}
Tinverse = {{0, 1}, {-1, 1}}
T.{1,1}={0,1}

In 3D:
T= {{1, -1, 0}, {-1, 0, 1}, {1, 1, -1}}
Tinverse = {{1, 1, 1}, {0, 1, 1}, {1, 2, 1}}
T.{1,1,1}={0,0,1}

In 4D:
T= {{-1, -2, 0, 3}, {-2, -1, 0, 3}, {-1, 1, -1, 1}, {2, -2, 1, 0}}
Tinverse = {{-(2/3), 1/3, 1, 1}, {-(5/3), 4/3, 1, 1}, {-2, 2, 0, 1}, {-1, 1, 1,
1}}
T.{1,1,1,1}={0,0,0,1}


Lord Crc said:
I'm no expert here, but I don't see how this is possible.

Assume that the inverse of T exists, and that it is A = inverse(T).The original problem can then be rewritten:
Tv = w
v = Aw

However, the only way this can hold is if the columns of A are (0, 0, ..., 0, v) (where 0 here is the zero vector). Thus A is obviously not invertible, and thus T cannot be either.

If I'm wrong, I'm sorry. I'd love hear where I'm wrong tho :)
 
  • #5
HallsofIvy said:
? Any transformation from R3 to Rn where n> 3 is not square and so is not invertible. Nor can it be a "rotation" matrix.

I'm looking to map Rn to Rn. See above post. I used the 3D vector (1,1,1) as an example.

...so in R7 I want to map (1,1,1,1,1,1,1) to (0,0,0,0,0,0,1) etc.
 
  • #6
Ah, was thinking inside out. Thanks :)

Do you want a proper rotation matrix, or just any invertible matrix that transforms v to w?

Your "basic algorithm" seems to indicate the latter, in which case couldn't you then construct the Tinverse first, which is easy, and then invert that to get T?
 
  • #7
Hi,
Can you elaborate on how to construct Tinverse easily? Isn't the computational difficulty the same, in that finding T such that T.v=w is as hard as finding a Tinv such that Tinv.w=v?

Any matrix will do. I will then be applying the transformation to other vectors in the space (I don't want 2 vectors to map onto 1 - hence the invertibility property)

Lord Crc said:
Ah, was thinking inside out. Thanks :)

Do you want a proper rotation matrix, or just any invertible matrix that transforms v to w?

Your "basic algorithm" seems to indicate the latter, in which case couldn't you then construct the Tinverse first, which is easy, and then invert that to get T?
 
  • #8
Well, again, I might be wrong here but... The requirements of Tinverse is that the last column has to be all 1's (in order to transform w to v), and in order to be invertible the columns must be linearly independent. One way to construct such a matrix would be to use the standard basis vectors e_i for the first n-1 columns, and the use v as the n'th column:

Tinverse = {{1, 0, 0, 1}, {0, 1, 0, 1}, {0, 0, 1, 1}, {0, 0, 0, 1}}

This matrix can then be inverted and will transform v into w:

T = {{1, 0, 0, -1}, {0, 1, 0, -1}, {0, 0, 1, -1}, {0, 0, 0, 1}}
 
  • #9
Excellent. That's the kind of solution I was hoping for. Many thanks.

Lord Crc said:
Well, again, I might be wrong here but... The requirements of Tinverse is that the last column has to be all 1's (in order to transform w to v), and in order to be invertible the columns must be linearly independent. One way to construct such a matrix would be to use the standard basis vectors e_i for the first n-1 columns, and the use v as the n'th column:

Tinverse = {{1, 0, 0, 1}, {0, 1, 0, 1}, {0, 0, 1, 1}, {0, 0, 0, 1}}

This matrix can then be inverted and will transform v into w:

T = {{1, 0, 0, -1}, {0, 1, 0, -1}, {0, 0, 1, -1}, {0, 0, 0, 1}}
 

FAQ: Compute transformation matrix in nth dimension

How do you compute a transformation matrix in nth dimension?

To compute a transformation matrix in nth dimension, you will need to first determine the dimensions of your input and output spaces. Then, you can use the appropriate equations and algorithms to calculate the transformation matrix. This may involve matrix multiplication, vector operations, and other mathematical techniques.

What is the purpose of a transformation matrix in nth dimension?

A transformation matrix in nth dimension is used to represent the transformation of a set of points from one coordinate system to another. It can be used to rotate, scale, translate, or project points in n-dimensional space.

How does the dimensionality of a transformation matrix affect its computation?

The dimensionality of a transformation matrix directly affects its computation because it determines the number of elements and dimensions that need to be considered in the calculations. As the dimensionality increases, the complexity of the computations also increases.

Can a transformation matrix in nth dimension be applied to points in lower dimensions?

Yes, a transformation matrix in nth dimension can be applied to points in lower dimensions. This is because the transformation matrix represents a set of rules or instructions that can be used to transform points in any dimension, as long as the input and output spaces are defined.

What are some common applications of transformation matrices in nth dimension?

Transformation matrices in nth dimension have various applications in fields such as computer graphics, computer vision, robotics, and physics. They are used to represent and manipulate objects in 3D and higher-dimensional space, perform transformations in machine learning and data analysis, and calculate rotations and translations in physics simulations.

Similar threads

Replies
1
Views
701
Replies
4
Views
2K
Replies
2
Views
2K
Replies
8
Views
767
Replies
10
Views
2K
Replies
20
Views
3K
Replies
3
Views
1K
Replies
43
Views
6K
Replies
59
Views
8K
Back
Top