*Adaptive* Map Training Routines

`MParT.TrainMapAdaptive`

— Function`TrainMapAdaptive(msets, objective, options)`

Implements the ATM algorithm Baptista, et al.

Takes in initial guess of multiindex sets for each output dimension and adapts those sets to better approximate the probability distribution of interest using monotone transport maps.

**Examples**

`MParT.ATMOptions`

— Function``ATMOptions(;kwargs...)``

Options for using the Adaptive Transport Map algorithm from Baptista, et al.

Inherits all keywords from `MapOptions`

and `TrainOptions`

, plus the arguments below.

**Arguments**

`maxPatience::Int`

: Number of "stationary" algorithm iterations tolerated`maxSize::Int`

: the*total*number of multiindices in the*entire map*that the algorithm is allowed to add. Should be larger than the sum of the sizes of all multiindex sets across all dimensions for the map`maxDegrees::MultiIndex`

: The maximum degree of any expansion term for each dimension (should be length of dimensions of the map)

**Examples**

```
julia> maxDegrees = MultiIndex(2,3); # limit both dimensions by order 3
julia> ATMOptions(opt_alg="LD_SLSQP", maxDegrees=maxDegrees);
```

See also `TrainMapAdaptive`

, `TrainOptions`

, `MapOptions`