Monthly Archives: February 2007

Basics: Algebra

Basics: Algebra

While I was writing the vectors post, when I commented about how math geeks always build algebras around things, I realized that I hadn’t yet written a basics post explaining what we mean by algebra. And since it isn’t really what most people think it is, it’s definitely worth taking the time to look at.

Algebra is the mathematical study of a particular kind of structure: a structure created by taking a set of (usually numeric) values, and combining it with some operations operate on values of the set.

Continue reading

Basics: Vectors, the Other Dimensional Number

There’s another way of working with number-like things that have multiple dimensions in math, which is very different from the complex number family: vectors. Vectors are much more intuitive to most people than the the complex numbers, which are built using the problematic number i.

A vector is a simple thing: it’s a number with a direction. A car can be going 20mph north – 20mph north is a vector quantity. A 1 kilogram object experiences a force of 9.8 newtons straight down – 9.8n down is a vector quantity.

Continue reading

Rectangular Programming for Warped Minds

In light of the recent posts and discussions about multidimensional
numbers,today’s pathological language is Recurse, a two-dimensional language – like Befunge, sort of. But I find it more interesting in its own peculiar little
way. It’s actually a function-oriented two-dimensional language where every
function is rectangular.

Continue reading

Basics: Multidimensional Numbers

When we think of numbers, our intuitive sense is to think of them in terms of
quantity: counting, measuring, or comparing quantities. And that’s a good intuition for real numbers. But when you start working with more advanced math,
you find out that those numbers – the real numbers – are just a part of the picture. There’s more to numbers than just quantity.

As soon as you start doing things like algebra, you start to realize that
there’s more to numbers than just the reals. The reals are limited – they exist
in one dimension. And that just isn’t enough.

Continue reading

Basics: The Halting Problem

Many people would probably say that things like computability and the halting
program aren’t basics. But I disagree: many of our basic intuitions about numbers and
the things that we can do with them are actually deeply connected with the limits of
computation. This connection of intuition with computation is an extremely important
one, and so I think people should have at least a passing familiarity with it.

In addition to that, one of the recent trends in crappy arguments from creationists is to try to invoke ideas about computation in misleading ways – but if you’re familiar with what the terms they’re using really mean, you can see right through their
silly arguments.

And finally, it really isn’t that difficult to understand the basic idea.
Really getting it in all of its details is a bit harder, but just the basic idea that there are limits to computation, and to get a sense of just how amazingly common uncomputable things are, you don’t need to really understand the depths of it.

Continue reading

Once again, Sal and Friends Butcher Information Theory

I haven’t taken a look at Uncommon Descent in a while; seeing the same nonsense
get endlessly rehashed, seeing anyone who dares to express disagreement with the
moderators get banned, well, it gets old. But then… Last week, DaveScott (which is, incidentally, a psueudonym!) decided to retaliate against my friend and fellow ScienceBlogger Orac, by “outing” him, and publishing his real name and employer.
Why? Because Orac had dared to criticize the way that a potential, untested
cancer treatment has been hyped recently
in numerous locations on the web, including UD.

While reading the message thread that led to DaveScott’s “outing” of Orac, I came
across a claim by Sal Cordova about a new paper that shows how Greg Chaitin’s work in
information theory demonstrates the impossibility of evolution. He even promoted it to
a top-level post on UD. I’m not going to provide a link to Sal’s introduction
of this paper; I refuse to send any more links UDs way. But you can find the paper at
this
site
.

Continue reading

Basics: Real Numbers

What are the real numbers?

Before I go into detail, I need to say up front that I hate the term
real number. It implies that other kinds of numbers are not real,
which is silly, annoying, and frustrating. But we’re pretty much stuck with it.

There are a couple of ways of describing the real numbers. I’m going to take you through a couple of them: first, an informal intuitive description; then an axiomatic definition, and finally, a constructive definition.

Continue reading

Basics: The Turing Machine (with an interpreter!)

