qubit algorithms