## The Problem with Odd Moments

Posted in Bad Statistics, Cute Problems, mathematics with tags , , on July 9, 2018 by telescoper

Last week, realizing that it had been a while since I posted anything in the cute problems folder, I did a quick post before going to a meeting. Unfortunately, as a couple of people pointed out almost immediately, there was a problem with the question (a typo in the form of a misplaced bracket). I took the post offline until I could correct it and then promptly forgot about it. I remembered it yesterday so have now corrected it. I also added a useful integral as a hint at the end, because I’m a nice person. I suggest you start by evaluating the expectation value (i.e. the first-order moment). Answers to parts (2) and (3) through the comments box please!

SOLUTION: I’ll leave you to draw your own sketch but, as Anton correctly points out, this is a distribution that is asymmetric about its mean but has all odd-order moments equal (including the skewness) equal to zero. it therefore provides a counter-example to common assertions, e.g. that asymmetric distributions must have non-zero skewness. The function shown in the problem was originally given by Stieltjes, but a general discussion can be be found in E. Churchill (1946) Information given by odd moments, Ann. Math. Statist. 17, 244-6. The paper is available online here.

## Does Physics need Philosophy (and vice versa)?

Posted in mathematics, The Universe and Stuff with tags , , on June 1, 2018 by telescoper

There’s a new paper on the arXiv by Carlo Rovelli entitled Physics Needs Philosophy. Philosophy Needs Physics. Here is the abstract:

Contrary to claims about the irrelevance of philosophy for science, I argue that philosophy has had, and still has, far more influence on physics than is commonly assumed. I maintain that the current anti-philosophical ideology has had damaging effects on the fertility of science. I also suggest that recent important empirical results, such as the detection of the Higgs particle and gravitational waves, and the failure to detect supersymmetry where many expected to find it, question the validity of certain philosophical assumptions common among theoretical physicists, inviting us to engage in a clearer philosophical reflection on scientific method.

## When Log Tables aren’t Log Tables

Posted in Education, mathematics, Maynooth with tags , , , , , on May 17, 2018 by telescoper

