Simple minimalist quantum computing simalation for python

pythum

Simple minimalist quantum computing simalation for python

import pythum

Usage

Qubit

Class for qubit manipulation and instanciation by notation

from pythum import Qubit

qubit = Qubit()

|0>

Public Methods

Qubit.from_notation(cls, value: str) -> 'Qubit'

Instanciate a qubit by the formal notation.

The following are possible values:

• "|0>": 0
• "|1>": 1
• "|10>", "|01>": super position
from pythum import Qubit

qubit1 = Qubit.from_notation("|0>")  # 0
qubit2 = Qubit.from_notation("|1>")  # 1
qubit3 = Qubit.from_notation("|10>")  # Super position

|0> |1> |01>

Qubit.from_qubit(cls, qubit: 'Qubit') -> 'Qubit'

Instanciate a copy of another qubit.

from pythum import Qubit

qubit1 = Qubit.from_notation("|1>")  # 1
qubit2 = Qubit.from_qubit(qubit1)  # 1

|1> |1>

up(self) -> 'self'

Points up the eletron.

The outcome of any measure will always be 1

from pythum import Qubit

qubit = Qubit()  # 0
qubit.up()       # 1

|1>

down(self) -> 'self'

Points down the eletron.

The outcome of any measure will always be 0

from pythum import Qubit

qubit = Qubit()  # 0
qubit.up()       # 1

|0>

left(self) -> 'self'

Points the eletronto the left.

The outcome of a measure may be 0 or 1

from pythum import Qubit

qubit = Qubit().left()  # Super position

|01>

right(self) -> 'self'

Points the eletronto the right.

The outcome of a measure may be 0 or 1

from pythum import Qubit

qubit = Qubit().left()  # Super position

|01>

Properties

alpha

Alpha probability for mesuring 0.

The returned probability is a number between 0 and 1.

from pythum import Qubit

Qubit().alpha
Qubit().up().alpha
Qubit().left().alpha
Qubit().right().alpha

1 0 0.5 0.5

beta

Beta probability for mesuring 1

The returned probability is a number between 0 and 1.

from pythum import Qubit

Qubit().beta
Qubit().up().beta
Qubit().left().beta
Qubit().right().beta

0 1 0.5 0.5

Project details

This version 0.1.1