The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Generate Test Matrices for Numerical Experiments
Version: 1.0.0
Maintainer: Thomas Hsiao <thomas.hsiao@emory.edu>
Description: 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.
License: MIT + file LICENSE
Encoding: UTF-8
RoxygenNote: 7.3.1
Imports: Matrix, pracma (≥ 2.2.5)
Suggests: testthat (≥ 2.1.0), knitr, rmarkdown
NeedsCompilation: no
Packaged: 2024-09-25 23:29:40 UTC; thsiao3
Author: Thomas Hsiao ORCID iD [aut, cre]
Repository: CRAN
Date/Publication: 2024-09-26 13:40:02 UTC

Create binomial matrix

Description

Binomial matrix: an N-by-N multiple of an involutory matrix with integer entries such that $A^2 = 2^(N-1)*I_N$ Thus B = A*2^((1-N)/2) is involutory, that is B^2 = EYE(N)

Usage

binomial_matrix(n)

Arguments

n

row dimension

Value

a binomial matrix, which is a multiple of involutory matrix


Create Cauchy matrix

Description

Arguments x and y are vectors of length n. C[i,j] = 1 / (x[i] + y[j])

Usage

cauchy_matrix(x, y = NULL)

Arguments

x

vector of length n

y

vector of length n

Value

a Cauchy matrix


Create Chebyshev spectral differentiation matrix

Description

Chebyshev spectral differentiation matrix of order n. k determines the character of the output matrix. For either form, the eigenvector matrix is ill-conditioned.

Usage

chebspec(n, k = NULL)

Arguments

n

order of the matrix.

k

k=0 is the default, no boundary conditions. The matrix is similar to a Jordan block of size n with eigenvalue 0. If k=1, the matrix is nonsingular and well-conditioned, and its eigenvalues have negative real parts.

Value

Chebyshev spectral differentiation matrix


Creating Vandermonde-like matrix for the Chebyshev polynomials

Description

Produces the (primal) Chebyshev Vandermonde matrix based on the points p. C[i,j] = T_{i-1}p[j], where T_{i-1} is the Chebyshev polynomial of degree i-1

Usage

chebvand(p, m = NULL)

Arguments

p

points to evaluate. If a scalar, then p equally spaced points on [0,1] are used.

m

number of rows of the matrix. chebvand(p, m) is the rectangular version of chebvand(p) with m rows.

Value

Vandermonde-like matrix for the Chebyshev polynomials


Creating singular Toeplitz lower Hessenberg matrix

Description

returns matrix A = H(alpha) + delta * EYE, such that H[i,j] = alpha^(i-j+1).

Usage

chow(n, alpha = 1, delta = 0)

Arguments

n

order of the matrix

alpha

defaults to 1

delta

defaults to 0

Value

Singular Toeplitz lower Hessenberg matrix


Create circulant matrix

Description

Each row is obtained from the previous by cyclically permuting the entries one step forward. A special Toeplitz matrix in which diagonals "wrap around"

Usage

circul(v)

Arguments

v

first row of the matrix. If v is a scalar, then C = circul(1:v)

Value

a circulant matrix whose first row is the vector v


Create Clement tridiagonal matrix with zero diagonal entries

Description

Returns an n-by-n tridiagonal matrix with zeros on the main diagonal. For k=0, A is nonsymmetric. For k=1, A is symmetric

Usage

clement(n, k = 0)

Arguments

n

order of matrix

k

0 indicates symmetric matrix, 1 asymmetric

Value

Clement tridiagonal matrix with zero diagonal entries


Create comparison matrix A

Description

For k=0, if i==j, $A[i,j]=abs(B[i,j])$ and A[i,j]=-abs(B[i,j]) otherwise. For k=1, A replaces each diagonal element of B with its absolute value, and replaces each off-diagonal with the negative of the largest absolute value off-diagonal in the same row.

Usage

compar(B, k = 0)

Arguments

B

input matrix

k

decides what matrix to return

Value

Comparison matrix


Create matrix A whose columns repeat cyclically

Description

Returns an n-by-n matrix with cyclically repeating columns where one cycle consists of the columns defined by randn(n,k). Thus, the rank of matrix A cannot exceed k, and k must be scalar.

Usage

cycol(n, k, m = NULL)

Arguments

n

number of columns of matrix

k

upper limit of rank

m

number of rows of matrix

Value

Matrix whose columns repeat cyclically


Create Dorr matrix

Description

Returns a n-by-n row diagonally dominant, tridiagonal matrix that is ill-conditioned for small nonnegative values of theta. The default value of theta is 0.01.

Usage

dorr(n, theta = 0.01)

Arguments

n

order of matrix

theta

determines conditionality. Ill-conditioned when theta is nonnegative.

Value

Dorr matrix of class 'dgcMatrix'.


Create anti-Hadamard matrix A

Description

