Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 month 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-08T00:21:47.000Z (over 1 year ago)
- Last Synced: 2024-11-24T12:47:27.997Z (2 months 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%"
)
```[![R-CMD-check](https://github.com/vitormarquesr/qwalkr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/vitormarquesr/qwalkr/actions/workflows/R-CMD-check.yaml)
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![CRAN status](https://www.r-pkg.org/badges/version/qwalkr)](https://CRAN.R-project.org/package=qwalkr)
[![Downloads](https://cranlogs.r-pkg.org/badges/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 HelpFor 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.