\newcommand{\mutual}{\ensuremath{{I}}}
\newcommand{\entropy}{\ensuremath{{H}}}
\newtheorem{lemma}{Lemma}
\newtheorem{proposition}{Proposition}
\newtheorem{fact}{Fact}
\newtheorem{example}{Example}
\newtheorem{prop}{Proposition}
\newtheorem{theorem}{Theorem}
\newtheorem{corollary}{Corollary}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\newcommand{\citeN}{\citet}
%\newcommand*{\defeq}{\stackrel{\text{def}}{=}}
\newcommand*{\defeq}{\equiv}
\newcommand{\var}{\mathop{\mathrm{Var}}}
\newcommand{\condexp}[2]{{\mathbb{E}}[#1|#2]}
\newcommand{\expt}[1]{{\mathbb{E}}[#1]}
\newcommand{\norm}[1]{\lVert#1\rVert}
\newcommand{\tr}[1]{#1^*}
\newcommand{\ip}[2]{\langle #1, #2 \rangle}
\newcommand{\mse}{\mathop{\mathrm{MSE}}}
\renewcommand{\epsilon}{\varepsilon}
\DeclareMathOperator{\trace}{tr}
\DeclareMathOperator*{\argmax}{arg\,max}
\DeclareMathOperator*{\argmin}{arg\,min}
\newcommand{\reals}{\ensuremath{\mathbb{R}}}
\newcommand{\naturals}{\ensuremath{\mathbb{N}}}
\newcommand{\prob}{\ensuremath{\mathrm{Pr}}}
\newcommand{\stratis}[1]{\textcolor{green}{Stratis: #1}}
\newcommand{\thibaut}[1]{\textcolor{blue}{Thibaut: #1}}
\newcommand{\T}[1]{#1^T}
\newcommand{\EDP}{EDP}
\newcommand{\SEDP}{EDP}
\newcommand{\E}{{\tt E}}
\newcommand{\id}{\mathbbm{1}}
\newcommand{\junk}[1]{}
\newcommand{\edp}{{\tt EDP}}
\newcommand{\dom}{\mathcal{D}}
\newcommand{\note}[1]{\textcolor{red}{#1}}

\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\algrenewcommand\algorithmicensure{\textbf{Output:}}
