Archive for August, 2008

முதற் பக்கம்

Posted in Web 2 months, 4 weeks ago

I came across a pure Tamil URL today: http://உதாரணம்.பரிட்சை/முதற்_பக்கம். Searching for such website is hard if ones doesn’t know how to type these.

In other news, lack of WiFi at my hotel encouraged me to walk around downtown SF. I should have gone earlier and rented a bike (shop closes at 6pm.)

Hot Chips 20

Posted in Activity, Computing 3 months ago

I’ll be at Stanford for the next few days for Hot Chips 20, a symposium on high performance chips. Sessions I’m particularly interested in:

  • D.E. Shaw’s specialized ASIC for molecular dynamics which I’ve written about earlier and IBM’s PowerXCell powering Roadrunner.
  • Upcoming architectures: AMD’s 780G and Intel’s Nehalem (dot products of special interest to me.)
  • Chips tuned for network or IO (Sun’s Rock, Fujitsu’s SPARC64VII and Intel’s Tukwila.)
  • Algorithmic content: Roofline models for automatic tuning of kernels (good addition to Demmel’s talk on the future of linear algebra from MMDS.)
  • Intel’s Larrabee: response to “the can of whoop-ass” (detailed architectural paper from SIGRAPH.)
  • CUDA: useful for a class of algorithms (based on memory access.)

I’m going to be trying something new this time — live blogging. I’ll try to push constant updates to my twitter stream : gane5h.

I’ll be staying at the Sheraton in Palo Alto. Drop me a line if you want to meetup for a chat.

iPhone Review

Posted in Design 3 months, 1 week ago

I’m now a proud owner of an Apple iPhone 3G. There are tons of reviews out there that you can lookup, but here’s mine with the purpose of getting-shit-done:

Pros:

  • The easiest phone on the planet. This has got to be one of the most usable devices I’ve ever used. Everything from looking up contacts, syncing, WiFi is so easy.
  • Native syncing with Exchange. Hate duplicate copies of my contacts.
  • Inbuilt music player.
  • Seamless integration with my Mac.
  • Volume controls as physical buttons on the outside unlike the iPod Touch.

Cons:

  • The touch screen is “cool” for a few minutes but not usable. I regularly lookup information on my phone while driving — this practice will now have to stop.
  • Web browsing on the phone isn’t even marginally useful for me.
  • GPS isn’t very good. That’s OK because I got a real GPS unit.
  • 50% battery charge in two days. Wow. In a year, I’ll need to keep the phone plugged in at all times.
  • Sluggish. Skips music when syncing contacts.
  • The alarm module is less useful than my 4 year Nokia phone.

Fast Determinant Calculation

Posted in Computing 3 months, 1 week ago

Someone came to me recently for some help on computing determinants. Determinants of 2×2 and 3×3 and maybe even 4×4 matrices are trivial and you can easily hard code the expanded symbolic form. Determinants of bigger matrices are much harder and require careful thought.

First some rules:

  • Singular matrices have determinant zero. Simple, but often overlooked.
  • If you require a spectral decomposition at a later stage, the easiest is the product of the eigenvalues (the matrix cookbook is a handy reference.)
  • For triangular matrices, it’s the product of the diagonal entries.
  • The determinant of the product of two matrices is the product of their determinants.

Using the above rules, the first step is to factor your matrix into two triangular matrices. The LU decomposition achieves this. In general, a permutation matrix allows all ones on the diagonal of L. If you only care about the absolute value of the determinant, simply computing the product of the diagonal values of U gets you the determinant.

If your matrix is symmetric and positive definite, then you can use a specialization known as Cholesky decomposition which makes L the transpose of U (doing half the work with half the storage.) The determinant is then the product of the square of the diagonal elements. Diffusion tensors are covariance matrices (symmetric, positive definite) and so this decomposition always applies.

Modern Massive Data Sets Reflections

Posted in Activity, Computing 3 months, 1 week ago

The workshop was a blast! I had an incredible time getting up to speed on the latest and greatest in data analysis research. It was quite humbling to brush shoulders with some of top folks pushing the frontiers of science. There were also many opportunities to network where I could get a peek at the motivations behind some of the projects presented.

Each day had a theme:

  • Data Analysis and Data Applications
  • Networked Data and Algorithmic Tools
  • Statistical, Geometric, and Topological Methods
  • Machine Learning and Dimensionality Reduction

The breadth of topics was quite exhaustive. I mostly pushed my own agenda: streaming algorithms. There’s so much to write here that I won’t even attempt to.

Besides streaming algorithms, the presentations on mathematical topics were really interesting. Some of it I’ve previously seen from my day-to-day work, some of it was new. Of particular interest to me were the following:

  • Graph Sparsification : Never seen anything like this before.
  • Massive Terrain Data : Real smart use of offline datastrutures.
  • Symmetries in point cloud data : I’m intimately familiar with this style of mathematics from my previous work.
  • Pathway Analysis in Protein Folding : Puts bread on the table.
  • Intersection SVMs : Didn’t know this was a well known concept in machine learning known as the kernel trick. Goes by Reproducing Kernel Hilbert Space in my neck of the woods and also a precursor to the above mentioned image matching algorithm.
  • Manifold regularization : Fréchet means anyone?
  • Sufficient Dimension Reduction
  • Semi-definite programming : Some mathematical insights to a couple of engineering problems (where <1e-4 is good enough) that’s making my life difficult.
  • Spectral Algorithms
  • Matrix/Tensor Factorization
  • Future of Parallel Linear Algebra

Thanks to my friend Krishna who let me sleep on the floor in his house, thereby saving me from the grips of boredom.