matrixmodp
Functions for Working with Matrices over Finite Prime Fields
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Functions for Working with Matrices over Finite Prime Fields
Basic Info
- Host: GitHub
- Owner: rhigginbottom
- License: gpl-2.0
- Language: R
- Default Branch: master
- Homepage: https://rhigginbottom.github.io/matrixmodp/
- Size: 438 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Created about 2 years ago
· Last pushed about 2 years ago
Metadata Files
Readme
Changelog
License
README.Rmd
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# matrixmodp
[](https://github.com/rhigginbottom/matrixmodp/actions/workflows/R-CMD-check.yaml)
The goal of matrixmodp is to make two matrix algebra tasks easier when working with the fields $\mathbb{F}_p$. Specifically, this package provides two functions: `rref_p()` calculates the reduced-row echelon form of a matrix, and `inv_p()` calculates the inverse of a (square, invertible) matrix.
## Installation
You can install the public released version of `matrixmodp` from CRAN with:
```{r}
install.packages("matrixmodp")
```
You can install the development version of matrixmodp from [GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("rhigginbottom/matrixmodp")
```
## Example
We first provide an example of finding the RREF of a matrix with entries in $\mathbb{F}_5$.
```{r example}
library(matrixmodp)
entries <- c(4, 1, 2, 0, 0, 3, 4, 0, 0, 1, 4, 1)
A <- matrix(entries, 3, 4)
rref_p(A, 5)
```
We now show how to find the inverse of a $3\times 3$ matrix over $\mathbb{F}_7$.
```{r}
library(matrixmodp)
entries <- c(3, 3, 3, 2, 0, 2, 1, 2, 5)
A <- matrix(entries, 3, 3)
inv_p(A, 7)
```
## Note
Some of the code for the `rref_p()` function was taken from the `echelon()` function in the `matlib` package. Because of the different way row operations need to work when using entries in $\mathbb{F}_p$, no functions could be copied entirely. This makes attribution somewhat difficult. The license chosen for this package was specifically chosen to be compatible with the license in use for the `matlib` package because of this overlap in code.
Owner
- Name: Ryan Higginbottom
- Login: rhigginbottom
- Kind: user
- Repositories: 1
- Profile: https://github.com/rhigginbottom
GitHub Events
Total
Last Year
Packages
- Total packages: 1
-
Total downloads:
- cran 155 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
- Total maintainers: 1
cran.r-project.org: matrixmodp
Working with Matrices over Finite Prime Fields
- Homepage: https://github.com/rhigginbottom/matrixmodp
- Documentation: http://cran.r-project.org/web/packages/matrixmodp/matrixmodp.pdf
- License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
-
Latest release: 0.2.0
published about 2 years ago
Rankings
Dependent packages count: 28.6%
Dependent repos count: 35.2%
Average: 50.1%
Downloads: 86.6%
Maintainers (1)
Last synced:
11 months ago
Dependencies
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml
actions
- JamesIves/github-pages-deploy-action v4.5.0 composite
- actions/checkout v4 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION
cran
- testthat >= 3.0.0 suggests