PiecewiseConstant¶
-
class
safe_learning.PiecewiseConstant(discretization, vertex_values=None)¶ A piecewise constant function approximator.
Parameters: - discretization : instance of discretization
For example, an instance of GridWorld.
- vertex_values: arraylike, optional
A 2D array with the values at the vertices of the grid on each row.
Attributes: limitsReturn the discretization limits.
nindexReturn the number of discretization indices.
output_dimReturn the output dimensions of the function.
parametersReturn the vertex values.
- scope_name
Methods
__call__(self, \*args, \*\*kwargs)Evaluate the function using the template to ensure variable sharing. build_evaluation(self, points)Return the function values. copy_parameters(self, other_instance)Copy over the parameters of another instance. gradient(self, points)Return the gradient. parameter_derivative(self, points)Obtain function values at points from triangulation. -
build_evaluation(self, points)¶ Return the function values.
Parameters: - points : ndarray
The points at which to evaluate the function. One row for each data points.
Returns: - values : ndarray
The function values at the points.
-
copy_parameters(self, other_instance)¶ Copy over the parameters of another instance.
-
gradient(self, points)¶ Return the gradient.
The gradient is always zero for piecewise constant functions!
Parameters: - points : ndarray
The points at which to evaluate the function. One row for each data points.
Returns: - gradient : ndarray
The function gradient at the points.
-
limits¶ Return the discretization limits.
-
nindex¶ Return the number of discretization indices.
-
output_dim¶ Return the output dimensions of the function.
-
parameter_derivative(self, points)¶ Obtain function values at points from triangulation.
This function returns a sparse matrix that, when multiplied with the vector with all the function values on the vertices, returns the function values at points.
Parameters: - points : ndarray
A 2d array where each row represents one point.
Returns: - values
A sparse matrix B so that evaluate(points) = B.dot(parameters).
-
parameters¶ Return the vertex values.