Monthly Archives: October 2009

Once upon a time, I was a big fan of Linux, both because of its ideology and because of its quality. These days, I am afraid to go near a Linux installation.

Now, the new Ubuntu came out, and I decided that it deserves to be tested out. I wanted to know if it had improved enough for me to grow to like it again. That’s a big fat no! Moments after the installation, it was clear that something was awfully wrong. The entire desktop was somehow fuzzy with random pixels strewn about the place. Text was almost completely unreadable. Unfortunately, taking a screenshot didn’t capture this effect – that is, the screenshot looks perfect. I wish I could have shown you what it looks like because it’s truly unbelievable.

Truthfully, this bug was present in Jaunty, so I was not entirely surprised or let down because I knew how to fix it. Notice that this should have, by all means, made me completely abandon the attempt to rekindle my relationship with Linux, but it didn’t. Last time, I found that this graphics corruption was caused by whatever crap open-source driver is enabled by default in Ubuntu with my NVidia 5200 graphics card, so simply going to System->Administration->Hardware Drivers, I was able to install a proper driver and everything was peachy. This time around, things were worse. When I opened that menu item, it pleasantly told me that I didn’t need any proprietary drivers.

I proceeded to poke my eyes out trying to find something on Google which could be of help, but that only lasted for about 10 minutes, since I was convinced that none of the simple things would work. The packages of the proprietary drivers were in fact installed by default but not used. I said to myself, aha!, all I need to do is go to /etc/X11/xorg.conf and change the driver from “crap” to “nvidia”. Wrong! That file… no longer exists! Google could not tell me where it was moved to in Karmic nor did I want to wait half an hour to search the entire root directory for it.

By this time, I was heftily pissed off and was just about ready to give up when I remembered that NVidia truly feels for its ailing Linux fanbase and offers (or used to offer) excellent installers. I went and grabbed that. My hopes were extremely low. I ran it. It told me my kernel was too new. It asked me if it should connect to the interwebs to look for a way to get around this. I said yes. It said I am not connected to the Internet (which I was). Sigh. My hopes couldn’t sink lower. I pressed something to the effect of “continue anyway, you asshole” and it did. It seemed to install fine. It ran nvidia-xconfig for me. I restarted the X server, and woe and behold! The usual shitty quality of fonts in Ubuntu, but at least none of the awful graphical glitches were present. And all that in 32-bit color goodness. I failed to mention before that the default install ran in 16-bit color and the background looked even shittier than it actually is.

I shudder to think that newbies attempt to take this plunge. Their hair will be white in a matter of 10 years.

[UPDATE]: Ugh, I found out what I was doing “wrong.” If I had only gone to Synaptic and pressed reload, all would have been well. As it was, Ubuntu wasn’t aware of universe or multiverse, even though they were checked in Software Sources by default! Whatever.

This is the way the Firefox quick bookmark menu has looked on my computer for months now.

firefox_lame

Ugh.

Tetration is the next element in the sequence {addition, multiplication, exponentiation, …}. That is, similarly to how exponentiation is repeated multiplication, tetration is repeated exponentiation.

{\ ^{b}a = \ \atop {\ }} {{\underbrace{a^{a^{\cdot^{\cdot^{a}}}}}} \atop b}

As you might imagine, the tetration of two positive integers gives you enormous numbers even for very small integers. The Wikipedia page provides a few examples such as

^{4}2 = 65536

Now notice that ^{5}2 would give you 2^{65536} the result of which cannot fit on a single computer screen. So for a>1, ^{b}a diverges very quickly as b increases, and converges to 0 if a<1. That’s not very interesting. I want to show you what happens when the base of the tetration is a complex number.

First off, for this to work, I will need to define what it means to raise a complex number to a complex power. We will need to know a few facts, which I’ll only state, not derive. z is often used to denote a complex variable.

  1. e^{ix} = \cos x + i \sin x
  2. A complex number z=x+yi can be thought of as a point on a plane with Cartesian coordinates (x,y) or polar coordinates (R,\theta). Using the polar coordinates, z=Re^{i \theta}.
  3. x^y = e^{y \log x} for any numbers (x,y), be it real or complex.
  4. \log z = \log |R| + i \theta where R and \theta correspond to the polar coordinates of the complex number z. Usually, the ‘l’ in \log z is capital, but the WordPress implementation of LaTeX doesn’t like that.

That last one will be the first we’ll use to define what i^i means. First off, i = e^{i \pi/2}.

i^i = e^{i \log i} = e^{i (\log 1 + i \pi/2)} = e^{-\pi/2}

Notice that the result is a real number. That’s weird, but let’s go with it. That’s how the algebra works out. Now we are ready to think about what the expression ^{3}i means.

^{3}i = i^{\left(i^i\right)}

Now we have an interesting question on our hands. Does the sequence \lbrace ^{b}i \rbrace_{b \in \mathbb{Z}^+} converge? In fact, it does! Unfortunately, I do not know how to show this fact algebraically. I found the answer by listing the first 500 or so elements in the sequence and they definitely converge. And it doesn’t take too long either. It actually takes less than 200 elements to see that the numbers stop changing.

Plot of the sequence in the complex plane.

Plot of the sequence in the complex plane.

All the points gravitate toward(0.438283, 0.360592), but the above graphic doesn’t necessarily give you a good idea of how the elements converge. The next graphic connects consecutive points in the sequence with a line. It is a little messier, but it does help to visualize the sequence.

Same plot as before but with a line connecting consecutive elements in the sequence.

Same plot as before but with a line connecting consecutive elements in the sequence.

Notice how the first point is i in the complex plane, followed by a number on the real axis. That coincides with the finding that i^i is a real number. Each consecutive element in the sequence, however, is a complex number.

I think the pattern is really cool. It’s like a discrete spiral.

P.S. the typesetting of math in WordPress is not very nice…