%
% A useful set of commands
\usepackage{mathtools}
\usepackage{dsfont}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{booktabs}
\usepackage{xfrac}
\usepackage{bbm}

\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{algorithmicx}

\usepackage[most]{tcolorbox}
\usepackage{xparse}
\usepackage{lipsum}
\usepackage{changepage}
\usepackage{enumitem}

\newcommand{\qedwhite}{\hfill \ensuremath{\Box}}
%http://www-db.stanford.edu/~manku/latex.html
%The itemize environment can be replaced by:
\newcommand{\squishlist}{
   \begin{list}{$\bullet$}
    { \setlength{\itemsep}{0pt}      \setlength{\parsep}{3pt}
      \setlength{\topsep}{3pt}       \setlength{\partopsep}{0pt}
      \setlength{\leftmargin}{1.5em} \setlength{\labelwidth}{1em}
      \setlength{\labelsep}{0.5em} } }

\newcommand{\squishlisttwo}{
   \begin{list}{$\bullet$}
    { \setlength{\itemsep}{0pt}    \setlength{\parsep}{0pt}
      \setlength{\topsep}{0pt}     \setlength{\partopsep}{0pt}
      \setlength{\leftmargin}{2em} \setlength{\labelwidth}{1.5em}
      \setlength{\labelsep}{0.5em} } }

\newcommand{\squishend}{
    \end{list}  }

%Example usage: \squishlist    %% \begin{itemize}
%\item First item
%\item Second item
%\squishend     %% \end{itemize}

\newcommand{\denselist}{\itemsep 0pt\topsep-6pt\partopsep-6pt}


\newtheorem{thm}{Theorem}[section]
\newtheorem{cor}{Corollary}[section]
\newtheorem{defn}{Definition}[section]
\newenvironment{mythm}{{\bf Theorem}}{}



\newcommand{\tm}{\tilde{m}}
\newcommand{\tv}{\tilde{v}}

