matrixmodp

Functions for Working with Matrices over Finite Prime Fields

https://github.com/rhigginbottom/matrixmodp

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
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


[![R-CMD-check](https://github.com/rhigginbottom/matrixmodp/actions/workflows/R-CMD-check.yaml/badge.svg)](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

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

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 155 Last month
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