% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/generate_skew_laplace.R
\name{generate_skew_laplace}
\alias{generate_skew_laplace}
\title{Generate Multivariate Skew Laplace Random Vectors}
\usage{
generate_skew_laplace(n, p, alpha, gamma, Sigma)
}
\arguments{
\item{n}{Number of observations (rows) to generate.}

\item{p}{Dimension of each observation (columns).}

\item{alpha}{Numeric vector of length \code{p} giving the location (shift) parameter. Can be a scalar if \code{p = 1}.}

\item{gamma}{Numeric vector of length \code{p} giving the skewness parameter for each coordinate. Can be a scalar if \code{p = 1}.}

\item{Sigma}{A \eqn{p \times p} positive definite covariance matrix for the Gaussian component \eqn{Z}.}
}
\value{
An \code{n x p} matrix where each row is a draw from the specified multivariate skew Laplace distribution.
}
\description{
Generates a matrix of independent draws from a multivariate skew Laplace distribution with location vector \eqn{\alpha}, scale matrix \eqn{\Sigma}, and skewness parameter \eqn{\gamma}. Each observation is constructed as \eqn{\epsilon = \alpha + \gamma V + \sqrt{V} Z}, where \eqn{V \sim \text{Gamma}((p+1)/2, 1/2)} and \eqn{Z \sim N_p(0, \Sigma)} independent of \eqn{V}.
}
\examples{
set.seed(123)
p <- 3
alpha <- c(0.1, -0.2, 0.0)
gamma <- c(0.5, 0.3, -0.4)
Sigma <- diag(p)
X <- generate_skew_laplace(100, p, alpha, gamma, Sigma)
pairs(X)

}
