Notes from https://learn.qiskit.org/course/introduction/why-quantum-computing

\section{Introduction}

\subsection{What is Quantum Computing}

\subsection{Computer}

- Needs instructions that should be specific and unambiguous i.e. Algorithms
- With a set of instructions, the computer takes input information and provides output information.

\subsection{Algorithm Complexity}

- measure the performance of the different algorithms
- algorithm complexity refers to how resources used by algorithms increase with respect to the size of the input.

\subsubsection{Constant Time Algorithm}

- The completion time for the algorithm doesn’t depend on the size of the input number.
- eg. an algorithm to find if a number is odd or even.

\subsubsection{Linear Time Algorithm}

- Completion time grows linearly (proportionally) with

the length of the input number (linear time) - eg. adding two numbers.

\subsubsection{Quadratic Time Algorithm}

- completion time grows with the square of the length of the input number

\subsubsection{Exponential Time Algorithm}

$$T \prop 10^d$$

\section{Quantum Computing}

- Quantum Physics
- Integer Factorization

Problems with Today’s Quantum Computers:

1. Too small and Unstable i.e. size of problem limitation (amount of data that can be stored) and the error rate of quantum computers (noisy results). Thus only experimental quantum computers at the moment.

Quantum Advantage.

**Atoms of Computation:**

– bits 0 , 1

– qubits

Circuit Diagrams