Archive for December, 2003

Hiatus

Wednesday, December 31st, 2003

I’m putting this blog and all of the website on hiatus for the forseeable future. During that time, I’ll be concentrating on gaining the skills I need to code a computer algebra system. I have found that computer algebra is not the most welcoming field to amateurs, so I plan to post some introductory articles as I work my way along. So, goodbye.

Time Series

Thursday, December 25th, 2003

I found this excellent book, “Time Series” by Norbert Wiener in the most unexpected of places. One of those used book stores that generally don’t have a good selection of mathematical books, to be specific. It was originally written as a classified report to the National Defense Research Committee on techniques for extrapolating, interpolating, and smoothing stationary time series.

So far, it is very readable– it’s written as a genuine report, not a mathematical manuscript, and has all sorts of rhetoric and historical interjections. I will definitely be looking around for other books by this author, if this turns out to be his general style of writing. Here’s a teaser:

Let us now consider some of the things which we can do with time series or messages. The simplest operation which we can perform is that of extrapolating them or, in other words, of prediction. This prediction, of course, does not in general give a precise continuation of a time series or message, for, if there is new information to come, this completely precludes an exact estimate of the future. In accordance with the statistical nature of time series, they are subject to a statistical prediction. This means that we estimate the continuation of a series, which, within certain limitations, is most probable, or at any rate the continuation of a series which minimizes some statistically determinable quantity known as the error. This consideration also applies to whatever other operations we can perform on time series.

Hopefully I’ll get something useful out of this book.

Annoying Sparcity of Documentation

Tuesday, December 23rd, 2003

All day, I’ve been downloading Common LISP and Scheme implementations, looking for the right combination of power and documentation to assure me that when I invest my time in that system, I’ll be able to consider it a good investment: ideally, the system should make simple things easy to do, and complicated things possible (to borrow from the Perl lore). I have yet to find a system with a well-documented and stable interface to GTK. I might have to settle for a more generic X toolkit interface, but I would rather stick with GTK, both for familiarity with the API, and the relatively superb look and feel. I’m trying to avoid anything as trashy looking as a Tk toolkit, though. It seems that everything I could want is out there, but none of the major parts work together: there’s a GTK binding for Guile, but no binding for CLISP; there’s an IDE for Bigloo, but none for any other CLISP system; there’s a Scheme implementation which allows access to shared libraries without any glue code, but no equivalent CLISP systems. In fact, my head is being turned around by all the options. A big part of the problem is that there is very little documentation, and what is available is generally poor, for any of these systems. So it’s not as though I could narrow down to choices by choosing whatever systems/environments have the best documentation. Nope, whatever I choose is entirely up to me, and I have no idea what criteria to use, not having used CLISP or Scheme before. And whatever I do choose, I have to learn through experimentation. The utter sparcity of documentation on CLISP and Scheme is annoying! I thought I had it hard with other languages…

Writing MT Plugins

Friday, December 19th, 2003

So, today I have not that many things to do: clean a little, move stuff out of my old bedroom and into my new one, so I can use my new and bigger bed, and figure out how to write MT plugins. Oh, and read a lot. So maybe I do have a lot to do.

Right now, I’m reading this article: O’Reilly Network: Developing Movable Type Plug-ins [Mar. 19, 2003]. Meanwhile, I’m browsing through the MT API index, to see if I can figure out how to do more complicated things than are covered in the article. I’m surprised that that article is the most comprehensive tutorial on the MT Plugin architecture that I could find. As references go, the MT API index isn’t too bad– if I really needed to, I could use that and someone else’s code to figure out how to write plugins– but it isn’t exactly the sort of reference that you can use unless you already know what you’re looking for.

Axiom vs other CASes

Thursday, December 18th, 2003

Here I have in front of me a dead tree copy of a document comparing the abilities of several of the more well known CASes: Axiom, Derive, MuPad, Mathematica, Maple, Macsyma, and Reduce. You can find it, and a ton of more detailed information, at http://www.math.unm.edu/~wester/cas_review.html.

I’m very disappointed in Axiom’s perfomance. From what I’ve read in the Axiom book, I got the impression that it would outperform all comers with ease. The only consolation I have is that the tests were performed with the 1993 release of Axiom. Hopefully things have gotten better since. If a quick scan of the table can be considered sufficiently convincing, it seems that Macsyma is the best CAS, according to the criteria he used, which seem reasonable. So now I have to go learn yet another CAS! Hmmm… I just did a quick search on Macsyma, to see if there’s a free version available, which turned up this most interesting bit of propaganda on their website: referring to the same study that I’m reading, they have the number (out of 131) of problems each CAS found a correct solution:

Axiom 1.2 Derive 3.0 Macsyma 420 Maple V.3 Mathematica 2.2 MuPad 1.2.1a Reduce 3.5
59.5 73.5 108 90.5 88 24.5 50

Of course, I don’t know how reliable this particular study can be considered: Mathematica is now 3 versions up to v5., Maple is 6 versions up to v.9, MuPad is a version up to 2.5, Reduce is up to version 3.7, and Axiom is now an Open Source software project, so I have no idea what version to consider it at. I doubt that Axiom has improved too much in the interim, considering its comparatively rocky history. What a disappointment. Some Oneā„¢, needs to start a serious open source project to tackle the need for a full powered, extensible, and fast CAS. I would so like to be that someone, but I don’t have the time (or rather, won’t make the sacrifices in my other interests, necessary to gain the time) to learn the level of first mathematics, then computer science, to be a serious consideration for that role. So, I’ll just mope around, until my savior comes along. In the meantime, I’ll keep busy with learning Scheme, and other languages that might be of some use in hacking on a CAS.