As long as I’m doing all of these basics posts, I thought it would be worth
explaining just what a Turing machine is. I frequently talk about things
being Turing equivalent, and about effective computing systems, and similar things, which all assume you have some clue of what a Turing machine is. And as a bonus, I’m also going to give you a nifty little piece of Haskell source code that’s a very basic Turing machine interpreter. (It’s for a future entry in the Haskell posts, and it’s not entirely finished, but it does work!)

The Turing machine is a very simple kind of theoretical computing device. In
fact, it’s almost downright trivial. But according to everything that we know and understand about computation, this trivial device is capable of any computation that can be performed by any other computing device.

The basic idea of the Turing machine is very simple. It’s a machine that runs on
top of a tape, which is made up of a long series of little cells, each of which has a single character written on it. The machine is a read/write head that moves over the tape, and which can store a little bit of information. Each step, the
machine looks at the symbol on the cell under the tape head, and based on what
it sees there, and whatever little bit of information it has stored, it decides what to do. The things that it can do are change the information it has store, write a new symbol onto the current tape cell, and move one cell left or right.

That’s really it. People who like to make computing sound impressive often have
very complicated explanations of it – but really, that’s all there is to it. The point of it was to be simple – and simple it certainly is. And yet, it can do
anything that’s computable.

Continue reading

Friday random Ten, Feb 2

  1. Marillion, “Ocean Cloud”: Long, wonderful piece of neo-prog rock from my favorite prog band.
  2. Mogwai, “Acid Food”: Mogwai is a brilliant post-rock group, leaning more towards
    the rock than the classical. This is a slow track with vocals, with a very dark sound
    to it. Very cool.
  3. Trey Gunn Band, “Sozzle”: Eh. Trey Gunn is a brilliant touch guitar player, but
    as a composer, he’s really pretty dull.
  4. Pain of Salvation, “Lilium Cruentus (Deus Nova)”: Another bit of neo-prog; PoS is a spinoff of the Flower Kings. This is off of a very strange album… It’s a very
    pretentious piece of work. I don’t think it’s as profound as it was intended to be. But I do like it.
  5. Dirty Three, “I Really Should’ve Gone Out Last Night”: Dirty Three is one of the
    more-classical leaning post-rock ensembles; I’ve yet to find anything that they’re recorded that I think is less then brilliant.
  6. Igor Stravinsky, “Praeludium” from the Shadow Dances: A very short piece; very distinctly Stravinsky. Beautiful, and haunting.
  7. King Crimson, “People”: King Crimson from the double-trio days. Brilliant.
  8. New Grange, “Goin’ to Boston”: New Grange is a sort of accidental super-band. They’re a group of artists that all record on Alison Brown’s Compass label. For
    an anniversary of Compass, they got together to do a concert, and ended up
    forming into a band for this album. Darol Anger, Alison Brown, Mike Marshall,
    Tim O’Brien. This is a thoroughly weird track. Basically, it starts
    off as a traditional old-time tune; then it goes off into a sort of almost rap
    about the city of Boston, done against the backdrop of Darol fiddling around with the old tune.
  9. Tan Dun and the Kronos Quartet, “Earth Dance” from the Ghost Opera: Tan Dun is
    one of my favorite composers. He’s a Chinese composer, and a victim of the
    cultural revolution. His music tends to have strong influences from Chinese
    folk music blended with modern Western music. The Ghost Opera is based on
    a Chinese folk tradition where villages actually have mourning teams: when a wealthy person dies, the actually hire people to cry and scream in mourning. Villages compete to have the best mourning team.
  10. Hugh Blumenfield, “Shoot the Moon”: Hugh is an English professor from Connecticut, who does folk music on the side. He’s a fantastic song-writer, and this is one of my favorites of his songs. I’ve met Hugh in person a couple of times, and I have to say that he is a thoroughly pleasant guy.

Pathological Programming as Pathological Cooking

I’ve had a long, difficult week, so I’ve decided to pick something pointlessly
pathological for today. It’s a remarkably goofy language called “Chef”, designed by David Morgan-Mar, in which programs are recipes. Since aside from being a programming language
nutjob, I’m also a pretty good chef, combining two of my favorite things naturally has
some appeal – particularly when done in a pointlessly twisted way.

Continue reading