Adaptive Map Training#

template<typename MemorySpace>
std::shared_ptr<ConditionalMapBase<MemorySpace>> mpart::TrainMapAdaptive(std::vector<MultiIndexSet> &mset0, std::shared_ptr<MapObjective<MemorySpace>> objective, ATMOptions options)#

Adaptively discover new terms in coefficient basis to add to map using the ATM algorithm of Baptista, et al. 2022.

Template Parameters:

MemorySpace – Device or host space to work in

Parameters:
  • mset0 – vector storing initial (minimal) guess of multiindex sets, corresponding to each dimension. Is changed in-place.

  • objective – What this map should be adapted to fits

Returns:

std::shared_ptr<ConditionalMapBase<MemorySpace>> New map according to specifications.

struct ATMOptions : public mpart::MapOptions, public mpart::TrainOptions#

Both map and training options combined with special ATM options.

Public Functions

inline virtual std::string String() override#

Create a string representation of these options.

Returns:

std::string

ATMOptions() = default#
inline ATMOptions(MapOptions mapOpts, TrainOptions trainOpts, MultiIndex maxDegrees_, unsigned int maxPatience_, unsigned int maxSize_)#

Public Members

unsigned int maxPatience = 10#

Maximum number of iterations that do not improve error

unsigned int maxSize = std::numeric_limits<int>::max()#

Maximum number of coefficients in final expansion (including ALL dimensions of map)

MultiIndex maxDegrees#

Multiindex representing the maximum degree in each input dimension