Quantum computing books
Nielsen & Chuang: Quantum Computation & Quantum Information
Sipsen: Introduction to the Theory of Computation
Barak: Introduction to Theoretical Computer Science
An algorithm is a set of instructions to get an output from an input using elementary steps.
You give the algo and it gives you .
Binary boolean fns take two possible inputs from a size two list and gives off one output.
Unary boolean fns take one input and give one output.
Usual binary B functions are AND, NAND, OR, NOT, XOR, XAND, implies, etc. We can use a subset of all possible such functions and use them to create the ones remaining. In particular, AND, OR, NOT. NAND gates can give you any function you want. These are called boolean circuits.
All circuits are equivalent.
Theorem.- Any function computable from from a circuit with gates can be computed via any of the circuits.
CHURCH TURING THESIS: If there is a computer that can compute a function using resources, then there is a boolean circuit which can compute using gates (it is believed that quantum computers can break this).