% For bold vector symbols
\newcommand{\myvec}[1]{\boldsymbol{#1}}
\newcommand{\myvecsym}[1]{\boldsymbol{#1}}
\newcommand{\ind}[1]{\mathbb{I}(#1)}

\newcommand{\vzero}{\myvecsym{0}}
\newcommand{\vone}{\myvecsym{1}}
\newcommand{\valpha}{\myvecsym{\alpha}}
\newcommand{\vbeta}{\myvecsym{\beta}}
\newcommand{\vchi}{\myvecsym{\chi}}
\newcommand{\vdelta}{\myvecsym{\delta}}
\newcommand{\vDelta}{\myvecsym{\Delta}}
\newcommand{\vepsilon}{\myvecsym{\epsilon}}
\newcommand{\vell}{\myvecsym{\ell}}
\newcommand{\veta}{\myvecsym{\eta}}
\newcommand{\vgamma}{\myvecsym{\gamma}}
\newcommand{\vGamma}{\myvecsym{\Gamma}}
\newcommand{\vmu}{\myvecsym{\mu}}
\newcommand{\vnu}{\myvecsym{\nu}}
\newcommand{\vkappa}{\myvecsym{\kappa}}
\newcommand{\vlambda}{\myvecsym{\lambda}}
\newcommand{\vLambda}{\myvecsym{\Lambda}}
\newcommand{\vLambdaBar}{\overline{\vLambda}}
\newcommand{\vomega}{\myvecsym{\omega}}
\newcommand{\vOmega}{\myvecsym{\Omega}}
\newcommand{\vphi}{\myvecsym{\phi}}
\newcommand{\vPhi}{\myvecsym{\Phi}}
\newcommand{\vpi}{\myvecsym{\pi}}
\newcommand{\vpsi}{\myvecsym{\psi}}
\newcommand{\vPsi}{\myvecsym{\Psi}}
\newcommand{\vtheta}{\myvecsym{\theta}}
\newcommand{\vTheta}{\myvecsym{\Theta}}
\newcommand{\vsigma}{\myvecsym{\sigma}}
\newcommand{\vSigma}{\myvecsym{\Sigma}}
\newcommand{\vtau}{\myvecsym{\tau}}
\newcommand{\vupsilon}{\myvecsym{\upsilon}}
\newcommand{\vxi}{\myvecsym{\xi}}

\newcommand{\vxn}{\vx^{(n)}}

\newcommand{\vmuY}{\vb}
\newcommand{\vmuMu}{\vmu_{x}}
\newcommand{\vmuMuGivenY}{\vmu_{x|y}}
\newcommand{\vSigmaMu}{\vSigma_{x}}
\newcommand{\vSigmaMuInv}{\vSigma_{x}^{-1}}
\newcommand{\vSigmaMuGivenY}{\vSigma_{x|y}}
\newcommand{\vSigmaMuGivenYinv}{\vSigma_{x|y}^{-1}}
\newcommand{\vSigmaY}{\vSigma_{y}}
\newcommand{\vSigmaYinv}{\vSigma_{y}^{-1}}

%\newcommand{\vmuY}{\vmu_{y}}
%\newcommand{\vmuMu}{\vmu_{\mu}}
%\newcommand{\vmuMuGivenY}{\vmu_{\mu|y}}
%\newcommand{\vSigmaMu}{\vSigma_{\mu}}
%\newcommand{\vSigmaMuInv}{\vSigma_{\mu}^{-1}}
%\newcommand{\vSigmaMuGivenY}{\vSigma_{\mu|y}}
%\newcommand{\vSigmaMuGivenYinv}{\vSigma_{\mu|y}^{-1}}
%\newcommand{\vSigmaY}{\vSigma_{y}}
%\newcommand{\vSigmaYinv}{\vSigma_{y}^{-1}}

\newcommand{\muY}{\mu_{y}}
\newcommand{\muMu}{\mu_{\mu}}
\newcommand{\muMuGivenY}{\mu_{\mu|y}}
\newcommand{\SigmaMu}{\Sigma_{\mu}}
\newcommand{\SigmaMuInv}{\Sigma_{\mu}^{-1}}
\newcommand{\SigmaMuGivenY}{\Sigma_{\mu|y}}
\newcommand{\SigmaMuGivenYinv}{\Sigma_{\mu|y}^{-1}}
\newcommand{\SigmaY}{\Sigma_{y}}
\newcommand{\SigmaYinv}{\Sigma_{y}^{-1}}

\newcommand{\hatf}{\hat{f}}
\newcommand{\haty}{\hat{y}}
\newcommand{\const}{\mbox{const}}
\newcommand{\sigmoid}{\mbox{sigm}}

\newcommand{\one}{(1)}
\newcommand{\two}{(2)}

\newcommand{\va}{\myvec{a}}
\newcommand{\vb}{\myvec{b}}
\newcommand{\vc}{\myvec{c}}
\newcommand{\vd}{\myvec{d}}
\newcommand{\ve}{\myvec{e}}
\newcommand{\vf}{\myvec{f}}
\newcommand{\vg}{\myvec{g}}
\newcommand{\vh}{\myvec{h}}
\newcommand{\vj}{\myvec{j}}
\newcommand{\vk}{\myvec{k}}
\newcommand{\vl}{\myvec{l}}
\newcommand{\vm}{\myvec{m}}
\newcommand{\vn}{\myvec{n}}
\newcommand{\vo}{\myvec{o}}
\newcommand{\vp}{\myvec{p}}
\newcommand{\vq}{\myvec{q}}
\newcommand{\vr}{\myvec{r}}
\newcommand{\vs}{\myvec{s}}
\newcommand{\vt}{\myvec{t}}
\newcommand{\vu}{\myvec{u}}
\newcommand{\vv}{\myvec{v}}
\newcommand{\vw}{\myvec{w}}
\newcommand{\vws}{\vw_s}
\newcommand{\vwh}{\hat{\vw}}
\newcommand{\vx}{\myvec{x}}
%\newcommand{\vx}{\myvec{x}}
\newcommand{\vxt}{\myvec{\tilde{x}}}
\newcommand{\vy}{\myvec{y}}
\newcommand{\vyt}{\myvec{\tilde{y}}}
\newcommand{\vz}{\myvec{z}}

\newcommand{\vA}{\myvec{A}}
\newcommand{\vB}{\myvec{B}}
\newcommand{\vC}{\myvec{C}}
\newcommand{\vD}{\myvec{D}}
\newcommand{\vE}{\myvec{E}}
\newcommand{\vF}{\myvec{F}}
\newcommand{\vG}{\myvec{G}}
\newcommand{\vH}{\myvec{H}}
\newcommand{\vI}{\myvec{I}}
\newcommand{\vJ}{\myvec{J}}
\newcommand{\vK}{\myvec{K}}
\newcommand{\vL}{\myvec{L}}
\newcommand{\vM}{\myvec{M}}
\newcommand{\vN}{\myvec{N}}
\newcommand{\vO}{\myvec{O}}
\newcommand{\vP}{\myvec{P}}
\newcommand{\vQ}{\myvec{Q}}
\newcommand{\vR}{\myvec{R}}
\newcommand{\vS}{\myvec{S}}
\newcommand{\vT}{\myvec{T}}
\newcommand{\vU}{\myvec{U}}
\newcommand{\vV}{\myvec{V}}
\newcommand{\vW}{\myvec{W}}
\newcommand{\vX}{\myvec{X}}
%\newcommand{\vXs}{\vX_{\vs}}
\newcommand{\vXs}{\vX_{s}}
\newcommand{\vXt}{\myvec{\tilde{X}}}
\newcommand{\vY}{\myvec{Y}}
\newcommand{\vZ}{\myvec{Z}}


\newcommand{\vxtest}{\myvec{x}_*}
\newcommand{\vytest}{\myvec{y}_*}


\newcommand{\ftrue}{f_{true}}

\newcommand{\myprec}{\mbox{prec}}
\newcommand{\precw}{\lambda_{w}} % precision of weights (alpha)
\newcommand{\precy}{\lambda_{y}} % precision of y (beta)
\newcommand{\fbar}{\overline{f}}
\newcommand{\xmybar}{\overline{x}}
\newcommand{\ybar}{\overline{y}}
\newcommand{\zbar}{\overline{z}}
\newcommand{\vxbar}{\overline{\vx}}
\newcommand{\vXbar}{\overline{\vX}}
\newcommand{\vybar}{\overline{\vy}}
\newcommand{\vYbar}{\overline{\vY}}
\newcommand{\vzbar}{\overline{\vz}}
\newcommand{\vZbar}{\overline{\vZ}}
\newcommand{\xbar}{\overline{x}}
\newcommand{\Xbar}{\overline{X}}
\newcommand{\Ybar}{\overline{Y}}
\newcommand{\Gbar}{\overline{G}}
\newcommand{\Jbar}{\overline{J}}
\newcommand{\Lbar}{\overline{L}}
\newcommand{\Nbar}{\overline{N}}
%\newcommand{\Qbar}{\overline{Q}}
\newcommand{\Qbar}{\overline{Q}}
\newcommand{\Tbar}{\overline{T}}
\newcommand{\Sbar}{\overline{S}}
\newcommand{\vSbar}{\overline{\vS}}
\newcommand{\Rbar}{\overline{R}}

\newcommand{\vtaubar}{\overline{\vtau}}
\newcommand{\vtbar}{\overline{\vt}}
\newcommand{\vsbar}{\overline{\vs}}

\newcommand{\htilde}{\tilde{h}}
\newcommand{\vhtilde}{\tilde{\vh}}
\newcommand{\Dtilde}{\tilde{D}}
\newcommand{\Ftilde}{\tilde{F}}
\newcommand{\wtilde}{\tilde{w}}
\newcommand{\ptilde}{\tilde{p}}
\newcommand{\pemp}{p_{emp}}
\newcommand{\pstar}{p^*}
\newcommand{\xtilde}{\tilde{x}}
\newcommand{\Xtilde}{\tilde{X}}
\newcommand{\ytilde}{\tilde{y}}
\newcommand{\Ytilde}{\tilde{Y}}
\newcommand{\vxtilde}{\tilde{\vx}}
\newcommand{\vytilde}{\tilde{\vy}}
\newcommand{\ztilde}{\tilde{\z}}
\newcommand{\vztilde}{\tilde{\vz}}
\newcommand{\vthetaMAP}{\hat{\vtheta}_{MAP}}
\newcommand{\vthetaS}{\vtheta^{(s)}}
\newcommand{\vthetahat}{\hat{\vtheta}}
\newcommand{\thetahat}{\hat{\theta}}
\newcommand{\thetabar}{\overline{\theta}}
\newcommand{\vthetabar}{\overline{\vtheta}}
\newcommand{\pibar}{\overline{\pi}}
\newcommand{\vpibar}{\overline{\vpi}}


%\newcommand{\subsubsubsection}[1]{\paragraph{#1}}
\newcommand{\choice}[2]{\left(\!\!\! \begin{array}{c} #1 \\ #2\end{array} \!\!\!\right)}
\newcommand{\half}{\frac{1}{2}}
\newcommand{\defeq}{\stackrel{\rm def}{=}}
\newcommand{\real}{\mathbb{R}}

\newcommand{\given}{\|}
\newcommand{\indep}[2]{{#1} \perp {#2}}
\newcommand{\condindep}[3]{{#1} \perp {#2} | {#3}}
\newcommand{\condindepG}[3]{{#1} \perp_G {#2} | {#3}}
\newcommand{\condindepP}[3]{{#1} \perp_p {#2} | {#3}}
\newcommand{\depend}[2]{{#1} \not \perp {#2}}
\newcommand{\conddepend}[3]{{#1} \not \perp {#2} | {#3}}

\newcommand{\trans}[1]{{#1}^{\mathtt{T}}}
\newcommand{\inv}[1]{{#1}^{-1}}

\newcommand{\ra}{\rightarrow}
\newcommand{\lra}{\leftrightarrow}
\newcommand{\Ra}{\Rightarrow}
%\newcommand{\rv}{r.v.}
\newcommand{\la}{\leftarrow}
\newcommand{\tr}{\mbox{tr}}
\newcommand{\st}{\mbox{  s.t.  }}

\newcommand{\dom}{\mbox{dom}}
\newcommand{\bel}{\mbox{bel}}
\newcommand{\dsep}{\mbox{dsep}}
\newcommand{\sep}{\mbox{sep}}
\newcommand{\entails}{\models}
\newcommand{\range}{\mbox{range}}
\newcommand{\myspan}{\mbox{span}}
\newcommand{\nullspace}{\mbox{nullspace}}
\newcommand{\adj}{\mbox{adj}}

\newcommand{\nbd}{\mbox{nbd}}
\newcommand{\nbr}{\mbox{nbr}}
\newcommand{\anc}{\mbox{anc}}
\newcommand{\desc}{\mbox{desc}}
\newcommand{\pred}{\mbox{pred}}
\newcommand{\nondesc}{\mbox{nondesc}}
\newcommand{\pa}{\pi}
\newcommand{\ch}{\mbox{ch}}
\newcommand{\mb}{\mbox{mb}}
\newcommand{\connects}{\sim}


\newcommand{\betadist}{\mbox{Beta}}
\newcommand{\Betadist}{\mbox{Beta}}
\newcommand{\bernoulli}{\mbox{Ber}}
\newcommand{\Ber}{\mbox{Ber}}
\newcommand{\Binom}{\mbox{Bin}}
\newcommand{\NegBinom}{\mbox{NegBinom}}
\newcommand{\binomdist}{\mbox{Bin}}
\newcommand{\cauchy}{\mbox{Cauchy}}
\newcommand{\DE}{\mbox{DE}}
\newcommand{\Dir}{\mbox{Dir}}
\newcommand{\discrete}{\calM}
\newcommand{\Discrete}{\calM}
\newcommand{\expdist}{\mbox{Exp}}
\newcommand{\expon}{\mbox{Expon}}
\newcommand{\gammadist}{\mbox{Ga}}
\newcommand{\Ga}{\mbox{Ga}}
\newcommand{\gauss}{{\cal N}}
\newcommand{\IG}{\mbox{IG}}
\newcommand{\IGauss}{\mbox{InvGauss}}
\newcommand{\IW}{\mbox{IW}}
\newcommand{\Laplace}{\mbox{Lap}}
\newcommand{\Mu}{\mbox{Mu}}
\newcommand{\Multi}{\mbox{Mu}}
\newcommand{\NIX}{NI\chi^2}
\newcommand{\GIX}{NI\chi^2}
\newcommand{\NIG}{\mbox{NIG}}
\newcommand{\GIG}{\mbox{NIG}}
\newcommand{\NIW}{\mbox{NIW}}
\newcommand{\GIW}{\mbox{NIW}}
\newcommand{\MVNIW}{\mbox{NIW}}
\newcommand{\NW}{\mbox{NWi}}
\newcommand{\MVNIG}{\mbox{NIG}}
\newcommand{\NGdist}{\mbox{NG}}
\newcommand{\prob}{p}
\newcommand{\Poi}{\mbox{Poi}}
\newcommand{\Student}{{\cal T}}
\newcommand{\student}{{\cal T}}
\newcommand{\Wishart}{\mbox{Wi}}
\newcommand{\Wi}{\mbox{Wi}}
\newcommand{\unif}{\mbox{U}}
\newcommand{\etr}{\mbox{etr}}

\newcommand{\softmax}{\calS}
\newcommand{\soft}{\mbox{soft}}
\newcommand{\cond}{\mbox{cond}}
\newcommand{\sign}{\mbox{sign}}
\newcommand{\sgn}{\mbox{sgn}}
\newcommand{\iid}{\mbox{iid}}
\newcommand{\mle}{\mbox{mle}}
\newcommand{\myiff}{\mbox{iff}}
\newcommand{\pd}{\mbox{pd}}
\newcommand{\pdf}{\mbox{pdf }}
\newcommand{\cdf}{\mbox{cdf}}
\newcommand{\pmf}{\mbox{pmf}}
\newcommand{\wrt}{\mbox{wrt}}
\newcommand{\matlab}{{\sc MATLAB}}
\newcommand{\NETLAB}{{\sc NETLAB}}
\newcommand{\MLABA}{\mbox{PMTK}}
\newcommand{\BLT}{\mbox{PMTK}}
\newcommand{\PMTK}{\mbox{PMTK}}
\newcommand{\mywp}{\mbox{wp}}

\newcommand{\KLpq}[2]{\mathrm{KL}\left[{#1}\|{#2}\right]}
\newcommand{\KL}{\mbox{KL}}
\newcommand{\MI}{\mathbb{I}}
\newcommand{\MIxy}[2]{\mathbb{I}\left({#1};{#2}\right)}
\newcommand{\MIxyz}[3]{\mathbb{I}\left({#1};{#2}|{#3}\right)}
\newcommand{\entropy}[1]{\mathbb{H}\left({#1}\right)}
\newcommand{\entropypq}[2]{\mathbb{H}\left({#1}, {#2}\right)}


\newcommand{\vvec}{\mbox{vec}}
\newcommand{\kron}{\otimes}
\newcommand{\dof}{\mbox{dof}}
%\newcommand{\E}{E}
\newcommand{\E}{\mathbb{E}}
\newcommand{\energy}{E}
\newcommand{\expectAngle}[1]{\langle #1 \rangle}
%\newcommand{\expect}[1]{\mathbb{E}\left[ {#1} \right]}
\newcommand{\expect}[2]{\mathds{E}_{{#1}} \left[ {#2} \right]}
\newcommand{\expectGiven}[3]{\mathds{E}_{{#1}} \left[ {#2} \mid {#3} \right]}
\newcommand{\Var}{\mbox{Var}}
\newcommand{\VarGiven}[3]{\mbox{Var}_{{#1}}\left[ {#2} \mid {#3}\right]}
%\newcommand{\Var}{\mathbb{V}}
\newcommand{\var}[1]{\mbox{var}\left[{#1}\right]}
\newcommand{\std}[1]{\mbox{std}\left[{#1}\right]}
\newcommand{\varQ}[2]{\mbox{var}_{{#2}}\left[{#1}\right]}
\newcommand{\cov}[1]{\mbox{cov}\left[{#1}\right]}
%\newcommand{\mode}[1]{\mbox{mode}\left[{#1}\right]}
\newcommand{\median}[1]{\mbox{median}\left[{#1}\right]}



\newcommand{\diag}{\mbox{diag}}
\newcommand{\blkdiag}{\mbox{blkdiag}}
\newcommand{\bias}{\mbox{bias}}
\newcommand{\union}{\cup}
\newcommand{\intersect}{\cap}

\newcommand{\size}{\mbox{size}}
\newcommand{\trace}{\mbox{trace}}


\newcommand{\myc}{c}
\newcommand{\myi}{i}
\newcommand{\myj}{j}
\newcommand{\myk}{k}
\newcommand{\myn}{n}
\newcommand{\myq}{q}
\newcommand{\mys}{s}
\newcommand{\myt}{t}


\newcommand{\supp}{\mbox{supp}}


\newcommand{\calA}{{\cal A}}
\newcommand{\calB}{{\cal B}}
\newcommand{\calC}{{\cal C}}
\newcommand{\calD}{{\cal D}}
\newcommand{\calDx}{{\cal D}_x}
\newcommand{\calE}{{\cal E}}
\newcommand{\cale}{{\cal e}}
\newcommand{\calF}{{\cal F}}
\newcommand{\calG}{{\cal G}}
\newcommand{\calH}{{\cal H}}
\newcommand{\calHX}{{\cal H}_X}
\newcommand{\calHy}{{\cal H}_y}
\newcommand{\calI}{{\cal I}}
\newcommand{\calK}{{\cal K}}
\newcommand{\calM}{{\cal M}}
\newcommand{\calN}{{\cal N}}
\newcommand{\caln}{{\cal n}}
\newcommand{\calNP}{{\cal NP}}
\newcommand{\calMp}{\calM^+}
\newcommand{\calMm}{\calM^-}
\newcommand{\calMo}{\calM^o}
\newcommand{\Ctest}{C_*}
\newcommand{\calL}{{\cal L}}
\newcommand{\calP}{{\cal P}}
\newcommand{\calq}{{\cal q}}
\newcommand{\calQ}{{\cal Q}}
\newcommand{\calR}{{\cal R}}
\newcommand{\calS}{{\cal S}}
\newcommand{\calSstar}{\calS_*}
\newcommand{\calT}{{\cal T}}
\newcommand{\calV}{{\cal V}}
\newcommand{\calv}{{\cal v}}
\newcommand{\calX}{{\cal X}}
\newcommand{\calY}{{\cal Y}}

\newcommand{\Lone}{$\ell_1$}
\newcommand{\Ltwo}{$\ell_2$}

\newcommand{\mya}{\mbox{a}}
\newcommand{\myat}{\alpha_{t|t-1}}
\newcommand{\score}{\mbox{score}}
\newcommand{\AIC}{\mbox{AIC}}
\newcommand{\BIC}{\mbox{BIC}}
\newcommand{\BICcost}{\mbox{BIC-cost}}
\newcommand{\scoreBIC}{\mbox{score-BIC}}
\newcommand{\scoreBICL}{\mbox{score-BIC-L1}}
\newcommand{\scoreL}{\mbox{score-L1}}

\newcommand{\ecoli}{\mbox{{\it E. coli}}}
\newcommand{\doPearl}{\mbox{do}}
\newcommand{\data}{\calD}
\newcommand{\model}{\calM}
\newcommand{\dataTrain}{\calD_{\mbox{train}}}
\newcommand{\dataTest}{\calD_{\mbox{test}}}
\newcommand{\dataValid}{\calD_{\mbox{valid}}}
\newcommand{\futuredata}{\tilde{\calD}}
\newcommand{\algo}{\calA}
\newcommand{\fitAlgo}{\calF}
\newcommand{\predictAlgo}{\calP}
\newcommand{\err}{\mbox{err}}
\newcommand{\logit}{\mbox{logit}}
\newcommand{\parent}{\mbox{pa}}


%%%%%%%%%%% Hoyt

\newcommand{\conv}[1]{\,\,\,\displaystyle{\operatorname*{\longrightarrow}^{\,_{#1}\,}}\,\,\,}
\newcommand{\dconv}{\conv{D}}
\newcommand{\pconv}{\conv{P}}
\newcommand{\asconv}{\conv{AS}}
\newcommand{\lpconv}[1]{\conv{L^{#1}}}

\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{n}


\newcommand{\condSet}{\mathcal{S}}
\newcommand{\condSetC}{\mathcal{\lnot S}}

