Algebraic Operations
There are two algebraic types that can be added or multiplied with each other: AlgebraOfGraphics.Layer
and AlgebraOfGraphics.Layers
.
Multiplication on individual layers
Each layer is composed of data, mappings, and transformations. Datasets can be replaced, mappings can be merged, and transformations can be concatenated. These operations, taken together, define an associative operation on layers, which we call multiplication *
.
Multiplication is primarily useful to combine partially defined layers.
Addition
The operation +
is used to superimpose separate layers. a + b
has as many layers as la + lb
, where la
and lb
are the number of layers in a
and b
respectively.
Multiplication on lists of layers
Multiplication naturally extends to lists of layers. Given two Layers
objects a
and b
, containing la
and lb
layers respectively, the product a * b
contains la * lb
layers—all possible pair-wise products.