Learn R Programming

KernelICA (version 0.1.0)

MD_distant_matrices: MD Distant Matrices

Description

Creates orthogonal matrices in the Stiefel manifold, which are distant to each other by the MD index and optionally also distant to a given set of matrices.

Usage

MD_distant_matrices(p, n = 1, mat_list = list(), bestof = 10)

Arguments

p

The dimension of the orthogonal matrices.

n

The length of the returned matrix list.

mat_list

A list of already existing orthogonal matrices.

bestof

The number of candidates evaluated for each new matrix.

Value

A list which contains the already given and the additionally created matrices.

Details

If a matrix list should be created from scratch, i.e. the parameter mat_list was not provided, then the first orthogonal matrix of the returned list is randomly generated by ICtest::rorth. If n is larger than one or if a matrix list was provided, then for each additional matrix \(M_{k+1}\) we consider the distance \(\min(\textrm{MD}(M_1, M_{k+1}),\textrm{MD}(M_2, M_{k+1}),\dots, \textrm{MD}(M_k, M_{k+1}))\) to all previous list entries. This distance is evaluated for bestof randomly generated orthogonal candidate matrices from which the furthest is selected.

See Also

rorth

Examples

Run this code
# NOT RUN {
# creates one orthogonal 3x3 matrix (result of ICtest::rorth(3)), wrapped in a list
MD_distant_matrices(3, 1)

# creates a 4x4 matrix, distant to the unit matrix and returns both
MD_distant_matrices(4, 2, mat_list = list(diag(4)))

# creates two orthogonal 3x3 matrices with more candidates to get better distances.
m <- MD_distant_matrices(3, 2, bestof = 20)
JADE::MD(m[[1]], m[[2]])
# }

Run the code above in your browser using DataLab