-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14 from ChitambarLab/v0.2.0
V0.2.0
- Loading branch information
Showing
72 changed files
with
4,913 additions
and
3,545 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
```@meta | ||
CurrentModule = QBase | ||
``` | ||
# Bras and Kets | ||
|
||
In bra-ket notation, vectors on a complex-valued Hilbert space are used to represent | ||
quantum states and operations. | ||
A column vector ``|\psi\rangle`` is referred to as a **ket** whereas a row vector | ||
``\langle \psi|`` is referred to as a **bra**. | ||
Bras and kets are dual to each other via the adjoint operation. | ||
That is, ``\langle\psi| = |\psi\rangle^{\dagger}`` and ``|\psi\rangle = \langle\psi|^{\dagger}``. | ||
|
||
Quantum systems behave probabilistically under observation, hence quantum mechanics | ||
is used to construct probability distributions which describe the behavior of quantum | ||
systems. | ||
For this reason, bras and kets must be normalized such that ``\langle\psi|\psi\rangle = 1`` holds true. | ||
Here ``\langle \cdot | \cdot \rangle`` denotes the inner product (dot product) between bra and ket. | ||
These constraints are checked with the following method. | ||
|
||
```@docs | ||
is_braket | ||
``` | ||
|
||
## Bra-Ket Types | ||
|
||
```@docs | ||
Ket | ||
Bra | ||
``` | ||
|
||
## Bra-Ket Algebra | ||
|
||
```@docs | ||
*(ket :: Ket{<:Number}, bra :: Bra{<:Number}) | ||
adjoint(ket :: Ket{<:Number}) | ||
kron(kets :: Vararg{Ket{<:Number}}; atol=ATOL) | ||
``` | ||
|
||
## Ket Constructors | ||
|
||
QBase.jl provides a catalog for constructing various `Ket`s. | ||
To construct similar `Bra`s you must manually convert the `Ket` to a `Bra` using | ||
either [`adjoint(::Ket)`](@ref) or [`Bra(::Ket)`](@ref). | ||
|
||
### Ket Singlets | ||
```@docs | ||
bloch_qubit_ket | ||
``` | ||
|
||
### Ket Ensembles | ||
```@docs | ||
computational_basis_kets | ||
bell_kets | ||
generalized_bell_kets | ||
mirror_symmetric_qubit_kets | ||
planar_symmetric_qubit_kets | ||
trine_qubit_kets | ||
sic_qubit_kets | ||
bb84_qubit_kets | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
```@meta | ||
CurrentModule = QBase | ||
``` | ||
# Evolution | ||
|
||
```@docs | ||
evolve | ||
*(U :: Unitary, ket :: Ket) | ||
``` | ||
|
||
## Unitaries | ||
|
||
```@docs | ||
Unitary | ||
is_unitary | ||
``` | ||
|
||
### Unitary Operations | ||
|
||
```@docs | ||
*(unitaries :: Vararg{Unitary}; atol=ATOL :: Float64) | ||
kron(unitaries :: Vararg{Unitary}; atol=ATOL :: Float64) | ||
adjoint(U :: Unitary) | ||
``` | ||
|
||
### Unitary Constructors | ||
|
||
```@docs | ||
σI | ||
σx | ||
σy | ||
σz | ||
qubit_rotation | ||
random_unitary | ||
``` | ||
|
||
## Channels | ||
|
||
```@docs | ||
replacer_channel | ||
depolarizing_channel | ||
erasure_channel | ||
``` |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 20 additions & 15 deletions
35
docs/src/submodules/QMath.md → docs/src/math_utilities.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,45 @@ | ||
```@meta | ||
CurrentModule = QMath | ||
CurrentModule = QBase | ||
``` | ||
# Math Utilities | ||
|
||
# QMath | ||
## Matrices | ||
|
||
```@docs | ||
QMath | ||
partial_trace | ||
n_product_id | ||
computational_basis_vectors | ||
``` | ||
|
||
## Matrices | ||
## Validation Methods | ||
|
||
```@docs | ||
computational_basis_vectors | ||
partial_trace | ||
commutes | ||
is_hermitian | ||
is_positive_semidefinite | ||
is_square | ||
is_orthonormal_basis | ||
is_complete | ||
commutes | ||
``` | ||
|
||
## Combinatorics | ||
|
||
### Set Partitions | ||
```@docs | ||
stirling2 | ||
stirling2_partitions | ||
stirling2_matrices | ||
``` | ||
|
||
### Permutations | ||
```@docs | ||
permutation_matrices | ||
n_choose_k_matrices | ||
base_n_val | ||
``` | ||
|
||
## Probability | ||
### Combinations | ||
```@docs | ||
n_choose_k_matrices | ||
``` | ||
|
||
```@docs | ||
is_probability_distribution | ||
is_conditional_distribution | ||
Marginals | ||
Conditionals | ||
base_n_val | ||
``` |
23 changes: 12 additions & 11 deletions
23
docs/src/submodules/Observables.md → docs/src/measurements.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,36 @@ | ||
```@meta | ||
CurrentModule = QBase.Observables | ||
CurrentModule = QBase | ||
``` | ||
# Observables | ||
# Measurements | ||
|
||
```@docs | ||
Observables | ||
measure | ||
Measurement | ||
``` | ||
|
||
## Types | ||
## Positive Operator-Valued Measures (POVM) | ||
|
||
```@docs | ||
AbstractPOVM | ||
is_povm | ||
is_povm_element | ||
POVM | ||
QubitPOVM | ||
POVMel | ||
``` | ||
|
||
## Constructors | ||
### POVM Constructors | ||
|
||
```@docs | ||
mirror_symmetric_qubit_3povm | ||
asymmetric_qubit_3povm | ||
trine_qubit_povm | ||
sic_qubit_povm | ||
sqrt_povm | ||
planar_symmetric_qubit_povm | ||
sqrt_povm | ||
naimark_dilation | ||
``` | ||
|
||
## Quantum Measurement | ||
## Projector-Valued Measures (PVM) | ||
|
||
```@docs | ||
kraus_operators | ||
naimark_dilation | ||
PVM | ||
``` |
Oops, something went wrong.
35ecdce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JuliaRegistrator register
35ecdce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registration pull request created: JuliaRegistries/General/35227
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via: