%%
% all references for the glossary as well as the abbreviation list and nomenclature
%%
% add glossary for nomenclature
\newglossary{nomenclature}{nom}{ncl}{Nomenklatur}

\shorthandon{"}
%--------------------
%main glossary
%--------------------
\newglossaryentry{overfitting}{
    name=Overfitting,
    description={
        Eine Approximation ist overfitted,
        wenn die Trainingsdaten sehr gut und Testdaten sehr schlecht approximiert werden.
    }
}
\newglossaryentry{underfitting}{
    name=Underfitting,
    description={
        Eine Approximation ist underfitted,
        wenn die Approximation so simple ist,
        dass weder Trainings"~ noch Testdaten gut approximiert werden.
    }
}

\newglossaryentry{full_rank_matrix}{
    name = Full Rank Matrix,
    description = {
        \say{Ist der Rang einer quadratischen Matrix gleich ihrer Zeilen- und Spaltenzahl, hat sie vollen Rang und ist regulär (invertierbar).
            Diese Eigenschaft lässt sich auch anhand ihrer Determinante feststellen.
            Eine quadratische Matrix hat genau dann vollen Rang, wenn ihre Determinante von null verschieden ist bzw. keiner ihrer Eigenwerte null ist.
        } (\url{https://de.wikipedia.org/wiki/Rang_(Mathematik)})
    }
}

%--------------------
%acronyms
%--------------------
\setabbreviationstyle[acronym]{long-short}

\newacronym{FRM}{FRM}{\gls{full_rank_matrix}}

%--------------------
%nomenclature
%--------------------

%add new key
\glsaddstoragekey{unit}{}{\glsentryunit}
\glsnoexpandfields

\newcommand{\newnom}[5]{
    \newglossaryentry{#1}{
        name={#2},
        symbol={#3},
        description={#4},
        unit={#5},
        type=nomenclature,
        sort={#1}
    }
}
%use nomenclature entry (name + symbol) nomF=>First letter upper case
\newcommand{\nomf}[1]{\glsentryname{#1} \texorpdfstring{\glslink{#1}{\boldmath\ensuremath{\glsentrysymbol{#1}}}}{}\xspace}
\newcommand{\nomF}[1]{\Glsentryname{#1} \texorpdfstring{\glslink{#1}{\boldmath\ensuremath{\glsentrysymbol{#1}}}}{}\xspace}
%use nomenclature entry (name) nomS=>First letter upper case
\newcommand{\noms}[1]{\glsentryname{#1}\xspace}
\newcommand{\nomS}[1]{\Glsentryname{#1}\xspace}
%use nomenclature entry (symbol only)
\newcommand{\nomsym}[1]{\texorpdfstring{\glslink{#1}{\ensuremath{\glsentrysymbol{#1}}}}{#1}\xspace}
%use nomenclature entry (use in equation)
\newcommand{\nomeq}[1]{\glslink{#1}{\glsentrysymbol{#1}}}

\newnom{summed_squared_error}{Summed Squared Error}{\text{SSE}}{}{}
\newnom{gaussian_noise}{Gausches Rauschen}{\epsilon}{zufällige (normalverteilte) Abweichung}{}
\newnom{vector_valued_function}{vektorwertige Funktion}{\phi(\bm{x})}{vektorwertige Funktion der des Eingangsvektor $\bm{x}$}{}
\newnom{regularization_factor}{Regularisierungsfaktor}{\lambda}{}{}
\newnom{identity_matrix}{Identitätsmatrix}{\bm{I}}{$\begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & 1 \end{bmatrix}$}{}
\newnom{probability_mass_function}{Probability Mass Function}{p(x)}{Wahrscheinlichkeitsdichte-\slash\,Wahrscheinlichkeitsmassefunktion}

\shorthandoff{"}

\makeglossaries

