https://github.com/vitormarquesr/qwalkr
qwalkr: Handle Continuous-Time Quantum Walks with R
https://github.com/vitormarquesr/qwalkr
linear-algebra probability-theory quantum-computing quantum-walk r statistics
Last synced: about 1 year ago
JSON representation
qwalkr: Handle Continuous-Time Quantum Walks with R
- Host: GitHub
- URL: https://github.com/vitormarquesr/qwalkr
- Owner: vitormarquesr
- License: other
- Created: 2023-07-17T21:20:12.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-08T00:21:47.000Z (over 2 years ago)
- Last Synced: 2025-01-25T01:05:33.720Z (over 1 year ago)
- Topics: linear-algebra, probability-theory, quantum-computing, quantum-walk, r, statistics
- Language: R
- Homepage: https://vitormarquesr.github.io/qwalkr/
- Size: 627 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
README
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
[](https://github.com/vitormarquesr/qwalkr/actions/workflows/R-CMD-check.yaml)
[](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[](https://CRAN.R-project.org/package=qwalkr)
[](https://cran.r-project.org/package=qwalkr)
## Overview
qwalkr is a numerical suite for investigating quantum walks, providing estimates of matrices of interests that help you obtain insight into the evolution of such systems:
**Quantum Walks**
* `ctqwalk()` creates a continuous-time quantum walk.
**Investigate the Hamiltonian**
* `get_eigspace()` obtains the eigenvectors associated with an eigenspace.
* `get_eigproj()` obtains the orthogonal projector associated with an eigenspace.
* `get_eigschur()`obtains the Schur product of orthogonal projectors.
* `act_eigfun()` applies a function to the Hamiltonian.
**Time Evolution**
* `unitary_matrix()` returns the unitary time evolution operator at a given time.
* `mixing_matrix()` returns the mixing matrix at a given time.
**Average Evolution**
* `avg_matrix()` returns the average mixing matrix.
* `gavg_matrix()` returns the generalized average mixing matrix under a probability distribution.
## Installation
You can install the stable version of `qwalkr` from CRAN:
```{r, eval=FALSE}
install.packages("qwalkr")
```
For the development version, you can install from Github like so:
```{r, eval=FALSE}
# install.packages("devtools")
devtools::install_github("vitormarquesr/qwalkr")
```
## Usage
```{r}
library(qwalkr)
K3 <- rbind(c(0, 1, 1),
c(1, 0, 1),
c(1, 1, 0))
w <- ctqwalk(hamiltonian = K3)
w
get_eigproj(w, id=2)
unitary_matrix(w, t=pi/3)
mixing_matrix(w, t=pi/3)
avg_matrix(w)
```
## Getting Help
For further reference on the usability, check the vignette or the website of the package.
If you happen to encounter a bug, please file an issue on GitHub.
