By Robert Smith All Elementary Functions from a Single Operator is a paper by Andrzej Odrzywołek that has been making rounds on the internet lately, being called everything from a “breakthrough” to “groundbreaking”. Some are going as far as to suggest that the entire foundations of computer engineering and machine learning should be re-built as a result of this. The paper…
When talking to Lisp programmers, you often hear something like, “adapt Lisp to your problem, not your problem to Lisp.” The basic idea is this: if Lisp doesn’t let you easily write a solution to your problem because it lacks some fundamental constructs that make expressing solutions easy, then add them to Lisp first, then write your solution. That sounds all good and well in the…
By Robert Smith Fabrice Bellard came up with a computationally efficient formula for calculating the n th hexadecimal digit of $\pi$ without calculating any of the previous n −1. It’s called Bellard’s formula . It wasn’t the first of its kind, but in terms of computational efficiency, it was a substantial improvement over the original, elegant Bailey-Borwein-Plouffe formula . Due…
By Robert Smith The Clifford group is an important mathematical group that is foundational to the field of quantum error correction and quantum benchmarking. I’ve long been interested in computing with the Clifford group. I wrote a paper called The Computational Structure of the Clifford Groups which gives an implementation perspective of the math. The paper can be found on page 44 of the…
By Robert Smith TL;DR: The best way to advertise your favorite programming language is by writing programs. The more useful the program is to a wider audience, the better advertisement it will be. I’m a Common Lisp/ Coalton programmer. Lisp was historically at least twice fashionable, and it’s not coincidental that it was fashionable during times people were writing Lisp code to…
By Robert Smith Simulating a universal, gate-based quantum computer on a classical computer has many uses and benefits. The top benefit is the ability to inspect the amplitudes of the system’s state directly. However, while the mathematics is very well understood, implementing a general-purpose simulator has largely been folk knowledge. In this tutorial, we show how to build an interpreter…
By Robert Smith Contents Introduction Computer puzzling without brute-force Taking a step back: puzzles as permutations Brute-force, still ignorant, but kinda smart? Observation #1: decomposition as intersection Observation #2: sorting really helps! What is a move? What is a word? Observation #3: sorting as solving More splitting? Iterating through products with Schroeppel–Shamir Permutation…
Or, how to calculate the eigenvalues and eigenvectors of a complex matrix using a routine that only works on real matrices. By Robert Smith Contents Why? Complex numbers as matrices Complex matrices as real matrices Some experimentation Proving the conjecture Revisiting the computation The final pseudocode Much ado about nothing? If we have a complex matrix, how do we calculate its eigenvalues and…
By Robert Smith Between 2010 and 2014, I ran a WordPress blog . One day, the database was accidentally deleted, and I’ve since been too lazy to set something new up. But, as of late, two things have been happening: I’ve been spending more time writing longer comments on r/lisp, Hacker News, etc. While I might feel proud of having written a good quality comment, I know that it’ll…