Returns a n-by-n nonsingular matrix of 0's and 1's. With large determinant or inverse. If k=1, A is Toeplitz and abs(det(A))=1. If k=2, A is upper triangular and Toeplitz. If k=3, A has maximal determinant among (0,1) lower Hessenberg matrices. Also is Toeplitz.

Also known as an anti-Hadamard matrix.

Usage

dramadah(n, k = 1)

Arguments

n

order of matrix

k

decides type of matrix returned.

Value

Matrix of zeros and ones


Create Fiedler matrix

Description

Fiedler matrix that has a dominant positive eigenvalue and all others are negative

Usage

fiedler(c)

Arguments

c

N-vector. If c is a scalar, then returns fiedler(1:c)

Value

a symmetric dense matrix A with a dominant positive eigenvalue and all others are negative.


Create Forsythe matrix or perturbed Jordan block

Description

Returns a n-by-n matrix equal to the Jordan block with eigenvalue lambda, except that A[n,1]=alpha.

Usage

forsythe(n, alpha = .Machine$double.eps, lambda = 0)

Arguments

n

order of matrix

alpha

value of perturbation at A[n,1]

lambda

eigenvalue of Jordan block

Value

Forsythe matrix or perturbed Jordan block


Frank matrix of order N

Description

Frank matrix of order N. It is upper Hessenberg with determinant 1.

Usage

frank(n, k = 0)

Arguments

n

order of the matrix

k

If k is 1, the elements are reflected about the anti-diagonal.

Value

Frank matrix with ill-conditioned eigenvalues.


Create Toeplitz matrix with sensitive eigenvalues

Description

Eigenvalues are sensitive.

Usage

grcar(n, k = NULL)

Arguments

n

dimension of the square matrix

k

number of superdiagonals of ones

Value

n-by-n Toeplitz matrix with -1 on subdiagonal, 1 on diagonal, and k superdiagionals of 1s.


Hanowa matrix

Description

Matrix whose eigenvalues lie on vertical plane in complex plane. Returns a 2-by-2 block matrix with four n/2 by n/2 blocks. n must be an even integer.

[d*eye(m) -diag(1:m), diag(1:m) d*eye(m)]

Usage

hanowa(n, d = NULL)

Arguments

n

order of matrix

d

value of main diagonal

Value

Matrix whose eigenvalues lie on a vertical line in the complex plane.


Involutory matrix (a matrix that is its own inverse)

Description

a n-byn involutory matrix and ill-conditioned. It is a diagonally scaled version of a Hilbert matrix.

Usage

invol(n)

Arguments

n

order of matrix

Value

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


Create Jordan block matrix

Description

Returns a n-by-n Jordan block with eigenvalue lambda. The default is 1.

Usage

jordbloc(n, lambda = 1)

Arguments

n

order of matrix

lambda

eigenvalue of Jordan block

Value

Jordan block matrix


Create Lauchli Matrix

Description

the (N + 1) x (N) matrix [ones(1,n); mu*eye(n)]. Well-known example in least squares of the danger of forming t(A)

Usage

lauchli(n, mu = NULL, sparse = FALSE)

Arguments

n

number of columns

mu

constant applied to identity

sparse

whether matrix should be sparse

Value

Lauchli rectangular matrix.


Create Lehmer matrix

Description

the symmetric positive-definite matrix such that A[i,j] = i/j, for j >= i

Usage

lehmer(n)

Arguments

n

order of matrix

Value

Lehmer symmetric positive definite matrix.


Create Leslie population model matrix

Description

N by N matrix from Leslie population model with average birth and survival rates.

Usage

leslie(a, b = NULL, sparse = FALSE)

Arguments

a

average birth numbers (first row)

b

survival rates (subdiagonal)

sparse

whether to return a sparse matrix

Value

N by N Leslie population model matrix


Symmetric positive definite matrix MIN(i,j)

Description

The N-by-N SPD matrix with A[i,j]=min(i,j)

Usage

minij(n)

Arguments

n

order of the matrix

Value

Symmetric positive definite matrix with entries A[i,j]=min(i,j)


Create sparse diagonal matrix

Description

Creates a sparse representation of multiple diagonal matrix

Usage

spdiags(A, d, m, n)

Arguments

A

matrix where columns correspond to the desired diagonals

d

indices of the diagonals to be filled in. 0 is main diagonal. -1 is first subdiagonal and +1 is first superdiagonal.

m

row dim

n

col dim

Value

sparse diagonal matrix of class 'dgcMatrix'


Create sparse tridiagonal matrix

Description

Create a sparse tridiagonal matrix of dgcMatrix class.

Usage

tridiag(n, x = NULL, y = NULL, z = NULL)

Arguments

n

dimension of the square matrix

x

subdiagonal (-1)

y

diagonal (0)

z

superdiagonal (+1)

Value

Sparse tridiagonal matrix of class 'dgcMatrix'

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.