SMIC Updated 2025-07-16
One key insight, is that the matrix of a non-trivial quantum circuit is going to be huge, and won't fit into any amount classical memory that can be present in this universe.
This is because the matrix is exponential in the number qubits, and is more than the number of atoms in the universe!
Therefore, off the bat we know that we cannot possibly describe those matrices in an explicit form, but rather must use some kind of shorthand.
But it gets worse.
Even if we had enough memory, the act of explicitly computing the matrix is not generally possible.
This is because knowing the matrix, basically means knowing the probability result for all possible outputs for each of the possible inputs.
But if we had those probabilities, our algorithmic problem would already be solved in the first place! We would "just" go over each of those output probabilities (OK, there are of those, which is also an insurmountable problem in itself), and the largest probability would be the answer.
So if we could calculate those probabilities on a classical machine, we would also be able to simulate the quantum computer on the classical machine, and quantum computing would not be able to give exponential speedups, which we know it does.
To see this, consider that for a given input, say 000 on a 3 qubit machine, the corresponding 8-sized quantum state looks like:
000 -> 1000 0000 == (1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
and therefore when you multiply it by the unitary matrix of the quantum circuit, what you get is the first column of the unitary matrix of the quantum circuit. And 001, gives the second column and so on.
As a result, to prove that a quantum algorithm is correct, we need to be a bit smarter than "just calculate the full matrix".
Which is why you should now go and read: Section "Quantum algorithm".
This type of thinking links back to how physical experiments relate to quantum computing: a quantum computer realizes a physical experiment to which we cannot calculate the probabilities of outcomes without exponential time.
So for example in the case of a photonic quantum computer, you are not able to calculate from theory the probability that photons will show up on certain wires or not.
Quantum error correction Updated 2025-07-16
Technique that uses multiple non-ideal qubits (physical qubits) to simulate/produce one perfect qubit (logical).
One is philosophically reminded of classical error correction codes, where we also have multiple input bits per actual information bit.
TODO understand in detail. This appears to be a fundamental technique since all physical systems we can manufacture are imperfect.
Part of the fundamental interest of this technique is due to the quantum threshold theorem.
For example, when PsiQuantum raised 215M in 2020, they announced that they intended to reach 1 million physical qubits, which would achieve between 100 and 300 logical qubits.
One possibly interesting and possibly obvious point of view, is that a quantum computer is an experimental device that executes a quantum probabilistic experiment for which the probabilities cannot be calculated theoretically efficiently by a nuclear weapon.
This is how quantum computing was originally theorized by the likes of Richard Feynman: they noticed that "Hey, here's a well formulated quantum mechanics problem, which I know the algorithm to solve (calculate the probability of outcomes), but it would take exponential time on the problem size".
The converse is then of course that if you were able to encode useful problems in such an experiment, then you have a computer that allows for exponential speedups.
This can be seen very directly by studying one specific quantum computer implementation. E.g. if you take the simplest to understand one, photonic quantum computer, you can make systems for which you need exponential time to calculate the probabilities that photons will exit through certain holes and not others.
The obvious aspect of this idea is by coming from quantum logic gates are needed because you can't compute the matrix explicitly as it grows exponentially: knowing the full explicit matrix is impossible in practice, and knowing the matrix is equivalent to knowing the probabilities of every outcome.
Quantum computer benchmark Updated 2025-07-16
One important area of research and development of quantum computing is the development of benchmarks that allow us to compare different quantum computers to decide which one is more powerful than the other.
Ideally, we would like to be able to have a single number that predicts which computer is more powerful than the other for a wide range of algorithms.
However, much like in CPU benchmarking, this is a very complex problem, since different algorithms might perform differently in different architectures, making it very hard to sum up the architecture's capabilities to a single number as we would like.
The only thing that is directly comparable across computers is how two machines perform for a single algorithm, but we want a single number that is representative of many algorithms.
For example, the number of qubits would be a simple naive choice of such performance predictor number. But it is very imprecise, since other factors are also very important:
  • qubit error rate
  • coherence time, which determines the maximum circuit depth
  • qubit connectivity. Can you only connect to 4 neighbouring qubits in a 2D plane? Or to every other qubit equally as well?
Quantum volume is another less naive attempt at such metric.
Quantum chromodynamics Updated 2025-07-16
Video 1. Source. Some decent visualizations of how the field lines don't expand out like they do in electromagnetism, suggesting color confinement.
Video 2.
PHYS 485 Lecture 6: Feynman Diagrams by Roger Moore (2016)
Source. Despite the title, this is mostly about QCD.
Public relations Updated 2025-07-16
The reason public relations is evil in modern society is because, like discrimination, public relations works by dumb association and not logic or fairness.
If you're the son of the killer, you're fucked.
This is unlike our ideal for law which attempts, though sometimes fails, at isolating cause and effect.
Quantization as an Eigenvalue Problem Updated 2025-07-16
This paper appears to calculate the Schrödinger equation solution for the hydrogen atom.
TODO is this the original paper on the Schrödinger equation?
Published on Annalen der Physik in 1926.
Open access in German at: onlinelibrary.wiley.com/doi/10.1002/andp.19263840404 which gives volume 384, Issue 4, Pages 361-376. Kudos to Wiley for that. E.g. Nature did not have similar policies as of 2023.
This paper may have fallen into the public domain in the US in 2022! On the Internet Archive we can see scans of the journal that contains it at: ia903403.us.archive.org/29/items/sim_annalen-der-physik_1926_79_contents/sim_annalen-der-physik_1926_79_contents.pdf. Ciro Santilli extracted just the paper to: commons.wikimedia.org/w/index.php?title=File%3AQuantisierung_als_Eigenwertproblem.pdf. It is not as well processed as the Wiley one, but it is of 100% guaranteed clean public domain provenance! TODO: hmmm, it may be public domain in the USA but not Germany, where 70 years after author deaths rules, and Schrodinger died in 1961, so it may be up to 2031 in that country... messy stuff. There's also the question of wether copyright is was tranferred to AdP at publication or not.
Contains formulas such as the Schrödinger equation solution for the hydrogen atom (1''):
where:
  • In order for there to be numerical agreement, must have the value
  • , are the charge and mass of the electron
Program Raspberry Pi Pico W with C Updated 2025-07-26
Ubuntu 22.04 build just worked, nice! Much feels much cleaner than the Micro Bit C setup:
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

git clone https://github.com/raspberrypi/pico-sdk
cd pico-sdk
git checkout 2e6142b15b8a75c1227dd3edbe839193b2bf9041
cd ..

git clone https://github.com/raspberrypi/pico-examples
cd pico-examples
git checkout a7ad17156bf60842ee55c8f86cd39e9cd7427c1d
cd ..

export PICO_SDK_PATH="$(pwd)/pico-sdk"
cd pico-exampes
mkdir build
cd build
# Board selection.
# https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html also says you can give wifi ID and password here for W.
cmake -DPICO_BOARD=pico_w ..
make -j
Then we install the programs just like any other UF2 but plugging it in with BOOTSEL pressed and copying the UF2 over, e.g.:
cp pico_w/blink/picow_blink.uf2 /media/$USER/RPI-RP2/
Note that there is a separate example for the W and non W LED, for non-W it is:
cp blink/blink.uf2 /media/$USER/RPI-RP2/
Also tested the UART over USB example:
cp hello_world/usb/hello_usb.uf2 /media/$USER/RPI-RP2/
You can then see the UART messages with:
screen /dev/ttyACM0 115200
TODO understand the proper debug setup, and a flash setup that doesn't require us to plug out and replug the thing every two seconds. www.electronicshub.org/programming-raspberry-pi-pico-with-swd/ appears to describe it, with SWD to do both debug and flash. To do it, you seem need another board with GPIO, e.g. a Raspberry Pi, the laptop alone is not enough.
The basic intuition for this is to start from the origin and make small changes to the function based on its known derivative at the origin.
More precisely, we know that for any base b, exponentiation satisfies:
  • .
  • .
And we also know that for in particular that we satisfy the exponential function differential equation and so:
One interesting fact is that the only thing we use from the exponential function differential equation is the value around , which is quite little information! This idea is basically what is behind the importance of the ralationship between Lie group-Lie algebra correspondence via the exponential map. In the more general settings of groups and manifolds, restricting ourselves to be near the origin is a huge advantage.
Now suppose that we want to calculate . The idea is to start from and then then to use the first order of the Taylor series to extend the known value of to .
E.g., if we split into 2 parts, we know that:
or in three parts:
so we can just use arbitrarily many parts that are arbitrarily close to :
and more generally for any we have:
Let's see what happens with the Taylor series. We have near in little-o notation:
Therefore, for , which is near for any fixed :
and therefore:
which is basically the formula tha we wanted. We just have to convince ourselves that at , the disappears, i.e.:
To do that, let's multiply by itself once:
and multiplying a third time:
TODO conclude.
Primer (YouTube channel) Updated 2025-07-16
This channel contains several 2D continuous simulations and explains AI techniques used.
The engine appears to be open source: github.com/Primer-Learning/PrimerTools (previously at: github.com/Helpsypoo/primer). Models are closed source however.
They have several interesting multiagent game ideas.
Claims Unity-based, so has the downside of relying on a non-FOSS engine.
Ciro became mildly jealous of this channel when he found out about it, because at 800k subscribers at the time, the creator is likely able to make a living off of it, something which Ciro thought impossible.
As of 2022 he was at 1.6M followers with only 17 videos! Of course, much of those videos is about the software and they require infinite development hours to video time ratios.
Much of this success hinges a large part on the amazing 3D game presentation.
Well done!
Created by Justin Helps. Awesome name.
To make things better, the generically named channel is also the title of one of the best films of al time: Primer (2004).
Video 1.
Simulating Foraging Decisions by Primer (2020)
Source.
Power, performance and area Updated 2025-07-16
This is the mantra of the semiconductor industry:
  • power and area are the main limiting factors of chips, i.e., your budget:
    • chip area is ultra expensive because there are sporadic errors in the fabrication process, and each error in any part of the chip can potentially break the entire chip. Although there are
      The percentage of working chips is called the yield.
      In some cases however, e.g. if the error only affects single CPU of a multi-core CPU, then they actually deactivate the broken CPU after testing, and sell the worse CPU cheaper with a clear branding of that: this is called binning www.tomshardware.com/uk/reviews/glossary-binning-definition,5892.html
    • power is a major semiconductor limit as of 2010's and onwards. If everything turns on at once, the chip would burn. Designs have to account for that.
  • performance is the goal.
    Conceptually, this is basically a set of algorithms that you want your hardware to solve, each one with a respective weight of importance.
    Serial performance is fundamentally limited by the longest path that electrons have to travel in a given clock cycle.
    The way to work around it is to create pipelines, splitting up single operations into multiple smaller operations, and storing intermediate results in memories.
Post-quantum cryptography Updated 2025-07-16
Encryption algorithms that run on classical computers that are expected to be resistant to quantum computers.
This is notably not the case of the dominant 2020 algorithms, RSA and elliptic curve cryptography, which are provably broken by Grover's algorithm.
Post-quantum cryptography is the very first quantum computing thing at which people have to put money into.
The reason is that attackers would be able to store captured ciphertext, and then retroactively break them once and if quantum computing power becomes available in the future.
There isn't a shade of a doubt that intelligence agencies are actively doing this as of 2020. They must have a database of how interesting a given source is, and then store as much as they can given some ammount of storage budget they have available.
A good way to explain this to quantum computing skeptics is to ask them:
If I told you there is a 5% chance that I will be able to decrypt everything you write online starting today in 10 years. Would you give me a dollar to reduce that chance to 0.5%?
Post-quantum cryptography is simply not a choice. It must be done now. Even if the risk is low, the cost would be way too great.

Unlisted articles are being shown, click here to show only listed articles.