=========
Glossary
=========
This is a reference of terms I thought required explanation when I used them in
a post or ones I wanted to list for myself.
.. glossary::
:sorted:
Observed Variable
Unobserved Variable
A factor that is a part of a statistical relationship like a
correlation or causation, and is (not) recorded in the data at hand.
TOML
Tom's Obvious, Minimal Language. A readable configuration file format.
Example:
.. code-block:: toml
title = "TOML Example"
[author]
name = "Stefan Wijnja"
website = "https://stfwn.com"
[database]
server = "192.168.8.1"
ports = [ 8001, 8001, 8002 ]
Cost Function
Loss Function
A mapping between an outcome and a real number that signifies the
*loss* or *cost* of that outcome. The *outcome* variable may be an
event like dropping hot cup of tea, in which case the cost is some
numerical value representing how terrible that is. More commonly the
*outcome* variable is a vector representing, for example, the
probability mass a function (like a neural network) assigned to an
input.
Hessian Matrix
A square matrix of the second-order partial derivatives of a function.
On the diagional are the partial derivatives in a single direction, and
the other spots are taken up by all the mixed-partial derivatives.
Example in 2D:
.. math::
\mathbf{H}f(x,y) = \begin{bmatrix}
\frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial xy}\\
\frac{\partial^2 f}{\partial yx} & \frac{\partial^2 f}{\partial y^2}
\end{bmatrix}
Unit Vector
A vector with norm of :math:`1`, i.e.: :math:`\sqrt{x \cdot x} = 1`.
Trace
The sum of the components on the main diagonal of a square matrix. The
trace has the property that for three matrices :math:`A, B, C`:
:math:`\mathrm{Tr}(ABC) = \mathrm{Tr}(BCA)`
RANSAC
Random Sample Consensus. Iterative method of fitting a model.
1. Draw :math:`s` samples from the data.
2. Fit the model to these samples.
3. Check how many points from the full dataset fall within an acceptable range
:math:`d` around the model - these are inliers.
4. Do this for :math:`N` iterations.
5. Choose the model with the most inliers and refit it to all inliers.
Common Time
:math:`4/4` time-signature, also denoted :math:`\mathcal{C}`.
Jacobian Matrix
Matrix of first-order partial derivatives of a vector-valued function.
If :math:`f` is a function that maps some vector :math:`\mathbf{x}` in
:math:`\mathbb{R}^n` to :math:`\mathbf{f(x)}` in :math:`\mathbb{R}^m`,
its Jacobian is:
.. math::
\mathbf{J} f =
\begin{bmatrix}
\frac{\partial \mathbf{f}}{\partial x_1} &
\dots &
\frac{\partial \mathbf{f}}{\partial x_n}
\end{bmatrix}
=
\begin{bmatrix}
\frac{\partial f_1}{\partial x_1} & \dots & \frac{\partial f_1}{\partial x_n}\\
\dots & \ddots & \vdots\\
\frac{\partial f_m}{\partial x_1} & \dots & \frac{\partial f_m}{\partial x_n}\\
\end{bmatrix}
Operator Overloading
Having an operator do different things depending on the type of the
arguments. For example, we are familiar with ``+`` adding numbers, but
the operator is often extended to support adding images, dates and
other datatypes.
Iverson Bracket
Notation that converts logical propositions inside the brackets to a
:math:`1` if true and :math:`0` if false. One application is to
mathematically include or exclude elements of vectors or sets in a
summation or product:
.. math::
\v x = \begin{bmatrix}1&3&7&9\end{bmatrix}\\
\sum_{i=1}^n \left[x_i > 5 \right] = 2
Signed Distance
The distance of a point to some surface, with the sign
signifying on which side of the surface the point is located.
Enharmonic Equivalence
Two notes, intervals, scales or chords are enharmonic equivalents if
they have different names but contain the exact same notes. Imagine a
building. The ceiling of the first floor and the floor of the second
floor are the same thing, but the naming is different depending on your
point of view.
Assembler
A program that translates a symbolic version of instructions
(:term`assembly language `) into the binary version
(:term:`machine language `).
Assembly Language
First layer of abstraction on top of :term:`machine language ` where one instruction in assembly (``add x5, x6, x6``) is
directly related to a bit sequence in machine language.
Machine Language
Language of bit sequences that are the lowest level computer
instructions.
DRAM
Dynamic Random Access Memory. Contains the program and data when they
are needed. DRAM is :term:`volatile ` and access times are
around 50 nanoseconds.
SRAM
Static Random Access Memory. Faster but less dense than :term:`DRAM`.
Used to cache instructions closer to the CPU. SRAM is :term:`volatile
` and access times are as low as 10 nanoseconds.
Instruction Set Architecture
Abstract interface between the hardware and the lowest level software.
It essentially defines the :term:`Machine Language`. Examples are
:term:`ARM` and :term:`RISC-V`.
ABI
Application Binary Interface. The definition of a standard for binary
portability across computers, consisting of a subset of the instruction
set and the interfaces made available by the operating system to do
things like I/O and allocating memory.
Volatile
Nonvolatile
The contents of volatile memory are lost when it loses power.
Flash Memory
:term:`Nonvolatile` memory. Faster but more expensive than magnetic
disks, slower but cheaper than :term:`DRAM`. Access times are 5 to 50
microseconds.
Magnetic Disk
:term:`Nonvolatile` memory on magnetized rotating disks. Cheaper than
:term:`Flash Memory` but also much slower, with access times of around
10 milliseconds.
LAN
Local Area Network. A network that carries data between devices located
in a geographically confied area, like a building or complex.
WAN
Wide Area Network. A network that carries data between devices spread
out over potentially hundreds of kilometers across continents.