Hmmm… Today has been interesting. From the CAS thing, I did a search on LISP, which drew me into a wonderfully hyperlinked world. I didn’t know there was such a well-organized LISP community out there. Now, I’ve added learning CLISP to my list of things to do.

Relaxing

Tuesday, December 16th, 2003

I’m in the library, avoiding completing the grading I came to school to do, and in the process picking up even more books that I won’t have time to read over this too-short break. I need to prioritize… but how do I choose between all the books calling my name? I feel as though leaving one behind, when I just discovered it, means I will either forget it or never be able to find it again. The first fear is certainly founded: everytime I visit the library, I discover a new book worth reading, which washes all memory of what books I had promised myself to read in the future out of mind. Today’s current candidates are “Applied Partial Differential Equations” by Alan Jeffrey, and “Mathematical TeX by Example” by Arvind Borde.

I really do need to establish an easy to use CGI for recording the names of all these books I come across, over this break, because I would like to keep track of these books that capture my fancy, even if for no better reason than that in the future I’ll be able to see what I found interesting at this point in my life, and maybe I’ll be able to buy one or two of them. Certainly that Mathematical TeX book is worth keeping track of, just for reference purposes. I don’t think MathML will ever replace TeX in my heart, or even my academic endeavors.

Speaking of TeX, I’ve made the decision (which I’m now admitting to myself), to use some form of TeXery for all my future assignments. I was tinkering around with TeXmacs a while back, and was surprised to see how handy it is (especially as an interface with CASes– I can’t wait until Savannah comes back up so I can dl Axiom and see how the two work together). So I’ll either be using TeXmacs, or doing them all by hand. The reasons I’m considering not using TeXmacs are: 1) it might encourage the same sort of laxness in separating document content from presentation that word processors do, 2) to be efficient, I’ll have to learn a new set of keyboard shortcuts, 3) TeXmacs has its own TeX style, which limits hand editability, and document transferability ( theoretically, I could counter these two problems by learning the rationale behind its style file, and keeping a copy of the appropriate style file with all files I generate from it, but really!), 4) I would slowly but certainly lose all the (La)TeX skills I’ve acquired so painstakingly, and 5) this is just an aesthetic consideration, but TeXmacs is not completed yet.

I’ve set myself a reading schedule for this winter break, to alleviate the usual guilt associated with my checking out so many books and yet reading only half of one before having to return them all. I intend to read at least a chapter a day from three books. It’s an ambitious plan, and one that I’m going to go work on right now.

one last hurdle

Monday, December 15th, 2003

I’m so close to being done with this semester; my last final is in 30 minutes. This is a doubtful one: it’s in EM, so all the stuff from earlier this semester is foggy in my mind. And I haven’t been able to bring myself to do practice problems– I’ve done them all before though, so I think I’m familiar enough with them. Of course that is rather lazy thinking of me though: if that is so true, then why would I need to study at all?

For the past couple of days, I’ve been visiting the library and checking out at least one book. The repression that I’ve undergone with respect to personal time is expressing itself with a vengeance: I have a backlog of projects to work on and books to read over the winter break. So much so that if I did everything I have vaguely in mind of doing, I would get very little sleep.

One of the books I picked up today is on automated graph layout. Unfortunately, it is one of those review of research software type books, instead of an actual introduction to the field; however, I should be able to glean some useful knowledge from the algorithmic sections of the chapters (each chapter is about a particular software package). I’m considering attempting an automated circuit layout program for my senior design project, but the more I think about it the more impossible that seems. I’ll attempt it anyhow, because I have nothing better to do. And who knows, maybe I’ll come up with a fantastic algorithm that actually gives reasonable results, without relying on a static library of common circuit configurations, or something equally inelegant and rigid.

I’m a Critter Reborn

Wednesday, December 10th, 2003

I’ve had a final, or a project to work on, everyday of this week. The only reason I’m taking a break right now is because I have an open book math final later on, so I don’t feel as urgent a need to study. An hour more of review beforehand, and I think I’ll be ready to take on the world.

I just rejoined, or rather submitted an application to rejoin the Critters Writing Workshop, because I reencountered it when wandering around the web. I previously had joined, but left because I was just pleasure reading, with no intention to write critiques. My intentions have changed for the better: now I view writing critiques as a good way of clearing my mind of the fog that is academia. That is, after studying until my mind is fogged over, I can pick one of the manuscripts in the queue, read it, mull it over, study for a while more, then switch my brain into critiquing mode, and fire off a critique. Thereby saving my mind having to endure constant entrenchment in the world of engineering.

I’ve decided to put my math degree on hiatus, at least for the next semester. And I’ll probably drop it unless I can get someone in the math department to reduce the ridiculously large amount of– get this– non-math related hours that I need to get a math degree. This semester I’m hoping the random factors (fate, whatever) will align to give me a B in electronics, because I can hope for no more, and fear for a lot less. Then I have to do good on all my finals in all my other engineering courses, and I might then make all As in everything but electronics. Damn electronics! That means I shall be studying that subject over the break, and into next semester, until I feel I have it down cold. Or at least that’s the plan. If I’m to be an electrical engineer, I want to understand electronics, at least!