MyNixOS website logo
Description

Generate Test Matrices for Numerical Experiments.

Generates a variety of structured test matrices commonly used in numerical linear algebra and computational experiments. Includes well-known matrices for benchmarking and testing the performance, stability, and accuracy of linear algebra algorithms. Inspired by 'MATLAB' 'gallery' functions.

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()`).
Metadata

Version

1.0.0

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows