Reader small image

You're reading from  Quantum Computing Algorithms

Product typeBook
Published inSep 2023
PublisherPackt
ISBN-139781804617373
Edition1st Edition
Right arrow
Author (1)
Barry Burd
Barry Burd
author image
Barry Burd

Barry Burd received a master's degree in computer science at Rutgers University and a Ph.D. in mathematics at the University of Illinois. As a teaching assistant in Champaign–Urbana, Illinois, he was elected five times to the university-wide List of Teachers Ranked as Excellent by Their Students. Since 1980, Dr. Burd has been a professor in the department of mathematics and computer science at Drew University in Madison, New Jersey. He has spoken at conferences in the United States, Europe, Australia, and Asia. In 2020, he was honored to be named a Java Champion. Dr. Burd lives in Madison, New Jersey, USA, where he spends most of his waking hours in front of a computer screen.
Read more about Barry Burd

Right arrow

Chapter 1, New Ways to Think about Bits

    1. 1 times 128 space plus space 0 times 64 space plus space 1 times 32 space plus space 1 times 16 space plus space 1 times 8 space plus space 0 times 4 space plus space 0 times 2 space plus space 1 times 1 space equals space 185
    2. 1 times 5 space plus space 0 times 8 space plus space 3 times 4 space plus space 2 times 4 space equals space 25
    3. open parentheses table row 1 0 0 0 row 0 1 1 1 end table close parentheses space circled times space open parentheses table row 0 1 row 1 0 end table close parentheses space equals space open parentheses table row cell 1 space open parentheses table row 0 1 row 1 0 end table close parentheses space end cell cell 0 space open parentheses table row 0 1 row 1 0 end table close parentheses space end cell cell 0 space open parentheses table row 0 1 row 1 0 end table close parentheses end cell cell 0 space open parentheses table row 0 1 row 1 0 end table close parentheses end cell row cell 0 space open parentheses table row 0 1 row 1 0 end table close parentheses end cell cell 1 space open parentheses table row 0 1 row 1 0 end table close parentheses space end cell cell 1 space open parentheses table row 0 1 row 1 0 end table close parentheses space end cell cell 1 space open parentheses table row 0 1 row 1 0 end table close parentheses space end cell end table close parentheses space equals space open parentheses table row 0 1 0 0 0 0 0 0 row 1 0 0 0 0 0 0 0 row 0 0 0 1 0 1 0 1 row 0 0 1 0 1 0 1 0 end table close parentheses
    1. import numpy as np
      A = np.matrix( [[1, 2, 3, 0],
                      [2, 1, -1, 3]] )
      B = np.matrix( [[1, 1, -2],
                      [3, 2, -1],
                      [0, 4, 3],
                      [3, -3, 5]] )
      print(np.dot(A, B))
    import numpy as npA = np.matrix( [[2],
                    [3],
                    [1]] )
    B = np.matrix( [[8, 4, 0],
                ...

Chapter 2, What Is a Qubit?

    1. 1,000.
    2. 0.
    3. 500.
    4. Approximately 250.
    5. The number of zeros is usually between 490 and 510. Very rarely does the number become lower than 480 or higher than 520.
    6. from qiskit import QuantumCircuit
      circuit = QuantumCircuit(3, 4)
      circuit.h(0)
      circuit.h(2)
      circuit.barrier()
      circuit.measure([1], [2])
      circuit.measure([2], [1])
      circuit.measure([0], [3])
      display(circuit.draw('latex'))

Chapter 3, Math for Qubits and Quantum Gates

    1. A. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfrac><mn>1</mn><msqrt><mn>7</mn></msqrt></mfrac><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><msqrt><mn>3</mn></msqrt></mtd></mtr><mtr><mtd><mo>-</mo><mn>2</mn></mtd></mtr></mtable></mfenced></mstyle></math>"} represents a qubit because {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msup><mfenced open=\"|\" close=\"|\"><mfrac><msqrt><mn>3</mn></msqrt><msqrt><mn>7</mn></msqrt></mfrac></mfenced><mn>2</mn></msup><mo>&#xA0;</mo><mo>+</mo><mo>&#xA0;</mo><msup><mfenced open=\"|\" close=\"|\"><mfrac><mrow><mo>-</mo><mn>2</mn></mrow><msqrt><mn>7</mn></msqrt></mfrac></mfenced><mn>2</mn></msup><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfrac><mn>3</mn><mn>7</mn></mfrac><mo>&#xA0;</mo><mo>+</mo><mo>&#xA0;</mo><mfrac><mn>4</mn><mn>7</mn></mfrac><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mn>1</mn></mstyle></math>"}.

    B. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mstyle></math>"} doesn’t represent a qubit because {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msup><mfenced open=\"|\" close=\"|\"><mn>1</mn></mfenced><mn>2</mn></msup><mo>&#xA0;</mo><mo>+</mo><mo>&#xA0;</mo><msup><mfenced open=\"|\" close=\"|\"><mn>1</mn></mfenced><mn>2</mn></msup><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mn>2</mn><mo>&#xA0;</mo><mo>&#x2260;</mo><mo>&#xA0;</mo><mn>1</mn></mstyle></math>"}.

    C. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></mstyle></math>"} doesn’t represent a qubit because it has three entries, not two.

    1. Here is the result:
    1. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><msup><mi>Z</mi><mi>T</mi></msup></mfenced><mi>Z</mi><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mi>I</mi></mstyle></math>"}
    2. Here is the Qiskit code:
      qc = QuantumCircuit(1)
      qc.h(0)
      qc.z(0)
    3. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><mrow><msub><mi>R</mi><mi>Y</mi></msub><msup><mfenced><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>2</mn></mfrac></mfenced><mi>T</mi></msup></mrow></mfenced><mo>&#xA0;</mo><msub><mi>R</mi><mi>Y</mi></msub><mfenced><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>2</mn></mfrac></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mfenced><mtable><mtr><mtd><mn>2</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>2</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mi>I</mi></mstyle></math>"}
    4. According to Figure 3.25, {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mi>sin</mi><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>4</mn></mfrac><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mi>cos</mi><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>4</mn></mfrac><mo>&#xA0;</mo><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mstyle></math>"}. So, we have .
    5. Here is the matrix calculation:

    1. Here’s the Hadamard gate acting on |+:

    Here’s the {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msub><mi>R</mi><mi>Y</mi></msub><mfenced><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>2</mn></mfrac></mfenced><mo>&#xA0;</mo></mstyle></math>"} gate acting on |+:

    1. {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mi>X</mi><mi>H</mi><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#xA0;</mo><mfenced><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><msub><mi>R</mi><mi>Y</mi></msub><mfenced><mfrac><mi mathvariant=\"normal\">&#x3C0;</mi><mn>2</mn></mfrac></mfenced><mo>&#xA0;</mo></mstyle></math>"}

Chapter 4, Qubit Conspiracy Theories

    1. q1 is 1, q0 is 0.
    2. You can demonstrate that writing in the form open parentheses table row cell a subscript 0 end cell row cell a subscript 1 end cell end table close parentheses space circled times space open parentheses table row cell b subscript 0 end cell row cell b subscript 1 end cell end table close parentheses space is impossible. Here’s how:

    Assume (to the contrary) that open parentheses table row 1 row 0 row 0 row 1 end table close parentheses space equals space open parentheses table row cell a subscript 0 end cell row cell a subscript 1 end cell end table close parentheses space circled times space open parentheses table row cell b subscript 0 end cell row cell b subscript 1 end cell end table close parentheses space. Then, open parentheses table row 1 row 0 row 0 row 1 end table close parentheses space equals space open parentheses table row cell a subscript 0 b subscript 0 end cell row cell a subscript 0 b subscript 1 end cell row cell a subscript 2 b subscript 0 end cell row cell a subscript 1 b subscript 1 end cell end table close parentheses space.

    But since a subscript 0 b subscript 1 space equals space 0, either a subscript 0 space equals space 0 or b subscript 1 space equals space 0 .

    In the first case, a subscript 0 b subscript 0 must be 0 instead of 1. In the second case, a subscript 1 b subscript 1 must be 0 instead of 1. Either way, things don’t work out.

      1. from qiskit import QuantumCircuit
        circ = QuantumCircuit(2)
        circ.h(0)
        circ.cnot(0, 1)
        circ.x(1)
        circ.z(1)
        display(circ.draw('latex', initial_state=True))

      The resulting sphere looks like this:

      The |01 qubit’s phase is straight pi, and the |10 qubit’s phase is 0.

      1. There are eight ways to assign up-or-down arrows to the three measuring directions on the left. For the six ways that resemble the scenario in Figure 4.35, the probability of disagreement is 5 over 9. For the remaining two ways, the probability of disagreement is 1 (see...

Chapter 5, A Fanciful Tale about Cryptography

      1. Send information about any errors that you find to quantum@allmycode.com.
      2. Send information about any errors that you find to quantum@allmycode.com.
      3. If Eve measures Alice’s qubits, then Alice and Bob will know about it. So, Alice and Bob won’t use any of those qubits as their encryption key. So, if Eve knows some of Alice’s zeros and ones, that information won’t be useful to her.
      4. The following example illustrates the use of the right-distributive law for tensor products:
      1. When we cross-multiply, we use both the left- and right-distributive laws. In the following equations, one step uses the right-distributive law:

      And the next step uses the left-distributive law:

      We use the scalar multiplication law when we combine two qubits’ scalars. Here’s an example:

      1. You can code the circuit...

Chapter 6, Quantum Networking and Teleportation

      1. In the Quantum operations for teleportation section, we derive the following formula:

      When the initial state of Alice’s qubit is |0, alpha = 1 and beta = 0. So, the formula becomes

      We have four possibilities, and each possibility has three qubits. Alice measures the middle qubit. When that measurement yields the value 1, Bob applies the X gate. So, we have

      No matter what values Alice’s measurements yield, Bob’s qubit is in the |0 state. So the value of Alice’s qubit has been teleported to Bob.

      The calculation is similar when the initial state of Alice’s qubit is |1.

      1. When you hardcode alpha = 0.8228 and beta = 0.5683, a call to add_gates gives you an error message. The message is Sum of amplitudes-squared does not equal one. This happens because the value of |0.8228|2 + |0.5683|2 isn’...

Chapter 7, Deutsch’s Algorithm

      1. This circuit is not reversible. When x = y, the output is 01 regardless of whether x and y are both 0 or x and y are both 1. When x y, the output is 10 regardless of which input is 0 and which is 1.
      2. The number of correct shots varies quite a lot because the amount of noise isn’t predictable. Also, some quantum computers tend to be less noisy than others. On IBM devices, the number of correct shots out of 100 is typically in the 90s but sometimes in the 80s.
      3. The CNOT gate affects both the top and bottom qubits. But when we add an X gate, we add it to the bottom qubit. The top qubit (the qubit that we eventually measure) remains unchanged.
      4. This circuit implements the Opposite_of function. The leftmost X gate reverses the roles of inputs 0 and 1 from what they’d be with the Identity function. Then, the rightmost X gate restores the top qubit to its original 0 value or 1 value. That rightmost X gate has no effect on...

Chapter 8, Grover’s Algorithm

      1. It takes 20 qubits to search among 1,000,000 values because 220 = 1,000,000. The number of Grover iterations will be {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfrac><mi>&#x3C0;</mi><mn>4</mn></mfrac><msqrt><mn>1000000</mn></msqrt><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfrac><mi>&#x3C0;</mi><mn>4</mn></mfrac><mn>1000</mn><mo>&#xA0;</mo><mo>&#x2248;</mo><mn>0</mn><mo>.</mo><mn>7854</mn><mo>&#xB7;</mo><mn>1000</mn><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mn>804</mn></mstyle></math>"}.
      1. Here’s the code:
        import random
        oracle_matrix = [
            [1, 0,  0, 0, 0, 0, 0, 0],
            [0, 1,  0, 0, 0, 0, 0, 0],
            [0, 0,  1, 0, 0, 0, 0, 0],
            [0, 0,  0, 1, 0, 0, 0, 0],
            [0, 0,  0, 0, 1, 0, 0, 0],
            [0, 0,  0, 0, 0, 1, 0, 0],
            [0, 0,  0, 0, 0, 0, 1, 0],
            [0, 0,  0, 0, 0, 0, 0, 1]
        ]
        entry = random.randint(0, 7)
        print(entry)
        oracle_matrix[entry][entry] = -1
        oracle = QuantumCircuit(3)
        oracle.unitary(oracle_matrix, qubits=[0, 1, 2], label=’oracle’)
        oracle.barrier()
        display(oracle.draw('latex'))
      2. The expression...

Chapter 9, Shor’s Algorithm

      1. We start by finding values of 3n % 14:

      Next, we calculate the following:

      {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><mrow><msup><mn>3</mn><mfrac bevelled=\"true\"><mn>6</mn><mn>2</mn></mfrac></msup><mo>&#xA0;</mo><mo>+</mo><mo>&#xA0;</mo><mn>1</mn><mo>&#xA0;</mo></mrow></mfenced><mfenced><mrow><msup><mn>3</mn><mfrac bevelled=\"true\"><mn>6</mn><mn>2</mn></mfrac></msup><mo>&#xA0;</mo><mo>-</mo><mo>&#xA0;</mo><mn>1</mn><mo>&#xA0;</mo></mrow></mfenced><mo>=</mo><mo>&#xA0;</mo><mn>28</mn><mo>&#xB7;</mo><mn>26</mn><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfenced><mrow><mn>2</mn><mo>&#xB7;</mo><mn>2</mn><mo>&#xB7;</mo><mn>7</mn></mrow></mfenced><mo>&#xB7;</mo><mfenced><mrow><mn>2</mn><mo>&#xB7;</mo><mn>13</mn></mrow></mfenced><mspace linebreak=\"newline\"/></mstyle></math>","origin":"MathType for Microsoft Add-in"}

      When we calculate 14/13, we find that it isn’t an integer. But 14/2 = 7. So, 14 = 2·7.

      1. We start by finding values of 2n % 35:

      Next, we calculate the following:

      {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfenced><mrow><msup><mn>2</mn><mfrac bevelled=\"true\"><mn>12</mn><mn>2</mn></mfrac></msup><mo>&#xA0;</mo><mo>+</mo><mo>&#xA0;</mo><mn>1</mn><mo>&#xA0;</mo></mrow></mfenced><mfenced><mrow><msup><mn>2</mn><mfrac bevelled=\"true\"><mn>12</mn><mn>2</mn></mfrac></msup><mo>&#xA0;</mo><mo>-</mo><mo>&#xA0;</mo><mn>1</mn><mo>&#xA0;</mo></mrow></mfenced><mo>=</mo><mo>&#xA0;</mo><mn>65</mn><mo>&#xB7;</mo><mn>63</mn><mo>&#xA0;</mo><mo>=</mo><mo>&#xA0;</mo><mfenced><mrow><mn>5</mn><mo>&#xB7;</mo><mn>13</mn></mrow></mfenced><mo>&#xB7;</mo><mfenced><mrow><mn>3</mn><mo>&#xB7;</mo><mn>3</mn><mo>&#xB7;</mo><mn>7</mn></mrow></mfenced><mspace linebreak=\"newline\"/></mstyle></math>","origin":"MathType for Microsoft Add-in"}

      When we calculate 35/13 and 35/3, we find that these aren’t integers. But 35/5 = 7. So, 35 = 5·7.

      1. Dividing 71 by 8 gives us 8 with a remainder of 7. So, {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msup><mi>e</mi><mfenced><mrow><mn>71</mn><mo>&#xB7;</mo><mfrac><mi>&#x3C0;</mi><mn>4</mn></mfrac></mrow></mfenced></msup></mstyle></math>","origin":"MathType for Microsoft Add-in"} is the same as {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msup><mi>e</mi><mfenced><mrow><mn>7</mn><mo>&#xB7;</mo><mfrac><mi>&#x3C0;</mi><mn>4</mn></mfrac></mrow></mfenced></msup></mstyle></math>","origin":"MathType for Microsoft Add-in"}. According to Figures 9.9 and 9.13, {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><msup><mi>e</mi><mfenced><mrow><mn>7</mn><mo>&#xB7;</mo><mfrac><mi>&#x3C0;</mi><mn>4</mn></mfrac></mrow></mfenced></msup></mstyle></math>","origin":"MathType for Microsoft Add-in"} is equal to {"mathml":"<math style=\"font-family:stix;font-size:16px;\" xmlns=\"http://www.w3.org/1998/Math/MathML\"><mstyle mathsize=\"16px\"><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>-</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mi>i</mi></mstyle></math>","origin":"MathType for Microsoft Add-in"}.
      2. The QFT and QFT† matrices are shown here:
      1. The 2 × 2 QFT matrix is the Hadamard matrix because the second roots of unity are 1 and -1.
      2. The missing values are shown here:
      1. In the coprime powers sequence for 22 (with coprime 3), the period is 5. But 5 isn’t divisible by 2. You can’t find 35/2 + 1 or 35/2 &...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Quantum Computing Algorithms
Published in: Sep 2023Publisher: PacktISBN-13: 9781804617373
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Barry Burd

Barry Burd received a master's degree in computer science at Rutgers University and a Ph.D. in mathematics at the University of Illinois. As a teaching assistant in Champaign–Urbana, Illinois, he was elected five times to the university-wide List of Teachers Ranked as Excellent by Their Students. Since 1980, Dr. Burd has been a professor in the department of mathematics and computer science at Drew University in Madison, New Jersey. He has spoken at conferences in the United States, Europe, Australia, and Asia. In 2020, he was honored to be named a Java Champion. Dr. Burd lives in Madison, New Jersey, USA, where he spends most of his waking hours in front of a computer screen.
Read more about Barry Burd