Skip to content

Commit

Permalink
github pages v0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
adamglos92 committed Aug 28, 2018
1 parent 344fc2b commit dbbeb18
Show file tree
Hide file tree
Showing 17 changed files with 534 additions and 289 deletions.
1 change: 1 addition & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-minimal
38 changes: 38 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using Documenter
#include("../src/QSWalk.jl")
using QSWalk

# same for contributing and license
cp(normpath(@__FILE__, "../../LICENSE"), normpath(@__FILE__, "../src/license.md"); force=true)



makedocs(
modules = [QSWalk],
format = :html,
sitename = "QSWalk",
clean = true,
doctest = true,
checkdocs = :exports,
assets = ["assets/logo.ico"],
pages = Any[
"Home" => "index.md",
"GKSL master equation" => "gksl.md",
"Demoralization" => "demoralization.md",
"Contributing" => "contributing.md",
"Citing" => "citing.md",
"Licence" => "license.md",
]
)

deploydocs(
deps = nothing,
make = nothing,
repo = "github.com/QuantumWalks/QSWalk.jl",
target = "build",
julia = "0.6",
osname = "linux"
)


#rm(normpath(@__FILE__, "src/license.md"))
Binary file added docs/src/assets/logo.ico
Binary file not shown.
Binary file added docs/src/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions docs/src/citing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Usage and citing


In case of citing, please use the following BibTeX form:

```tex
@article{glos2018qswalk,
title={QSWalk. jl: Julia package for quantum stochastic walks analysis},
author={Glos, Adam and Miszczak, Jaros{\l}aw Adam and Ostaszewski, Mateusz},
journal={arXiv preprint arXiv:1801.01294},
year={2018}
}
```

Our package was already used in papers concerning quantum attacks
* Adam Glos, Jarosław Adam Miszczak, and Mateusz Ostaszewski. 'Limiting properties of stochastic quantum walks on directed graphs.' Journal of Physics A: Mathematical and Theoretical 51.3 (2017): 035304.
* Krzysztof Domino, Adam Glos, and Mateusz Ostaszewski. 'Superdiffusive quantum stochastic walk definable on arbitrary directed graph'. Quantum Information & Computation, 17(11-12), 973-986.

In case You have used our package for your research, we will be grateful for any information about the paper or the package. With your consent we will provide a link to the paper here.
22 changes: 22 additions & 0 deletions docs/src/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Bugs

In the case, you noticed some bugs, please start with an issue with a minimal
working example of not-working code. If *Exception* is thrown, please provide an
exception message as well. If no *Exception* is thrown, but the result is
wrong, please provide in the issue message correct answer.

In the case you make a pull request, please add a not-working example as a test.

## Improvements

If you can provide a code, which works faster than already existing, please
check its efficiency for various input data.

We welcome any ideas concerning the readability and logic of the code as well.

## Development guidelines
* Post an issue.
* Wait until the discussion ends.
* Create assertions on argument types and other requirements.
* Include necessary references.
* Write tests.
39 changes: 39 additions & 0 deletions docs/src/demoralization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
```@meta
DocTestSetup = quote
using QSWalk
end
```

## Nonmoralizing model

