Just like a classic programmer does not need to understand the intricacies of how transistors are implemented and CMOS semiconductors, the quantum programmer does not understand physical intricacies of the underlying physical implementation.
The main difference to keep in mind is that quantum computers cannot save and observe intermediate quantum state, so programming a quantum computer is basically like programming a combinatorial-like circuit with gates that operate on (qu)bits:
For this reason programming a quantum computer is much like programming a classical combinatorial circuit as you would do with SPICE, verilog-or-vhdl, in which you are basically describing a graph of gates that goes from the input to the output
For this reason, we can use the words "program" and "circuit" interchangeably to refer to a quantum program
Also remember that and there is no no clocks in combinatorial circuits because there are no registers to drive; and so there is no analogue of clock in the quantum system either,
Does not require entangled particles, unlike E91 which does.
en.wikipedia.org/w/index.php?title=Quantum_key_distribution&oldid=1079513227#BB84_protocol:_Charles_H._Bennett_and_Gilles_Brassard_(1984) explains it well. Basically:
- Alice and Bob randomly select a measurement basis of either 90 degrees and 45 degrees for each photon
- Alice measures each photon. There are two possible results to either measurement basis: parallel or perpendicular, representing values 0 or 1. TODO understand better: weren't the possible results supposed to be pass or non-pass? She writes down the results, and sends the (now collapsed) photons forward to Bob.
- Bob measures the photons and writes down the results
- Alice and Bob communicate to one another their randomly chosen measurement bases over the unencrypted classic channel.This channel must be authenticated to prevent man-in-the-middle. The only way to do this authentication that makes sense is to use a pre-shared key to create message authentication codes. Using public-key cryptography for a digital signature would be pointless, since the only advantage of QKD is to avoid using public-key cryptography in the first place.
- they drop all photons for which they picked different basis. The measurements of those which were in the same basis are the key. Because they are in the same basis, their results must always be the same in an ideal system.
- if there is an eavesdropper on the line, the results of measurements on the same basis can differ.Unfortunately, this can also happen due to imperfections in the system.Alice and Bob must decide what level of error is above the system's imperfections and implies that an attacker is listening.
Quarks, Gluon flux tubes, Strong Nuclear Force, & Quantum Chromodynamics by Physics Videos by Eugene Khutoryansky (2018)
Source. Some decent visualizations of how the field lines don't expand out like they do in electromagnetism, suggesting color confinement.PHYS 485 Lecture 6: Feynman Diagrams by Roger Moore (2016)
Source. Despite the title, this is mostly about QCD.Pokemania Comes to America by ABC News (1999)
Source. Ciro Santilli was a part of it! Especially during Ciro Santilli's 10 month stay in Coventry, United Kingdom, in the year 2000!A good project to see UARTs at work in all their beauty is to connect two Raspberry Pis via UART, and then:
- type in one and see characters appear in the other: scribles.net/setting-up-uart-serial-communication-between-raspberry-pis/
- send data via a script: raspberrypi.stackexchange.com/questions/29027/how-should-i-properly-communicate-2-raspberry-pi-via-uart
Part of the beauty of this is that you can just connect both boards directly manually with a few wire-to-wire connections with simple jump wire. Its simplicity is just quite refreshing. Sure, you could do something like that for any physical layer link presumably...
Remember that you can only have one GNU screen connected at a time or else they will mess each other up: unix.stackexchange.com/questions/93892/why-is-screen-is-terminating-without-root/367549#367549
On Ubuntu 22.04 you can screen without sudo by adding yourself to the
dialout
group with:sudo usermod -a -G dialout $USER
Unlisted articles are being shown, click here to show only listed articles.