\ProvidesPackage{notes_2023}

\usepackage{amsmath,amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{amsopn}
\usepackage{bookmark}
\usepackage{faktor}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{nicefrac}
\usepackage{stmaryrd}
\usepackage{marvosym}
\usepackage{float}
\usepackage{enumerate}
\usepackage{scalerel}
\usepackage{stackengine}
\usepackage{wasysym}

\usepackage{tikz-cd}

\usepackage{quiver}

\usepackage[italian]{babel}

\usepackage{tabularx}

% Setup preliminari
\setlength{\extrarowheight}{4pt}

\newcommand{\system}[1]{\begin{cases} #1 \end{cases}}

\newcommand{\wip}{\begin{center}\textit{Questo avviso sta ad indicare che questo documento è ancora una bozza e non è
			da intendersi né completo, né revisionato.}\end{center}}

\newcommand\hr{\vskip 0.05in \par\vspace{-.5\ht\strutbox}\noindent\hrulefill\par}

% Modalità matematica/fisica
\newcommand{\SMatrix}[1]{\begin{psmallmatrix}#1\end{psmallmatrix}}

\let\oldvec\vec
\renewcommand{\vec}[1]{\underline{#1}}

\newcommand{\con}{\text{con }}
\newcommand{\dove}{\text{dove }}
\newcommand{\E}{\text{ e }}
\newcommand{\altrimenti}{\text{altrimenti}}
\newcommand{\se}{\text{se }}
\newcommand{\tc}{\text{ t.c. }\!}
\newcommand{\epari}{\text{ è pari}}
\newcommand{\edispari}{\text{ è dispari}}

\newcommand{\nl}{\ \\}

\newcommand{\bigmid}{\;\middle\vert\;}

\newcommand{\lemmaref}[1]{\textit{Lemma \ref{#1}}}
\newcommand{\thref}[1]{\textit{Teorema \ref{#1}}}

\newcommand{\li}[0]{$\blacktriangleright\;\;$}

\newcommand{\tends}[1]{\xrightarrow[\text{$#1$}]{}}
\newcommand{\tendsto}[1]{\xrightarrow[\text{$x \to #1$}]{}}
\newcommand{\tendstoy}[1]{\xrightarrow[\text{$y \to #1$}]{}}
\newcommand{\tendston}[0]{\xrightarrow[\text{$n \to \infty$}]{}}

\setlength\parindent{0pt}

% Principio di induzione e setup dimostrativi.
\newcommand{\basestep}{\mbox{(\textit{passo base})}\;}
\newcommand{\inductivestep}{\mbox{(\textit{passo induttivo})}\;}

\newcommand{\rightproof}{\mbox{($\implies$)}\;}
\newcommand{\leftproof}{\mbox{($\impliedby$)}\;}

% Spesso utilizzati al corso di Fisica 1.
\newcommand{\dx}{\dot{x}}
\newcommand{\ddx}{\ddot{x}}
\newcommand{\dv}{\dot{v}}

\newcommand{\del}{\partial}
\newcommand{\tendstot}[0]{\xrightarrow[\text{$t \to \infty$}]{}}

\newcommand{\grad}{\vec{\nabla}}
\DeclareMathOperator{\rot}{rot}

\newcommand{\ihat}{\hat{i}}
\newcommand{\jhat}{\hat{j}}
\newcommand{\khat}{\hat{k}}

\newcommand{\der}[1]{\frac{d#1}{dx}}
\newcommand{\parx}{\frac{\del}{\del x}}
\newcommand{\pary}{\frac{\del}{\del y}}
\newcommand{\parz}{\frac{\del}{\del z}}

% Spesso utilizzati al corso di Analisi 1.
%\newcommand{\liminf}{\lim_{x \to \infty}}
\newcommand{\liminfty}{\lim_{x \to \infty}}
\newcommand{\liminftym}{\lim_{x \to -\infty}}
\newcommand{\liminftyn}{\lim_{n \to \infty}}
\newcommand{\limzero}{\lim_{x \to 0}}
\newcommand{\limzerop}{\lim_{x \to 0^+}}
\newcommand{\limzerom}{\lim_{x \to 0^-}}

\newcommand{\xbar}{\overline{x}}
\newcommand{\ybar}{\overline{y}}
\newcommand{\tbar}{\overline{t}}
\newcommand{\zbar}{\overline{z}}
\newcommand{\RRbar}{\overline{\RR}}

% Spesso utilizzati al corso di Geometria 2

\newcommand{\PP}{\mathbb{P}}
\newcommand{\PPGL}{\mathbb{P}\!\GL}

% Spesso utilizzati al corso di Geometria 1.

\DeclareMathOperator{\OO}{O} % gruppo ortogonale
\DeclareMathOperator{\SOO}{SO} % gruppo ortogonale speciale

\newcommand{\proj}[1]{\Matrix{#1 \\[0.03in] \hline 1}}
\newcommand{\projT}[1]{\Matrix{#1 & \rvline & 1}^\top}

\newcommand{\cc}{\mathcal{C}}

\let\AA\undefined
\DeclareMathOperator{\Iso}{Iso}
\newcommand{\AA}{\mathcal{A}}
\newcommand{\MM}{\mathcal{M}}
\newcommand{\KKxn}{\KK[x_1, \ldots, x_n]}

\let\ext\faktor
\newcommand{\quot}[1]{/{#1}}

\newcommand{\Aa}{\mathcal{A}}
\newcommand{\Ad}[1]{\mathcal{A}_{#1}}
\DeclareMathOperator{\An}{\mathcal{A}_n}
\DeclareMathOperator{\AnK}{\mathcal{A}_n(\KK)}
\DeclareMathOperator{\Giac}{Giac}

\DeclareMathOperator{\IC}{IC}
\DeclareMathOperator{\Aff}{Aff}
\DeclareMathOperator{\Orb}{Orb}
\DeclareMathOperator{\Stab}{Stab}
\DeclareMathOperator{\Gr}{Gr}
\newcommand{\vvec}[1]{\overrightarrow{#1}}

\newcommand{\conj}[1]{\overline{#1}}

\DeclareMathOperator{\PH}{PH}
\DeclareMathOperator{\PS}{PS}

\let\imm\Im
\let\Im\undefined
\DeclareMathOperator{\Im}{Im}
\DeclareMathOperator{\Rad}{Rad}
\newcommand{\restr}[2]{
	#1\arrowvert_{#2}
}

\newcommand{\innprod}[1]{\langle #1 \rangle}

\newcommand{\zerovecset}{\{\vec 0\}}
\newcommand{\bigzero}{\mbox{0}}
\newcommand{\rvline}{\hspace*{-\arraycolsep}\vline\hspace*{-\arraycolsep}}

\newcommand{\Idv}{\operatorname{Id}_V}
\newcommand{\Idw}{\operatorname{Id}_W}
\newcommand{\IdV}[1]{\operatorname{Id}_{#1}}
\DeclareMathOperator{\CI}{CI}
\DeclareMathOperator{\Bil}{Bil}
\DeclareMathOperator{\Mult}{Mult}
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\Ann}{Ann}
\DeclareMathOperator{\adj}{adj}
\DeclareMathOperator{\Cof}{Cof}
\DeclareMathOperator{\pr}{pr}
\DeclareMathOperator{\Sp}{sp}

\newcommand{\dperp}{{\perp\perp}}

\newcommand{\Eigsp}[0]{V_{\lambda}}
\newcommand{\Gensp}[0]{\widetilde{V_{\lambda}}}
\newcommand{\eigsp}[1]{V_{\lambda_{#1}}}
\newcommand{\gensp}[1]{\widetilde{V_{\lambda_{#1}}}}
\newcommand{\genspC}[1]{\widetilde{V_{#1}}}

\DeclareMathOperator{\val}{val}
\DeclareMathOperator{\Span}{Span}
\newcommand{\charpoly}[1]{p_{#1}}
\newcommand{\charpolyrestr}[2]{p_{#1\arrowvert_#2}\hspace{-1pt}(\lambda)}
\newcommand{\minpoly}[1]{\varphi_{#1}}
\newcommand{\valf}{\val_f}
\newcommand{\valfv}{\val_{f,\V}}
\newcommand{\e}[1]{\vec{e_{#1}}}
\newcommand{\V}{\vec{v}}
\newcommand{\VV}[1]{\vec{v_{#1}}}
\newcommand{\basisdual}{\dual{\basis}}
\newcommand{\vecdual}[1]{\vec{\dual{#1}}}
\newcommand{\vecbidual}[1]{\vec{\bidual{#1}}}
\newcommand{\NMatrix}[1]{\begin{matrix} #1 \end{matrix}}
\newcommand{\Matrix}[1]{\begin{pmatrix} #1 \end{pmatrix}}
\newcommand{\Vector}[1]{\begin{pmatrix} #1 \end{pmatrix}}

\DeclareMathOperator{\rg}{rg}

\let\v\undefined
\newcommand{\v}{\vec{v}}
\newcommand{\vv}[1]{\vec{v_{#1}}}
\newcommand{\w}{\vec{w}}
\newcommand{\U}{\vec{u}}
\newcommand{\ww}[1]{\vec{w_{#1}}}
\newcommand{\uu}[1]{\vec{u_{#1}}}
\newcommand{\x}{\vec{x}}
\newcommand{\xx}[1]{\vec{x_{#1}}}
\newcommand{\y}{\vec{y}}
\newcommand{\yy}[1]{\vec{y_{#1}}}

\newcommand{\mapstoby}[1]{\xmapsto{#1}}
\newcommand{\oplusperp}{\oplus^\perp}

% Spesso utilizzati durante il corso di Algebra 1

\newcommand{\Dn}{D_n}
\newcommand{\Sn}{S_n}

\newcommand{\bij}{\leftrightarrow}
\newcommand{\ZZmod}[1]{\ZZ \quot #1 \ZZ}
\newcommand{\cleq}[1]{\overline{#1}}

\newcommand{\rotations}{\mathcal{R}}
\newcommand{\gen}[1]{\langle #1 \rangle}
\DeclareMathOperator{\Cl}{Cl}

\newcommand{\actson}{\circlearrowleft}
\newcommand{\Cyc}[1]{\left<#1\right>}

% Comandi personali.

\newcommand{\card}[1]{\left|#1\right|}
\newcommand{\nsqrt}[2]{\!\sqrt[#1]{#2}\,}
\newcommand{\zeroset}{\{0\}}
\newcommand{\setminuszero}{\setminus \{0\}}

\newenvironment{solution}
{\textit{Soluzione.}\,}

\theoremstyle{definition}

\let\abstract\undefined
\let\endabstract\undefined

\newtheorem*{abstract}{Abstract}
\newtheorem*{algorithm}{Algoritmo}
\newtheorem*{corollary}{Corollario}
\newtheorem*{definition}{Definizione}
\newtheorem*{example}{Esempio}
\newtheorem{exercise}{Esercizio}
\newtheorem{lemma}{Lemma}
\newtheorem*{nlemma}{Lemma}
\newtheorem*{note}{Nota}
\newtheorem*{remark}{Osservazione}
\newtheorem*{proposition}{Proposizione}
\newtheorem*{summary}{Sommario}
\newtheorem*{theorem}{Teorema}

\newcommand{\basis}{\mathcal{B}}
\newcommand{\BB}{\mathcal{B}}

\newcommand{\basisC}{\mathcal{B}}

\newcommand{\HH}{\mathbb{H}}

\newcommand{\FFp}[1]{\mathbb{F}_p}
\newcommand{\FFpx}[1]{\mathbb{F}_p[x]}

\newcommand{\CCx}{\mathbb{C}[x]}

\newcommand{\KK}{\mathbb{K}}
\newcommand{\KKx}{\mathbb{K}[x]}

\newcommand{\QQx}{\mathbb{Q}[x]}
\newcommand{\RRx}{\mathbb{R}[x]}

\newcommand{\ZZi}{\mathbb{Z}[i]}
\newcommand{\ZZp}{\mathbb{Z}_p}
\newcommand{\ZZpx}{\mathbb{Z}_p[x]}
\newcommand{\ZZx}{\mathbb{Z}[x]}

\newcommand{\ii}{\mathbf{i}}
\newcommand{\jj}{\mathbf{j}}
\newcommand{\kk}{\mathbf{k}}

\newcommand{\bidual}[1]{#1^{**}}
\newcommand{\dual}[1]{#1^{*}}
\newcommand{\LL}[2]{\mathcal{L} \left(#1, \, #2\right)} % L(V, W)
\newcommand{\Ll}{\mathcal{L}}

\newcommand{\nsg}{\triangleleft} % sottogruppo normale proprio
\newcommand{\nsgeq}{\trianglelefteqslant} % sottogruppo normale

% evan.sty original commands
\newcommand{\cbrt}[1]{\sqrt[3]{#1}}
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
\newcommand{\ceiling}[1]{\left\lceil #1 \right\rceil}
\newcommand{\mailto}[1]{\href{mailto:#1}{\texttt{#1}}}
\newcommand{\eps}{\varepsilon}
\newcommand{\vocab}[1]{\textbf{\color{blue}\sffamily #1}}
\providecommand{\alert}{\vocab}
\newcommand{\catname}{\mathsf}
\providecommand{\arc}[1]{\wideparen{#1}}

% From H113 "Introduction to Abstract Algebra" at UC Berkeley
\newcommand{\CC}{\mathbb C}
\newcommand{\FF}{\mathbb F}
\newcommand{\NN}{\mathbb N}
\newcommand{\QQ}{\mathbb Q}
\newcommand{\RR}{\mathbb R}
\newcommand{\ZZ}{\mathbb Z}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Inn}{Inn}
\DeclareMathOperator{\Syl}{Syl}
\DeclareMathOperator{\Gal}{Gal}
\DeclareMathOperator{\GL}{GL}
\DeclareMathOperator{\SL}{SL}

% From Kiran Kedlaya's "Geometry Unbound"
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}
\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}
\newcommand{\dang}{\measuredangle} %% Directed angle
\newcommand{\ray}[1]{\overrightarrow{#1}}
\newcommand{\seg}[1]{\overline{#1}}

% From M275 "Topology" at SJSU
\newcommand{\Id}{\mathrm{Id}}
\newcommand{\id}{\mathrm{id}}
\newcommand{\taking}[1]{\xrightarrow{#1}}
\newcommand{\inv}{^{-1}}

\DeclareMathOperator{\ord}{ord}
\newcommand{\defeq}{\overset{\mathrm{def}}{=}}
\newcommand{\defiff}{\overset{\mathrm{def}}{\iff}}

% From the USAMO .tex files
\newcommand{\dg}{^\circ}

\newcommand{\liff}{\leftrightarrow}
\newcommand{\lthen}{\rightarrow}
\newcommand{\opname}{\operatorname}
\newcommand{\surjto}{\twoheadrightarrow}
\newcommand{\injto}{\hookrightarrow}

% Alcuni degli operatori più comunemente utilizzati.

\DeclareMathOperator{\Char}{char}
\DeclareMathOperator{\Dom}{Dom}
\DeclareMathOperator{\Fix}{Fix}
\DeclareMathOperator{\End}{End}
\DeclareMathOperator{\existsone}{\exists !}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Imm}{Imm}
\DeclareMathOperator{\Ker}{Ker}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\MCD}{MCD}
\DeclareMathOperator{\Mor}{Mor}
\DeclareMathOperator{\mcm}{mcm}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\tr}{tr}

% Reimposta alcuni simboli presenti di default in LaTeX con degli analoghi
% più comuni.

\let\oldemptyset\emptyset
\let\emptyset\varnothing

% Trasforma alcuni simboli in operatori matematici.

\let\oldcirc\circ
\let\circ\undefined
\DeclareMathOperator{\circ}{\oldcirc}

\let\oldexists\exists
\let\exists\undefined
\DeclareMathOperator{\exists}{\oldexists}

\let\oldforall\forall
\let\forall\undefined
\DeclareMathOperator{\forall}{\oldforall}

\let\oldnexists\nexists
\let\nexists\undefined
\DeclareMathOperator{\nexists}{\oldnexists}

\let\oldland\land
\let\land\undefined
\DeclareMathOperator{\land}{\oldland}

\let\oldlnot\lnot
\let\lnot\undefined
\DeclareMathOperator{\lnot}{\oldlnot}

\let\oldlor\lor
\let\lor\undefined
\DeclareMathOperator{\lor}{\oldlor}

\DeclareOption{counter}{
	\let\algorithm\@undefined
	\let\endalgorithm\@undefined
	\let\corollary\@undefined
	\let\endcorollary\@undefined
	\let\c@lemma\@undefined
	\let\lemma\@undefined
	\let\endlemma\@undefined
	\let\proposition\@undefined
	\let\endproposition\@undefined
	\let\theorem\@undefined
	\let\endtheorem\@undefined
	
	\newtheorem{algorithm}{Algoritmo}[chapter]
	\newtheorem{corollary}{Corollario}[chapter]
	\newtheorem{lemma}{Lemma}[chapter]
	\newtheorem{proposition}{Proposizione}[chapter]
	\newtheorem{theorem}{Teorema}[chapter]
}

\ProcessOptions\relax

\author{di Gabriel Antonio Videtta}	
\date{\vspace{-0.5cm}}
