\ProvidesPackage{header}

\usepackage[UKenglish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[a4paper]{geometry}
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath, amsthm, mathtools, amsfonts, amssymb}
\mathtoolsset{mathic}


% Common packages
\usepackage{wrapfig}
\usepackage{physics}
\usepackage{gensymb}
\usepackage[shortlabels]{enumitem}
\setlist[enumerate,1]{label={(\roman*)}}
\setlist[enumerate,2]{label={(\alph*)}}
\usepackage{relsize, siunitx, booktabs, algorithm2e, array, multirow, parskip}
\usepackage{tcolorbox}

\definecolor{lightpurple}{RGB}{239, 234, 255}
\definecolor{lightblue}{RGB}{230, 255, 255}
\definecolor{lightpink}{RGB}{255, 228, 255}
\tcbuselibrary{listings,breakable}

\tcolorboxenvironment{definition}{colback=lightpurple, colframe=white, breakable}
\tcolorboxenvironment{theorem}{colback=lightblue, colframe=white, breakable}
\tcolorboxenvironment{lemma}{colback=lightpink, colframe=white, breakable}
\tcolorboxenvironment{corollary}{colback=lightpurple, colframe=white, breakable}
\tcolorboxenvironment{proposition}{colback=lightpink, colframe=white, breakable}
\tcolorboxenvironment{claim}{colback=lightpurple, colframe=white, breakable}

\usepackage{hyperref}
\hypersetup{colorlinks=true, linktoc=all, linkcolor=black}

\numberwithin{equation}{section}

% Theorem environments
\theoremstyle{definition}
\newtheorem*{definition}{Definition}
\newtheorem*{example}{Example}
\newtheorem*{claim}{Claim}
\newtheorem*{theorem}{Theorem}
\newtheorem*{proposition}{Proposition}
\newtheorem*{lemma}{Lemma}
\newtheorem*{corollary}{Corollary}
\theoremstyle{remark}
\newtheorem*{note}{Note}
\newtheorem*{remark}{Remark}
\frenchspacing

% Math macros
% \DeclareDocumentCommand\mathbf{m}{\symbfup{#1}}
% \newcommand{\bm}[1]{\symbfup{#1}}
\DeclareDocumentCommand\vnabla{}{\nabla}
\DeclareDocumentCommand\dotproduct{}{\cdot}
\DeclareDocumentCommand\crossproduct{}{\times}
\newcommand{\x}{\mathbf{x}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}

\newcommand{\doubleline}[1]{\underline{\overline{#1}}}
\newcommand{\inv}[1]{{#1}^{-1}}
\newcommand{\pf}{\textit{Proof. }}
\DeclareMathOperator{\ima}{im}
\newcommand{\ddempty}{\mathrm{d}}
\newcommand{\dn}[2]{\mathrm{d}^#1#2}
\newcommand{\st}{\text{ s.t.\ }}
\newcommand{\contradiction}{\(\#\)}
\newcommand{\genset}[1]{\left\langle{} #1 \right\rangle}
\newcommand{\acts}{\curvearrowright}
\newcommand{\adjugate}[1]{\widetilde{#1}}
\newcommand{\mathhuge}[1]{\mathlarger{\mathlarger{\mathlarger{#1}}}}
\newcommand{\prob}[1]{\mathbb{P}\left({#1}\right)}
\newcommand{\expect}[1]{\mathbb{E}\left[{#1}\right]}
\newcommand{\Var}[1]{\Varop\left({#1}\right)}
\newcommand{\Cov}[1]{\Covop\left({#1}\right)}
\newcommand{\inner}[1]{\left\langle{#1}\right\rangle}
\DeclareMathOperator{\vecspan}{span}
\DeclareMathOperator{\Varop}{Var}
\DeclareMathOperator{\Covop}{Cov}
\DeclareMathOperator{\RePart}{Re}
\DeclareMathOperator{\ImPart}{Im}


\renewcommand{\Re}{\RePart}
\renewcommand{\Im}{\ImPart}

\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}

