Chris' collection of random stuff
My research involves studying the formation and behaviour of topological defects (vortices) in ultra-cold Bose gases - especially how this relates to phase transitions in such systems. An exciting possibility is to make use of the concept of universality to relate our results to other physical systems which are superficially very different.
Currently we are performing finite temperature numerical simulations using the classical field approximation, that is, we simulate only quantum modes which are occupied by many particles. The field equation which results after the classical field approximation has a very similar form to the well-known Gross-Pitaevskii Equation (GPE) of mean field theory, although the interpretation is a little different. To satisfy the high occupation condition, high-energy modes are excluded from the simulation; the result is the Projected GPE. The PGPE is a fairly simple nonlinear partial differential equation and therefore reasonably tractable on current computers.
I've been involved with a bunch of different pieces of research during my PhD. A complete list may be found at my publications list.
Possibly useful but non-research related stuff
Delta functions, et.al.
A while ago one of my good friends Eric asked me a question about a non-convergent integral which was supposed to represent some physical quantity. The answer turned out to involve generalised functions, and since I hadn't fully understood them up until that point, I was quite excited to finally work out how it all hung together. I was in fact enthused enough to write up what we did. Although I'm sure there's many other places where it can be found, here's my Ramblings on generalised functions (pdf). Basically it goes through an example of how to work with generalised functions from a calculational point of view, in particular with respect to the Dirac delta function and the Cauchy principle value. Hopefully it's of use to someone...
Lagrangians and complex derivatives
A common procedure in physics is to make use of complex derivatives of nonanalytic functions. However, the natural definition of complex derivative in terms of limits no longer makes sense in this case. One upshot is that the usual chain rule for complex derivatives is no longer valid, and we obtain something looking much closer to the multivariate chain rule on R2.
After spending some time discovering how to define a useful nonanalytic derivative carefully, I thought I'd write up a short explanation. These notes contain my original conclusions but unfortunately present an incomplete view of the subject, as kindly pointed out to me by Alex Willand from University of Basel and Simon Tyler from UWA. It seems that I'd taken a few baby steps toward rediscovering something known as the Wirtinger calculus, a partial description of which may be found elsewhere in some notes on The Complex Gradient Operator and the CR-Calculus (see also the references in the pdf).
Since I was working with the Lagrangian formulation of a complex classical field theory at the time (the nonlinear Schroedinger equation), the focus is somewhat on field theory. Hopefully I'll get around to properly updating the notes at some point to rearrange this emphasis and correct some of my initial confusion, but for now I'm adding a few references and a disclaimer about the incompleteness...
Compiling x86 programs on amd64
I've had an amd64 (x86_64) system at home for some time now, and have ported the odd program written for x86 to the x86_64 architecture. Usually these are fairly trivial ports, but on the build side of things an irritating issue involving position independent code keeps coming up. Given the apparent lack of decent explanatory documentation on the web I decided to write something about it; let me know if it's helpful, and please point out any errors.
Yeah, I know this website is pretty boring at the moment... As usual the author claims that it's under construction and he'll update it sometime soon, putting new, interesting and perhaps even useful stuff on it. For now the following will have to do.
For anyone who happens to want to know the really important things about me, here's a nice compact description of me in the form of the geek code:
GS/M/MU d- s:- a- C+++ UL++ P-@ L+++>++++ E--- W++ N o K w-- M V? PS+ PE Y+ PGP- t+ 5? X- R? tv--@ b+>++ DI++ D++@ G+>++ e++>++++ h r++ y?
Here's something interesting! Did you know that postscript is a complete programming language? Well here are some demonstrations which (among other things) let you perform raytracing on your postscript-compliant printer.
Some possibly interesting photos of me twirling fire poi may be found here.
Here is a somewhat unordered set of links to random things I think are pretty cool:
- Aqsis - "reyes for everyone" a renderman compliant renderer based on Pixar's Reyes rendering algorithm. I'm one of the main contributors of code at the moment (2007/2008).
- wmii: "The vim of window managers" - Tired of spending all day arranging those xterms? Want a window manager which actually manages windows? Then check this out!
- Slashdot: "News for nerds - stuff that matters" Sigh, I'm a sad addict...
- Python a wonderfully clean scripting language. I'm waiting for the day when I can replace Matlab with pure Python
- boost C++ libraries A disparate collection of really useful C++ libraries. Often what the C++ standard library should have been. Also contains funky workarounds for missing language features (eg, boost.lambda).
- The Blitz++ library - a demonstration of the truly amazing things you can do with C++ templates if you're as smart as Todd Veldhuizen. (A little old now, but AFAIK demonstrated some of the first C++ template metaprogramming for high performance numerics.)
- The D Programming Language A rethinking of C++ in light of the last twenty years of experiance. On the top of my list of languages to learn ;-)
- Povray - photorealistic rendering software, and it's free.
- Girl Genius - Check out one of the coolest comics on the web.
- Home of Poi: The online resource for all of us fire poi/staff spinners out there.