> How can I calculate the intersection when M < (N-1)? I.e. above I am always checking the intersection of M planes in Ndim where M = N-1. But what if there are even less planes? e.g.

It depends on your understanding of "calculating", there are multiple ways to represent a subspace.

(Update: See Vector space for terminology)

The intersection of 3 planes in R_3= R x R x R is obviously a point, the intersection of 2 planes a line.

The orthogonal normal vector of a plane is actually a dual space defining the points of the plane by yielding 0 after multiplication (resp a constant, but let's assume all spaces to pass thru the root 0 for simplicity).

This goes both ways the plane is the dual space of the line defined by the vector, hence multiplying points of the line with two vectors spawning the plane will yield 0 again.

Hence for every subspace of dimension M you can find a dual subspace of dimension K with M+K=N.

So in the case of intersecting two planes, their normal vectors can be used to spawn the dual space of the line. That's the plane orthogonal to the line.

And it's the trivial condition of intersecting p*NV1 = p*NV2 = 0, means p is on the line.

(I have to complicate all this because you want the abstraction for higher dimensions)

Now let's say you use the Gaussian transform for our example.

The last line will not yield 1 but 2 values

instead of

a . . 0 b . 0 0 c

you get

a . . 0 b c

The line defined by b,c is the projection of the line on the axis plane with x1=0

You can "plot" the intersection by stepping thru x3, to get x2 in the second row and finally get x1 by inserting x2 and x3 in the first row.

I hope the abstraction to higher dimensions is clearer now.

Dual spaces are relevant because it's easier to make calculations with big M and N, if M-N is small. That's why a simple one dimensional normal vector can define a hyperplane inside a high dimensional space N.

Cheers Rolf
(addicted to the Perl Programming Language :)
see Wikisyntax for the Monastery


In reply to Re: The intersection of M hyperplanes (Ndim) by LanX
in thread The intersection of M hyperplanes (Ndim) by bliako

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.