% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ComputeMatrix.R
\name{CMIBiCondimat2matAll}
\alias{CMIBiCondimat2matAll}
\title{Normalized Conditional Mutual Information Between Each Row of Two Matrices Given Two Conditions}
\usage{
CMIBiCondimat2matAll(mat1, mat2, condi1, condi2, bin = NULL, sp_order = NULL)
}
\arguments{
\item{mat1}{A numeric matrix. For example, each row represents a gene and each column represents a sample.}

\item{mat2}{Another numeric matrix to compare against. Must have the same columns as `mat1`.}

\item{condi1}{A numeric condition vector, matching the number of columns in `mat1`.}

\item{condi2}{Another numeric condition vector, matching the number of columns in `mat1`.}

\item{bin}{An integer specifying the number of bins. Default is NULL.}

\item{sp_order}{An integer specifying the spline order. Must be less than `bin`. Default is NULL.}
}
\value{
A matrix where each element corresponds to the normalized conditional mutual information (CMI)
between each row of `mat1` and each row of `mat2`, conditioned on `condi1` and `condi2`.
}
\description{
Computes the normalized conditional mutual information (CMI) between each row of first matrix and each row of second matrix,
given two condition variables, normalized by their individual information content. CMI is calculated using
the specified number of bins and spline order.
}
\examples{
mat1 <- matrix(rnorm(1000), nrow = 10, ncol = 100)
mat2 <- matrix(rnorm(20000), nrow = 200, ncol = 100)
condi1 <- rnorm(100)
condi2 <- rnorm(100)
CMIBiCondimat2matAll(mat1, mat2, condi1, condi2)

}
