My son and I are attempting to follow the instructions in Pi Mag 88 to build a voice activated LED-powered Christmas tree decoration. This is part of what I suspect shall be many posts documenting my attempts to actually use the couple of Raspberry Pis which we own.

Up first is recording audio on the Pi. I purchased this cheap USB microphone. It works, but it's rather poor quality. With a bit more research, I might have bought a Playstation Eye which is nearly as cheap, and apparently pretty much works out the box with the Pi. We played with the Microphone on our Pi 3 connected up to monitor, keyboard etc. but eventually we want to use my Pi 0 in headless mode.

Read More →Having had to do some emergency plumbing on my ETA Pellet boiler before breakfast, I got to thinking about energy costs for heating. We are off the mains gas grid, and previously the house was heating by an oil boiler, but the previous owner installed the pellet boiler. Government subsidies can affect costs, but for reasons I don't fully understand, we are not on the RHI. So I pay full fuel costs, and maintenance, but obviously didn't pay installation costs.

Read More →Some time ago I stumbled across Manifold an old magazine published in the 1960s out of Warwick university. It's a whimsical Mathematical magazine, now reproduced on Ian Stewart's Website. A python script later and I downloaded the image files (now repeating the exercise after I realised higher-quality scans are available from a slightly different URL base).

This left me with a large number of jpeg files, which is both annoying, and a pain to try to read. Fast-forward in time to the start of 2018. I was interested in PDF files, and got sufficiently interested to research the file format, and write a fairly serious Python module to convert PDF files into Python objects which could be browsed. I also wrote some code to produce PDF files assembled out of images: using both PNG compression, and JBIG2. For the latter I used an external converter, but for the PNG files I went so far as to implement my own (slow, but not impossibly so) implementation in Python.

Read More →A preprint arXiv:1907.03661 which has been on the arXiv for a while, but which is now submitted. The paper is partly an exposition of some techniques for dealing with Analytic Generators of one-parameter isometry groups: as people explore Type III arguments in von Neumann algebras, I want to revisit these old(ish) ideas and show that developing theory can be rather useful.

My main motivation was the study of locally compact quantum groups and in particular the fact that the antipode can be understood through studying the scaling group. One of the facets of topological quantum group theory is the interaction between the \( C^* \)-algebraic and von Neumann algebraic theories; in particular we have an inclusion \( \newcommand{\G}{\mathbb G}C_0(\G) \rightarrow L^\infty(\G) \) which intertwines the relevant scaling groups. I show that in this general setup, there is a Kaplansky Density type result for the analytic generators involved. The techniques of the proof also allow me to prove an "automatic normality" result, giving a description of \( L^1_\sharp(\G) \) the natural dense \( \ast \)-subalgebra of \( L^1(\G) \).

Read More →Some while ago, I started an experiment of putting some Mathematical notes up on GitHub. I'm publishing the LaTeX sources, and using LaTex.Online to compile the LaTeX source to PDF for online viewing. This was motivated by:

- I rather enjoy writing research-level expositions.
- I quite often come across things in my research which I want to understand closely, and for which writing out somewhat formal notes is not a
*massive*misuse of time. - However, the result is not actual research, and probably wouldn't even be suitable for the arXiv.
- Furthermore, one can imagine wanting to add to these notes as time goes on, and arXiv is not designed for this (indeed, my feeling is that this is discouraged, though with a quick search I could not find evidence to substantiate this). Of course, GitHub very much is (and, in a dream world, maybe other people could submit "issues", and pull requests, etc.)

For now, there is just one file, some notes about the Fell Topology (on the space of representations of a \( C^* \)-algebra or locally compact group).

[I found LaTeX.online to be a very nice service; but it doesn't seem to like spaces in URLs.]

Read More →Visiting a high school with my son, in the Maths classroom there was a poster on the wall, which visualised primes numbers. I only half remember what it said (taking a photo might have been a little bit weird, in the circumstances) but I think the little write-up at the bottom said that the calculations had been performed in Python, using trial division, and had taken half an hour. This immediately made me think of a prime sieve, so later I had a play with a sieve I had written in Python 3. I now think I must be misremembering, as I cannot see how even trial division could take half an hour in Python (even some years ago).

Read More →Reading Ng, Viselter, Amenability of locally compact quantum groups and their unitary co-representations
Arxiv I was reminded by a result/technique that I often forget: that of the *multiplicative domain* of a completely positive map.
The following result is due to M.D. Choi (though I like the presentation in
Paulsen's book).

Let \( \phi:A\rightarrow B \) be a unital completely positive (UCP) map between unital \( C^\ast \)-algebras. If \( a\in A \) with \( \phi(a)^\ast\phi(a) = \phi(a^\ast a) \) then already \( \phi(ba) = \phi(b)\phi(a) \) for any \( b \). If this is the "right hand version" then there is a left hand version, and a bimodule version.

Read More →My little Python project TileMapBase automates the process of downloading (and caching locally) map tiles from OpenStreetMap (and similar) and assembling these into the background for a matplotkib plot. I wrote this when working in Geographic Data Science and wanting to show longitude latitude locations on a map, inside of a Jupyter Notebook.

Anyway, recently OpenStreetMap started to enforce User Agents in HTTP requests, which broke my package. A pull request later and we're back on the road.

I have spent the last 12 months concentrating on Mathematics, and so am *very* rusty. It took me a couple of hours to update my Python distribution, get the tests fixed, get Travis building again, and remembering how to upload to PyPi. And this is for a trivial change to a small package. I now understand how Open Source Software becomes unmaintained...