% Referencing labels
\newcommand{\Fig}[1]{Fig.~\ref{fig:#1}}
\newcommand{\Figure}[1]{Figure~\ref{fig:#1}}
\newcommand{\Tab}[1]{Tab.~\ref{tab:#1}}
\newcommand{\Table}[1]{Table~\ref{tab:#1}}
\newcommand{\Alg}[1]{Alg.~\ref{alg:#1}}
\newcommand{\Algorithm}[1]{Algorithm~\ref{alg:#1}}

\newcommand{\SupFig}[1]{Supporting Information Fig.~S\ref{fig:S#1}}
\newcommand{\SupFigure}[1]{Supporting Information Figure~S\ref{fig:S#1}}
\newcommand{\SupTab}[1]{Supporting Information Tab.~S\ref{tab:S#1}}
\newcommand{\SupTable}[1]{Supporting Information Table~S\ref{tab:S#1}}

\newcommand{\eq}[1]{(\ref{eq:#1})}
\newcommand{\Eq}[1]{Eq.~\ref{eq:#1}}
\newcommand{\Equation}[1]{Equation~\ref{eq:#1}}
\newcommand{\Sec}[1]{Sec.~\ref{sec:#1}}
\newcommand{\Section}[1]{Section~\ref{sec:#1}}
\newcommand{\Appendix}[1]{Appendix~\ref{app:#1}}
\usepackage{amsmath}
% Maths vectors
\usepackage{bbold}
\renewcommand\vec{\mathbf}
\newcommand{\mat}{\mathbf}

% Basic math symbols
\DeclareMathOperator*{\argmin}{argmin}
\DeclareMathOperator*{\argmax}{argmax}
\DeclareMathOperator*{\diag}{diag}
\newcommand{\loss}[1]{\mathcal{L}_\text{#1}}
\newcommand{\expect}{\mathbb{E}}
\newcommand{\real}{\mathbb{R}}
\newcommand{\complex}{\mathbb{C}}

% \usepackage{algorithm}% http://ctan.org/pkg/algorithm
% \usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
% \renewcommand{\algorithmicrequire}{\textbf{Input:}}
% \renewcommand{\algorithmicensure}{\textbf{Output:}}

% No-indent itemize
\usepackage{enumitem}
\setlist[itemize]{noitemsep, topsep=0pt}
\setlist[enumerate]{nosep}

% % Subfigures
\usepackage{caption}
% \usepackage{subcaption}

% Tables
\usepackage{multirow}
\usepackage{graphicx}

% Side caption
\usepackage{sidecap}

\usepackage{float}

\usepackage[flushleft]{threeparttable}

\usepackage{amssymb}
\usepackage{bm}


\usepackage{pifont}% http://ctan.org/pkg/pifont
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\crossmark}{\xmark}
\usepackage{amssymb}

\usepackage{booktabs} 

\SetKwInOut{KwInput}{Input}
\SetKwInOut{KwOutput}{Output}