Every now and then – actually more frequently than that – I reveal myself in Ireland as an ignorant foreigner. The other day some students were going through a past examination paper (from 2014) and I was surprised to see that the front cover (above) mentioned  `log tables’.

Now I’m old enough to remember using tables of logarithms (and other mathematical tables  of such things as square roots and trigonometric functions, in the form of lists of numbers) extensively at school. These were provided in this book of four-figure tables (which can now buy for 1p on Amazon, plus p&p).

As a historical note I’ll point out that I was in the first year at my school that progressed to calculators rather than slide rules (in the third year) so I was never taught how to use the former. My set of four-figure tables which was so heavily used that it was falling to bits anyway, never got much use after that and I threw it out when I went to university despite the fact that I’m a notorious hoarder.

Anyway, assuming that the mention of `log tables’ was a relic of many years past, I said to the group of students going through the old examination paper that it seemed somewhat anachronistic. I was promptly corrected, and told that `log tables’ are in regular use in schools and colleges throughout Ireland, but that the term is a shorthand for a booklet containing a general collection of mathematical formulae, scientific data and other bits of stuff that might come in useful to students; for an example appropriate to the Irish Leaving Certificate, see here. One thing that they don’t contain is a table of logarithms…

Students in Physics & Astronomy at Cardiff University are also given a formula booklet for use during examinations. I don’t remember having access to such a thing as an undergraduate, but I don’t object to it. It seems to me that an examination shouldn’t be a memory test, and giving students the basic formulae as a starting point if anything allows the examiner to concentrate on testing what matters much more, i.e. the ability to formulate and solve a problem. The greatest challenge of science education at University level is, in my opinion, convincing students that their brain is much more than a memory device…

## Project Work

Posted in Biographical, Education, mathematics with tags , , , , , on April 23, 2018 by telescoper

I’m progressively clearing out stuff from my office prior to the big move to Ireland. This lunchtime I opened one old box file and found my undergraduate project. This was quite an unusual thing at the time as I did Theoretical Physics in Part II (my final year) of Natural Sciences at Cambridge, which normally meant no project but an extra examination paper called Paper 5. As a member of a small minority of Theoretical Physics students who wanted to do theory projects, I was allowed to submit this in place of half of Paper 5…

The problem was to write a computer program that could solve the equations describing the action of a laser, starting with the case of a single-mode laser as shown in the diagram below that I constructed using a sophisticated computer graphics package:

The above system is described by a set of six simultaneous first-order ordinary differential equations, which are of relatively simple form to look at but not so easy to solve numerically because the equations are stiff (i.e. they involve exponential decays or growths with very different time constants). I got around this by using a technique called Gear’s method. There wasn’t an internet in those days so I had to find out about the numerical approach by trawling through books in the library.

The code I wrote – in Fortran 77 – was run on a mainframe, and the terminal had no graphics capability so I had to check the results as a list of numbers before sending the results to a printer and wait for the output to be delivered some time later. Anyway, I got the code to work and ended up with a good mark that helped me get a place to do a PhD.

The sobering thought, though, is that I reckon a decent undergraduate physics student nowadays could probably do all the work I did for my project in a few hours using Python….

## Fun with the Airy Equation

Posted in Education, mathematics with tags , , , , , , on April 12, 2018 by telescoper

Today being a Maynooth Thursday, it has, as usual, has been dominated by computational physics teaching. We’re currently doing methods for solving ordinary differential equations. At the last minute before this afternoon’s lab session I decided to include an exercise that involved solving the following harmless-looking equation: $y'' = xy.$

This is usually known as Airy’s equation and it comes up quite frequently in problems connected with optics. It was first investigated by a former Astronomer Royal George Airy, after whom the function is named; incidentally, he was born in Alnwick (Northumberland, i.e. not the Midlands).

Despite its apparent simplicity, the Airy equation describes some very interesting phenomena. Indeed it is the simplest ODE (that I know of) that has the property that there’s a point at which the behaviour of the solution turns from oscillatory to exponential. Here’s a result of a numerical integration of the equation: obtained using a simple Python script:

(I stopped the integration at $x=5$ as the magnitude of the solution grows very quickly beyond that value for the particular initial conditions chosen).

One of the reasons for including this example (apart from the fact that Airy was a Geordie) is that the students were so surprised by the behaviour of the solution and most of them assumed that there was some problem with the numerical stability of their results. Some integration methods do struggle with such simple equations as the simple harmonic oscillator, but just sometimes weird numerical results are not mere numerical artifacts!

Anyway, my point is not about this particular equation or even about computational physics, but a general pedagogical one: finding interesting results for yourself is much more likely to motivate you to think about what they mean than if they’re just described to you by someone else. I think that goes for numerical experiments in a computer lab just as much as it does for any other kind of practical experiment in a science laboratory.

## Tom Lehrer at 90!

Posted in mathematics, Music with tags , on April 9, 2018 by telescoper

I was reminded this weekend that today (9th April 2018) is the 90th birthday of American musician, singer-songwriter, satirist, and mathematician Tom Lehrer. Although he has retired from theatres of both musical and lecture variety, his songs (and especially the one I’ve selected) remains topical to this day. I’m about to retreat into a bunker to finish marking a batch of coursework so please enjoy the following short tribute and wish Tom Lehrer a very happy 90th birthday!

## Other People’s Code

Posted in Education, mathematics with tags , , , on March 16, 2018 by telescoper

I don’t know if this is just me being useless, but one of the things I’ve always found difficult is debugging or rewriting computer programs written by other people. This is not a complaint about people who fail to document their code sufficiently to see what’s going on, it’s that even when the code is documented it seems much more difficult to spot errors in code written by other people than it is when you’ve written the program yourself.

I’ve been thinking a lot since I’ve been teaching Computational Physics here in Maynooth University. One of the standard elements of the assessment for this module is a task wherein the students are given a Python script intended to perform a given task (e.g. a numerical integral) but which contains a number of errors and asked to identify and correct the errors. This is actually a pretty tough challenge, though it is likely to be one that a graduate might have to meet if they get a job in any environment that involves programming.

Another context in which this arises is our twice-weekly computing laboratory sessions. Twice in the last couple of weeks I’ve been asked for a bit of help by students with code that wasn’t working, only to stare at the offending script for ages and fiddling with a number of things that made no difference, without seeing what turned out to be an obvious mistake. Last week it was an incorrect indent in Python (always a hazard if you’ve been brought up on Fortran). This week it was even simpler, a sign error in a line that was just supposed to calculate the mid-point of an interval. I should have been able to spot these very quickly, but I couldn’t.

What makes this so difficult? When given a mathematical calculation to mark I can usually spot errors reasonably easily (unless the working is illegible), but with code it’s different (at least for me). If I’d been given it on a piece of paper as part of a formula, I reckon I would have spotted that minus sign almost immediately.

One possibility is just that I’m getting old. While that may well be true, it doesn’t explain why I found debugging other people’s code difficult even when I was working on software at British Gas when I was 18. In that context I quite often gave up trying to edit and correct software, and instead just deleted it all and wrote my own version from scratch. That’s fine if the task is quite small, but not practicable for large suites written by teams of programmers.

I think one problem is that other people rarely approach a programming task exactly the same way as one would oneself. I have written programs myself to do the tasks given to students in the computing lab, and I’m always conscious of the method I’ve used. That may make it harder to follow what others have tried to do. Perhaps I’d be better off not prejudicing my mind doing the exercises myself?

Anyway, I’d be interested to know if anyone else has the same with other people’s code and if they have any tips that might improve my ability to deal with it. The comments box is at your disposal…