Learn R Programming

gallery

The goal of gallery is to replicate the MATLAB gallery of test matrices in R.

Installation

You can install the released version of gallery from GitHub with:

devtools::install_github("tXiao95/gallery")

Example

This example can be found on the MATLAB website. We will plot the distribution of eigenvalues from a sample of 20,000 random circulant matrices of size 18 by 18 in the complex plane.

library(gallery)
library(ggplot2)

E <- matrix(0, nrow = 18, ncol = 20000)

for(i in 1:20000){
  x <- -0.4 + 0.8*sample(0:1, 18, replace = TRUE)
  A <- gallery::circul(x)
  E[,i] <- eigen(A, only.values = TRUE)$values
}

df <- data.frame(Real = Re(c(E)), Imag = Im(c(E)))

ggplot(df, aes(Real, Imag)) + 
  geom_point(col = "blue", size = 0.5) + 
  scale_x_continuous(limits=c(-3,3)) +
  scale_y_continuous(limits=c(-3,3)) + 
  coord_fixed(ratio=1) + 
  theme_bw()
#> Warning: Removed 10249 rows containing missing values or values outside the scale range
#> (`geom_point()`).

Copy Link

Version

Install

install.packages('gallery')

Version

1.0.0

License

MIT + file LICENSE

Maintainer

Last Published

September 26th, 2024

Functions in gallery (1.0.0)

binomial_matrix

Create binomial matrix
cauchy_matrix

Create Cauchy matrix
chebspec

Create Chebyshev spectral differentiation matrix
lauchli

Create Lauchli Matrix
lehmer

Create Lehmer matrix
chebvand

Creating Vandermonde-like matrix for the Chebyshev polynomials
cycol

Create matrix A whose columns repeat cyclically
dorr

Create Dorr matrix
leslie

Create Leslie population model matrix
minij

Symmetric positive definite matrix MIN(i,j)
invol

Involutory matrix (a matrix that is its own inverse)
chow

Creating singular Toeplitz lower Hessenberg matrix
jordbloc

Create Jordan block matrix
circul

Create circulant matrix
dramadah

Create anti-Hadamard matrix A
grcar

Create Toeplitz matrix with sensitive eigenvalues
fiedler

Create Fiedler matrix
hanowa

Hanowa matrix
clement

Create Clement tridiagonal matrix with zero diagonal entries
compar

Create comparison matrix A
forsythe

Create Forsythe matrix or perturbed Jordan block
frank

Frank matrix of order N
spdiags

Create sparse diagonal matrix
tridiag

Create sparse tridiagonal matrix