<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Just a smidge ana from there. No, a little kata now. Perfect!</title>
	<atom:link href="http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/feed" rel="self" type="application/rss+xml" />
	<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect</link>
	<description>Pontification without all the gritty gravitas</description>
	<lastBuildDate>Fri, 04 Nov 2011 13:27:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Antonio</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-266</link>
		<dc:creator>Antonio</dc:creator>
		<pubDate>Tue, 06 Dec 2005 20:45:11 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-266</guid>
		<description>Oy vey. Exterior algebra and Hodge duality is all nice and good. But this just boils down to the determinant. You want those vectors X such that the matrix (B-A,C-A,D-A,X-A) has, say, nonnegative determinant.</description>
		<content:encoded><![CDATA[<p>Oy vey. Exterior algebra and Hodge duality is all nice and good. But this just boils down to the determinant. You want those vectors X such that the matrix (B-A,C-A,D-A,X-A) has, say, nonnegative determinant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maynard Handley</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-258</link>
		<dc:creator>Maynard Handley</dc:creator>
		<pubDate>Fri, 02 Dec 2005 23:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-258</guid>
		<description>I&#039;d add just one point to what people have said above. 
What you *really* want in a situation like this is what&#039;s called an orientation. An orientation is, in the most hand-waving terms, a rule that allows one to move from n-dimensions to n-1 dimensions in a consistent fashion. When, in the examples you give, you talk about &quot;clock-wise&quot; or &quot;the right-hand-rule&quot; you are implicitly using an orientation. 
A volume form, as described by poster #4, implicitly defines an orientation, which is why what he is suggesting works. 

If you want to be more formal about this, the buzzword you want to look for in a differential geometry book is the hodge dual (represented by the * operator) which performs exactly the operation you are describing.</description>
		<content:encoded><![CDATA[<p>I&#8217;d add just one point to what people have said above.<br />
What you *really* want in a situation like this is what&#8217;s called an orientation. An orientation is, in the most hand-waving terms, a rule that allows one to move from n-dimensions to n-1 dimensions in a consistent fashion. When, in the examples you give, you talk about &#8220;clock-wise&#8221; or &#8220;the right-hand-rule&#8221; you are implicitly using an orientation.<br />
A volume form, as described by poster #4, implicitly defines an orientation, which is why what he is suggesting works. </p>
<p>If you want to be more formal about this, the buzzword you want to look for in a differential geometry book is the hodge dual (represented by the * operator) which performs exactly the operation you are describing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tozier</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-251</link>
		<dc:creator>Tozier</dc:creator>
		<pubDate>Thu, 01 Dec 2005 11:31:24 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-251</guid>
		<description>That seems like it&#039;s the ticket!

The scoop is this: I&#039;m framing an evolutionary search through the set of &lt;i&gt;linear programming algorithms&lt;/i&gt;, and for generality&#039;s sake am thinking of starting from a toolkit of simple (flat Euclidean) geometric operations, coupled with a representation of hyperplanes and half-spaces (linear inequality constraints) as &lt;i&gt;n&lt;/i&gt;-point tuples.

So now, using the wedge product, we can describe a set of &lt;i&gt;m&lt;/i&gt; inequality constraints on &lt;i&gt;n&lt;/i&gt; variables as a list of &lt;i&gt;m&lt;/i&gt; &lt;i&gt;n&lt;/i&gt;-tuples of &lt;i&gt;n&lt;/i&gt;-dimensional points. (Yes, there are very many such tuples which can define a given half-space. That&#039;s one of the fun parts about this representation.)  And the objective function as an &lt;i&gt;n&lt;/i&gt;-dimensional vector.

The rest of the preparation is setting up some simple geometric functions for our evolving solvers to invoke: shortest distances, norms, intersections, vector addition and subtraction, cross products. An identity function, which will compare two tuples with different numerical values represent the same half-space and see if they&#039;re the same onject.  A few &quot;maintenance&quot; operators that will rearrange the numerical representation of an object in what might be more &quot;tidy&quot; form (expanding points away from zero and shrinking them down from infinity; centering them; that sort of thing).

The evolving algorithms will be able to perform operations in several dimensions, using a transparent mechanism. They have access to a stack containing, say, points of different cardinality. When they try to &lt;code&gt;AddPoint&lt;/code&gt;, they&#039;ll pop the top point off the stack, determine its dimension, and then pull the next point of that same dimension; add the two, and push the result back onto the stack. Lacking a second point, the operation fails gracefully, replacing the original point to the top of the stack.

What you&#039;ve done, I think, allows me to work with these half-spaces as easily. So a hypothetical &lt;code&gt;PointInHalfSpace?&lt;/code&gt; function might pop the top point, and the topmost half-space of that cardinality, and push a boolean that states whether the point lies within the half-space.

So -- thanks again!</description>
		<content:encoded><![CDATA[<p>That seems like it&#8217;s the ticket!</p>
<p>The scoop is this: I&#8217;m framing an evolutionary search through the set of <i>linear programming algorithms</i>, and for generality&#8217;s sake am thinking of starting from a toolkit of simple (flat Euclidean) geometric operations, coupled with a representation of hyperplanes and half-spaces (linear inequality constraints) as <i>n</i>-point tuples.</p>
<p>So now, using the wedge product, we can describe a set of <i>m</i> inequality constraints on <i>n</i> variables as a list of <i>m</i> <i>n</i>-tuples of <i>n</i>-dimensional points. (Yes, there are very many such tuples which can define a given half-space. That&#8217;s one of the fun parts about this representation.)  And the objective function as an <i>n</i>-dimensional vector.</p>
<p>The rest of the preparation is setting up some simple geometric functions for our evolving solvers to invoke: shortest distances, norms, intersections, vector addition and subtraction, cross products. An identity function, which will compare two tuples with different numerical values represent the same half-space and see if they&#8217;re the same onject.  A few &#8220;maintenance&#8221; operators that will rearrange the numerical representation of an object in what might be more &#8220;tidy&#8221; form (expanding points away from zero and shrinking them down from infinity; centering them; that sort of thing).</p>
<p>The evolving algorithms will be able to perform operations in several dimensions, using a transparent mechanism. They have access to a stack containing, say, points of different cardinality. When they try to <code>AddPoint</code>, they&#8217;ll pop the top point off the stack, determine its dimension, and then pull the next point of that same dimension; add the two, and push the result back onto the stack. Lacking a second point, the operation fails gracefully, replacing the original point to the top of the stack.</p>
<p>What you&#8217;ve done, I think, allows me to work with these half-spaces as easily. So a hypothetical <code>PointInHalfSpace?</code> function might pop the top point, and the topmost half-space of that cardinality, and push a boolean that states whether the point lies within the half-space.</p>
<p>So &#8212; thanks again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: B. Lane</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-250</link>
		<dc:creator>B. Lane</dc:creator>
		<pubDate>Thu, 01 Dec 2005 08:35:23 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-250</guid>
		<description>To elaborate:

The wedge product v1 ^ v2 ^ v3 ^ ... ^ vn defines the n-form (roughly, n-plane) &quot;containing&quot; the vectors v1...vn. In three dimensions, for instance, the wedge product v ^ w of two vectors v and w defines the 2-plane containing them both. The normal vector to that plane is the cross product v x w. In 4-space, v ^ w defines a 2-plane again, but there is no &quot;normal vector&quot; to a plane in 4-space; this is why there&#039;s no cross product.

Now, if you have _four_ points in 4-space, you have three vectors u, v, w, and u ^ v ^ w is a 3-plane, which has a normal vector. Five points in 5-space gives four vectors which wedge into a 4-plane, with a normal vector. We can use these normal vectors to tell which side of the plane a given point is on, just as in 2 and 3 dimensions, and thus we partition the space into two halves. This only works, though, as you point out, if the points are not coplanar - if you try to wedge a vector with a subplane it&#039;s already in, the product is zero.

And, as Wolfgang points out, you can&#039;t partition a general manifold in this way; it works in Euclidean n-space, though.</description>
		<content:encoded><![CDATA[<p>To elaborate:</p>
<p>The wedge product v1 ^ v2 ^ v3 ^ &#8230; ^ vn defines the n-form (roughly, n-plane) &#8220;containing&#8221; the vectors v1&#8230;vn. In three dimensions, for instance, the wedge product v ^ w of two vectors v and w defines the 2-plane containing them both. The normal vector to that plane is the cross product v x w. In 4-space, v ^ w defines a 2-plane again, but there is no &#8220;normal vector&#8221; to a plane in 4-space; this is why there&#8217;s no cross product.</p>
<p>Now, if you have _four_ points in 4-space, you have three vectors u, v, w, and u ^ v ^ w is a 3-plane, which has a normal vector. Five points in 5-space gives four vectors which wedge into a 4-plane, with a normal vector. We can use these normal vectors to tell which side of the plane a given point is on, just as in 2 and 3 dimensions, and thus we partition the space into two halves. This only works, though, as you point out, if the points are not coplanar &#8211; if you try to wedge a vector with a subplane it&#8217;s already in, the product is zero.</p>
<p>And, as Wolfgang points out, you can&#8217;t partition a general manifold in this way; it works in Euclidean n-space, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wolfgang</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-248</link>
		<dc:creator>Wolfgang</dc:creator>
		<pubDate>Thu, 01 Dec 2005 04:05:45 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-248</guid>
		<description>One more, the formula assumes summation over same indices and in Euclidean space you do not need to distinguish covariant and contravariant indices as I did.

By the way, I assume you were talking about flat Euclidean space, since in general your problem has no solution. E.g. on the torus a (closed) line does not always divide the manifold in two halfs.</description>
		<content:encoded><![CDATA[<p>One more, the formula assumes summation over same indices and in Euclidean space you do not need to distinguish covariant and contravariant indices as I did.</p>
<p>By the way, I assume you were talking about flat Euclidean space, since in general your problem has no solution. E.g. on the torus a (closed) line does not always divide the manifold in two halfs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wolfgang</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-247</link>
		<dc:creator>Wolfgang</dc:creator>
		<pubDate>Thu, 01 Dec 2005 04:02:24 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-247</guid>
		<description>Oooops, I forgot:
with epsilon I mean of course the total antisymmetric symbol, (epsilon = +1, -1)</description>
		<content:encoded><![CDATA[<p>Oooops, I forgot:<br />
with epsilon I mean of course the total antisymmetric symbol, (epsilon = +1, -1)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wolfgang</title>
		<link>http://williamtozier.com/slurry/2005/11/30/just-a-smidge-ana-from-there-no-a-little-kata-now-perfect/comment-page-1#comment-246</link>
		<dc:creator>Wolfgang</dc:creator>
		<pubDate>Thu, 01 Dec 2005 04:00:55 +0000</pubDate>
		<guid isPermaLink="false">http://williamtozier.com/slurry/?p=224#comment-246</guid>
		<description>I guess you are looking for the wedge product 
A /\ B /\ C /\ .... where A, B, C, ... are the base vectors.
In index notation:
V_i = epsilon_{iabc..} A^a B^b C^c ...</description>
		<content:encoded><![CDATA[<p>I guess you are looking for the wedge product<br />
A /\ B /\ C /\ &#8230;. where A, B, C, &#8230; are the base vectors.<br />
In index notation:<br />
V_i = epsilon_{iabc..} A^a B^b C^c &#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

