Tuesday, July 22, 2008

Getting WiFi to work

Atheros AR5006EG on my Acer Aspire 4715z finally works — under 2.6.26 Linux kernel with pure ath5k driver. I've found this out from Arch Linux forum. With 2.6.25 kernel it didn't work neither with madwifi not with ndiswrapper.

Now I can leave to Bulgaria to participate in IMC with hope to get some civil internet there.

Tuesday, July 15, 2008

Exploring triple product

While working on physics engine, I have to deal with a lot of analytical and computational geometry. Sometimes interesting things arise.

Consider, for example, triple product of three 3-dimensional vectors: (a,b,c)=a·(b × c). Although it doesn’t look symmetric, in fact it has some sort of symmetry: it’s cyclic, i.e. (a,b,c)=(c,a,b)=(b,c,a).

This follows from different interpretations of triple product. For example, from geometric point of view, triple product is the signed volume of the parallelepiped defined by these three vectors.

On the other hand, triple product is the determinant of the 3-by-3 matrix having the three vectors as rows.

None of these interpretations, however, is obvious from the definition of the triple product, given above. If you don’t know them, the only way to prove cyclicity is to expand both sides using coordinates and to see that they are identical. In this case it looks like magical coincidence (at least it looked so for me when I was studying it for the first time).

Today I discovered very straightforward justification of this property, which, I think, explains its algebraic nature and connections with dot and cross products.

Cross product is linear transformation from ℝ3 space to itself, and thus can be represented by 3-by-3 matrix.

a × b = A b = 



0a3a2
a30a1
a2a10






b1
b2
b3



As you can see, matrix A is skew-symmetric, i.e. AT=−A. Then adjoint matrix A* also equals −A.

Now we have all that we need. Here ( , ) represents dot product and B is cross product matrix for b.

(a,b,c)=a · (b × c)=(aB c)=(B* ac)=(− b × a, c)=(a × bc)=(ca × b) = (c,a,b).

Saturday, July 12, 2008

Exception Gathering Summer 2008: announce

Ivan Pirog organizes «exceptional» open-air gathering for developers on 19-20 of July, see details. Wonderful idea, eh? Hope to see you there!