Commit bdb33ce0 authored by MikJak75's avatar MikJak75
Browse files

adding files

parent 10424b31
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,5 +16,6 @@ dependencies:
    - pennylane-sf
    - pennylane-qiskit
    - pennylane-cirq
    - pylatexenc
    - pyzx
    - strawberryfields
+40 −1
Original line number Diff line number Diff line
%% Cell type:code id: tags:

``` 
``` python
import cirq

q0, q1, q2, q3 = cirq.LineQubit.range(4)

circuit = cirq.Circuit()

circuit.append(cirq.X(q1))
circuit.append(cirq.X(q1))
circuit.append(cirq.CNOT(q0, q2))
circuit.append(cirq.CNOT(q1, q2))
circuit.append(cirq.CCNOT(q0, q1, q3))

circuit.append(cirq.measure(q2, q3, key='result'))

print(circuit)
s = cirq.Simulator()

samples = s.run(circuit, repetitions=1000)
counts = samples.histogram(key= 'result')
print(counts)

```

%% Output

          ┌──┐
    0: ─────@────────────@─────────────────
            │            │
    1: ────X┼────X───@───@─────────────────
            │        │   │
    2: ─────X────────X───┼───M('result')───
                         │   │
    3: ──────────────────X───M─────────────
          └──┘
    Counter({0: 1000})

%% Cell type:code id: tags:

``` python
```
+17 −20
Original line number Diff line number Diff line
%% Cell type:code id: tags:

``` python
from qiskit import *
from qiskit.tools.visualization import plot_bloch_multivector
from qiskit.tools.visualization import plot_histogram

# Creating a circuit with 3 quantum bits and 2 classical bits
qc = QuantumCircuit(3,2)

# Preparing inputs
qc = QuantumCircuit(4,2)
qc.x(0) # Comment this line to make Qbit0 = |0>
qc.x(1) # Comment this line to make Qbit1 = |0>
# no changes to Qbit2 (stays |0> always)
qc.barrier()

# Applying AND operation and put result to Qbit2
qc.ccx(0,1,2)
qc.barrier()

# Applying XOR operation and put result to Qbit1
qc.cx(0,1)
qc.barrier()

# Reading outputs
qc.measure(1,0) # Reading XOR value ( sum bit )
qc.measure(2,1) # Reading AND value ( carry-out bit )

#qc.draw(output='mpl')

qc.cx(0,2)
qc.cx(1,2)
qc.ccx(0,1,3)
qc.measure(2,0) # Reading XOR value ( sum bit )
qc.measure(3,1) # Reading AND value ( carry-out bit )
# Run the experimient 1024 times and get stats
counts = execute(qc,Aer.get_backend('qasm_simulator')).result().get_counts()
print(counts)
qc.draw(output='mpl')



#credit: https://lahirumadushankablog.wordpress.com/2020/02/04/quantum-half-adder-and-full-adder/
```

%% Output

    {'10': 1024}

    <Figure size 621.941x451.5 with 1 Axes>

%% Cell type:code id: tags:

``` python
```
+125 −0

File added.

Preview size limit exceeded, changes collapsed.

+5 −1
Original line number Diff line number Diff line
%% Cell type:code id: tags:

``` 
``` python
import pennylane as qml
from pennylane import numpy as np

dev1 = qml.device('default.qubit', wires = 1)

@qml.qnode(dev1, interface="autograd")
def circuit(params):
    qml.RX(params[0], wires=0)
    qml.RY(params[1], wires=0)
    return qml.expval(qml.PauliZ(0))

print(circuit([0.54, 0.12]))

#print("Hello World!")
```

%% Output

    0.8515405859048367