% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/rgml0.R
\name{rgml0}
\alias{rgml0}
\title{Random graphical model estimation under L0-penalty}
\usage{
rgml0(
  S,
  theta.jump = 0.1,
  n.iter = 5,
  gamma0 = 1000,
  gammastop = 1e-04,
  IMsteps = 2,
  gammastep = 1.1,
  force.zero = TRUE,
  threshold = 1e-07,
  use_diag = FALSE
)
}
\arguments{
\item{S}{A numeric covariance matrix.}

\item{theta.jump}{Step size for candidate theta values.}

\item{n.iter}{Number of inner iterations.}

\item{gamma0}{Initial gamma value.}

\item{gammastop}{Stopping value for gamma.}

\item{IMsteps}{Currently unused.}

\item{gammastep}{Factor used to decrease gamma.}

\item{force.zero}{Logical flag (currently unused).}

\item{threshold}{Threshold for binarizing the precision matrix.}

\item{use_diag}{Logical flag (currently unused).}
}
\value{
A list where each element contains:
\describe{
\item{precision_matrix}{Estimated precision matrix.}
\item{binary_precision_matrix}{Thresholded binary matrix.}
\item{theta}{Theta value used.}
\item{sample_index}{Index of theta.}
}
}
\description{
Estimates sparse precision matrices from a covariance matrix using
an iterative sparse-step approximation under an L0-style penalty.
The method evaluates a grid of theta values and returns both
continuous and binary precision matrices representing the inferred
network structure.
}
\examples{
S <- diag(3)
out <- rgml0(S, theta.jump = 0.4, n.iter = 1,
             gamma0 = 1, gammastop = 0.1, gammastep = 2)
length(out)

}