Global interaction quantum stochastic walk suffers for creating additional connections. For
removing such effect, nonmoralizing quantum stochastic walk was introduced, see [here](http://www.rintonpress.com/journals/qiconline.html#v17n1112).
Such model is constructed in several steps. First, the dimensionality is increased, hence to each
vertex multidimensional subspaces is attached. Then, Hamiltonian and Lindblad
operator is increased, furthermore additional Hamiltonian called "local Hamiltonian".
is introduced.

Below we present additional functionalities typical for nonmoralizing quantum
stochastic walk. By default the the operator is generalized as in the original [paper](http://www.rintonpress.com/journals/qiconline.html#v17n1112).

```@index
Order = [:type, :function]
Modules = [QSWalk]
Pages = ["demoralization.md"]
```

## Full docs

```@docs
Vertex
VertexSet
nm_measurement
nm_loc_ham
nm_init
default_nm_loc_ham
make_vertex_set
vlist
subspace
fourier_matrix
vertexsetsize
```
32 changes: 32 additions & 0 deletions docs/src/gksl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
```@meta
DocTestSetup = quote
using QSWalk
end
```

## GKSL master equation

GKSL master equation is general continuous-time open quantum evolution. The master equation base on to form of operators: the Hamiltonian, which describes the evolution of closed system, and the Lindbladian operators which describes the evolution of open system. Basic facts in context of quantum stochastic walks can found [here](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.81.022323). For local interaction, where each Lindblad operator is a matrix with single nonzero element, we created a `local_lind` function which splits matrix into mentioned operators.

Below we present a documentation of basic function used for simulating GKSL master equation.

```@index
Order = [:type, :function]
Modules = [QSWalk]
Pages = ["gksl.md"]
```

## Full docs

```@docs
ket
bra
ketbra
proj
res
unres
evolve_generator(::AbstractMatrix{<:Number}, ::AbstractVector{<:AbstractMatrix{<:Number}}, ::AbstractMatrix{<:Number}, ::Real)
evolve_operator
evolve(::AbstractMatrix{<:Number}, ::AbstractMatrix{<:Number})
local_lind
```
9 changes: 9 additions & 0 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Welcome to QSWalk.jl

*QSWalk.jl* is a package providing implementation of open continuous-time quantum walk evolution based on GKSL master equation. In particular we have implemented function useful for analysing local interaction, global interaction and nonmoralizing global interaction stochastic quantum walk models.

In GitHub we present an [examples](https://github.com/QuantumWalks/QSWalk.jl/) in .ipynb and .jl extension. The present most of the functionalities of the package. Furthermore, for package explanation we refer the user to our [paper](https://arxiv.org/abs/1801.01294) describing the package, and
for the basic papers describing and introducing quantum stochastic models:
* [Quantum stochastic walks: A generalization of classical random walks and quantum walks](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.81.022323) by Whitfield, Rodríguez-Rosario, and Aspuru-Guzik,
* [Superdiffusive quantum stochastic walk definable on arbitrary directed graph](http://www.rintonpress.com/journals/qiconline.html#v17n1112) by Domino, Glos, and Ostaszewski,
* [Properties of quantum stochastic walks from the asymptotic scaling exponent](http://www.rintonpress.com/journals/qiconline.html#v18n34) by Domino, Glos, Ostaszewski, Pawela, and Sadowski.
21 changes: 21 additions & 0 deletions docs/src/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2018 Adam Glos, Jarosław Adam Miszczak, Mateusz Ostaszewski

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
6 changes: 2 additions & 4 deletions examples/ex01_path_propagation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
using QSWalk
using PyPlot # for plot
using LightGraphs # for PathGraph
using LinearAlgebra


# ## Evolution on path graph for fixed time, global vs local interaction
Expand Down Expand Up @@ -38,7 +37,7 @@ rho_local = evolve(op_local, proj(midpoint, dim), timepoint);

# To plot the result of the cannonical measurement, we take a diagonal of the states. Note that both *rhoglobal* and *rholocal* are complex matrices, hence we need to take the real part only. Argument *positions* is generated assuming that *midpoint* (the initial position) is at 0. Note that we have very heavy tails in the global interaction case, which confirms fast propagation in this model.

positions = (collect(1:dim) .- midpoint)
positions = (collect(1:dim) - midpoint)
plot(positions, real.(diag(rho_local)), "k")
plot(positions, real.(diag(rho_global)), "b")
xlabel("position")
Expand Down Expand Up @@ -75,7 +74,7 @@ local_states = evolve(op_local, proj(midpoint, dim), timepoints);

secmoment_global = Float64[]
secmoment_local = Float64[]
positions = (collect(1:dim) .- midpoint)
positions = (collect(1:dim) - midpoint)

for (rho_global, rho_local) = zip(global_states, local_states)
push!(secmoment_global, sum(positions.^2 .* diag(rho_global)))
Expand All @@ -90,4 +89,3 @@ plot(timepoints, secmoment_global, "b")
xlabel("t")
ylabel(L"\mu_2")
show()

Loading

0 comments on commit dbbeb18

Please sign in to comment.