Moderators: gmalivuk, Prelates, Moderators General
quintopia wrote:So, just to make sure I'm understanding:
If I have a set of points in the (n-1)-dimensional hyperplane plane through the origin given by x, and apply the rotation you have defined to them, their images will all be in the (n-1)-dimensional hyperplane through the origin defined by y?
quintopia wrote:Also, I gather that I can numerically compute the basis for the orthogonal complement as null([x,y]^{T}), yes?
quintopia wrote:I think you got it wrong. What everyone else said is that the n-dimensional equivalent of an axis is whichever (n-2)-dimensional subspace which is fixed. 2 dimensions is not enough.
SO, how do I convert this into an algorithm I can actually implement? Here's my best guess based on what has been said so far:
-Find an orthonormal basis for span(x,y) (Which is just [x,(y-<x,y>x)/|y-<x,y>x|] since x is already unit length)
-Find an orthonormal basis for R^{n} with the basis for span(x,y) as its first two components (complete it using null([x,y]^{T})). Represent this basis as a matrix B.
-Find the angle theta between x and y (cos^{-1}<x,y>)
-Replace the upper left corner of the identity matrix by the 2-D rotation matrix for angle theta ([cos theta, -sin theta; sin theta, cos theta]). Call this matrix R.
-The final rotation matrix is BRB^{-1}.
Do I have this algorithm correct?
quintopia wrote:By definition, this is all points x where <a,x>=<b,x>=0
which means <a,x>-<b,x>=0
which means <a-b,x>=0
and so null((a-b)^{T}) is the solution set, yes?
I think I'm missing a constraint here, because it looks like the given solution is n-1-dimensional and it should be n-2-dimensional. Maybe the correct answer is again null([a,b]^{T}). That would at least have the right dimension.
quintopia wrote:I'm trying to find the intersection of two hyperplanes containing the origin, a and b.
By definition, this is all points x where <a,x>=<b,x>=0
skeptical scientist wrote:quintopia wrote:I think you got it wrong. What everyone else said is that the n-dimensional equivalent of an axis is whichever (n-2)-dimensional subspace which is fixed. 2 dimensions is not enough.
SO, how do I convert this into an algorithm I can actually implement? Here's my best guess based on what has been said so far:
-Find an orthonormal basis for span(x,y) (Which is just [x,(y-<x,y>x)/|y-<x,y>x|] since x is already unit length)
-Find an orthonormal basis for R^{n} with the basis for span(x,y) as its first two components (complete it using null([x,y]^{T})). Represent this basis as a matrix B.
-Find the angle theta between x and y (cos^{-1}<x,y>)
-Replace the upper left corner of the identity matrix by the 2-D rotation matrix for angle theta ([cos theta, -sin theta; sin theta, cos theta]). Call this matrix R.
-The final rotation matrix is BRB^{-1}.
Do I have this algorithm correct?
I think that will work. I'm not quite sure what you mean by null([x,y]^{T}), or how you use it to complete your basis which started with [x,(y-<x,y>x)/|y-<x,y>x|], (I would just have used Gram-Schmidt on (x,y,e^{1},...,e^{n}), and thrown out the two 0 vectors which resulted, in order to get a basis) but assuming that part works, everything else will work.
Jerry Bona wrote:The Axiom of Choice is obviously true; the Well Ordering Principle is obviously false; and who can tell about Zorn's Lemma?