Package 'admmDensestSubmatrix'

Title: Alternating Direction Method of Multipliers to Solve Dense Dubmatrix Problem
Description: Solves the problem of identifying the densest submatrix in a given or sampled binary matrix, Bombina et al. (2019) <arXiv:1904.03272>.
Authors: Brendan Ames <[email protected]>, Polina Bombina <[email protected]>
Maintainer: Polina Bombina <[email protected]>
License: CC0
Version: 0.1.0
Built: 2025-02-19 04:59:17 UTC
Source: https://github.com/cran/admmDensestSubmatrix

Help Index


densub

Description

Iteratively solves the convex optimization problem using ADMM.

Usage

densub(G, m, n, tau = 0.35, gamma = 6/(sqrt(m * n) * (q - p)),
  opt_tol = 1e-04, maxiter, quiet = TRUE)

Arguments

G

sampled binary matrix

m

number of rows in dense submatrix

n

number of columns in dense submatrix

tau

penalty parameter for equality constraint violation

gamma

l1l_1 regularization parameter

opt_tol

stopping tolerance in algorithm

maxiter

maximum number of iterations of the algorithm to run

quiet

toggles between displaying intermediate statistics

Details

minX+gammaY1+1OmegaW(W)+1OmegaQ(Q)+1OmegaZ(Z)min |X|_* + gamma* |Y|_1 + 1_Omega_W (W) + 1_Omega_Q (Q) + 1_Omega_Z (Z)

s.t XY=0X - Y = 0, X=WX = W, X=ZX = Z,

where OmegaW(W)Omega_W (W), OmegaQ(Q)Omega_Q (Q), OmegaZ(Z)Omega_Z (Z) are the sets: OmegaW=WinRMxNeTWe=mnOmega_W = {W in R^MxN | e^TWe = mn}

OmegaQ=QinRMxNProjectionofQonnotN=0Omega_Q = {Q in R^MxN | Projection of Q on not N = 0}

OmegaZ=ZinRMxNZij<=1forall(i,j)inMxNOmega_Z = {Z in R^MxN | Z_ij <= 1 for all (i,j) in M x N}

OmegaQ=QinRMxNProjectionofQonnotN=0Omega_Q = {Q in R^MxN | Projection of Q on not N = 0}

OmegaZ=ZinRMxNZij<=1forall(i,j)inMxNOmega_Z = {Z in R^MxN | Z_ij <= 1 for all (i,j) in M x N}

1S1_S is the indicator function of the set SS in RMxNR^MxN such that 1S(X)=01_S(X) = 0 if XX in SS and +infinity otherwise

Value

Rank one matrix with mnmn nonzero entries, matrix YY that is used to count the number of disagreements between GG and XX


Soft threshholding operator.

Description

Applies the shrinkage operator for singular value tresholding.

Usage

mat_shrink(K, tau)

Arguments

K

matrix

tau

regularization parameter

Value

Matrix

Examples

mat_shrink(matrix(c(1,0,0,0,1,1,1,1,1), nrow=3, ncol=3, byrow=TRUE),0.35)

Sample matrix

Description

Generates binary (M,N)(M,N) - matrix sampled from dense (m,n)(m,n) - submatrix.

Usage

plantedsubmatrix(M, N, m, n, p, q)

Arguments

M

number of rows in sampled matrix

N

number of rows in sampled matrix

m

number of rows in dense submatrix

n

natural number used to calculate number of rows in dense submatrix

p

density outside planted submatrix

q

density inside planted submatrix

Details

Let UU* and VV* be mm and nn index sets. For each i in U*, j in V* we let aij=1a_ij = 1 with probability qq and 00 otherwise. For each remaining ijij we set aij=1a_ij = 1 with probability p<qp < q and take aij=0a_ij = 0 otherwise.

Value

Matrix GG sampled from the planted dense (mn)(mn)-submatrix model, dense sumbatrix X0X0, matrix Y0Y0 used to count the number of disagreements between GG and X0X0

Examples

plantedsubmatrix(10,10,1,2,0.25,0.75)