TransportMaps.Maps.ParametricMapBase

Module Contents

Classes

ParametricMap

Abstract map \(T:\mathbb{R}^{d_a}\times\mathbb{R}^{d_x}\rightarrow\mathbb{R}^{d_y}\)

class TransportMaps.Maps.ParametricMapBase.ParametricMap(**kwargs)[source]

Bases: TransportMaps.Maps.MapBase.Map

Abstract map \(T:\mathbb{R}^{d_a}\times\mathbb{R}^{d_x}\rightarrow\mathbb{R}^{d_y}\)

abstract property n_coeffs[source]

Returns the total number of coefficients.

Returns:

(int) – total number \(N\) of

coefficients characterizing the map.

Raises:

NotImplementedError – needs to be implemented in subclasses

abstract property coeffs[source]

Returns the actual value of the coefficients.

Returns:

(ndarray [\(N\)]) – coefficients.

Raises:

NotImplementedError – needs to be implemented in subclasses

get_n_coeffs()[source]
get_coeffs()[source]
_set_coeffs(coeffs)[source]
set_coeffs(coeffs)[source]
abstract get_identity_coeffs()[source]

[Abstract] Returns the coefficients corresponding to the identity map

Returns:

coefficients

Return type:

(ndarray [\(N\)])

Raises:

NotImplementedError – must be implemented in subclasses.

abstract grad_a(x, precomp=None, idxs_slice=slice(None))[source]

Compute \(\nabla_{\bf a} T[{\bf a}]({\bf x})\)

Parameters:
  • x (ndarray [\(m,d\)]) – evaluation points

  • precomp (dict) – dictionary of precomputed values

  • idxs_slice (slice) – if precomputed values are present, this parameter indicates at which of the points to evaluate. The number of indices represented by idxs_slice must match x.shape[0].

Returns:

(ndarray) – gradient

Raises:

NotImplementedError – needs to be implemented in subclasses

abstract tuple_grad_a(x, precomp=None, idxs_slice=slice(None))[source]

Compute \((T[{\bf a}]({\bf x}), \nabla_{\bf a} T[{\bf a}]({\bf x})\)

Parameters:
  • x (ndarray [\(m,d\)]) – evaluation points

  • precomp (dict) – dictionary of precomputed values

  • idxs_slice (slice) – if precomputed values are present, this parameter indicates at which of the points to evaluate. The number of indices represented by idxs_slice must match x.shape[0].

Returns:

(ndarray) – gradient

Raises:

NotImplementedError – needs to be implemented in subclasses

abstract hess_a(x, precomp=None, idxs_slice=slice(None))[source]

Compute \(\nabla^2_{\bf a} T[{\bf a}]({\bf x})\)

Parameters:
  • x (ndarray [\(m,d\)]) – evaluation points

  • precomp (dict) – dictionary of precomputed values

  • idxs_slice (slice) – if precomputed values are present, this parameter indicates at which of the points to evaluate. The number of indices represented by idxs_slice must match x.shape[0].

Returns:

(ndarray) – Hessian

Raises:

NotImplementedError – needs to be implemented in subclasses

abstract action_hess_a(x, da, precomp=None, idxs_slice=slice(None))[source]

Compute \(\langle\nabla^2_{\bf a} T[{\bf a}]({\bf x}), \delta{\bf a}\rangle\)

Parameters:
  • x (ndarray [\(m,d\)]) – evaluation points

  • da (ndarray [\(N\)]) – direction on which to evaluate the Hessian

  • precomp (dict) – dictionary of precomputed values

  • idxs_slice (slice) – if precomputed values are present, this parameter indicates at which of the points to evaluate. The number of indices represented by idxs_slice must match x.shape[0].

Returns:

(ndarray) – action of the Hessian

Raises:

NotImplementedError – needs to be implemented in subclasses

abstract grad_a_grad_x(x, precomp=None, idxs_slice=slice(None), *args, **kwargs)[source]

Compute \(\nabla_{\bf a} \nabla_{\bf x} T[{\bf a}]({\bf x})\)

abstract grad_a_hess_x(x, precomp=None, idxs_slice=slice(None), *args, **kwargs)[source]

Compute \(\nabla_{\bf a} \nabla^2_{\bf x} T[{\bf a}]({\bf x})\).