# Components

In the following is a list of all components currently available in easi.

Every component has a domain m and a codomain n which can be thought of as a function $$f:\mathbb{R}^m \rightarrow \mathbb{R}^n$$. That is, a component accepts vectors in $$\mathbb{R}^m$$ and passes vectors in $$\mathbb{R}^n$$ to its child components (or as a result). The dimensions are labeled and a childs input dimensions must match its parent’s output dimensions.

## Composite components

Each composite may have a sequence of child components. Composite itself is abstract and may not be instantiated. Maps and Filters are always composite, builders are not.

!ABSTRACT
components:
- <Component>
- <Component>
- ...


example

Alternative for composites with a single child:

!ABSTRACT
components: <Component>


Remark: Composites must of at least one child component.