sparse_grid.grid
sparse_grid.grid
Sparse-grid container and algorithms.
SparseGrid(dim: int = 1, level: int = 1)
Regular sparse grid over a box domain.
A grid is defined by:
- dim: number of dimensions,
- level: sparse-grid level,
- indices: generated hierarchical indices,
- g_p: map from index tuple to GridPoint.
eval_action() -> None
Accumulate contribution of the current hierarchical subspace.
eval_funct(x: list[float]) -> float
Evaluate a sparse grid function.
Hierarchical values have to be set.
Parameters
x Evaluation point in physical coordinates.
Returns
float
Evaluated sparse-grid function value at x.
generate_points() -> None
Generate sparse-grid indices and corresponding GridPoint values.
generate_points_rec(dim: int, level: int, cur_level: int | None = None) -> list[list[int]]
Run over all hierarchical subspaces and add all their indices.
Returns
list[list[int]] All generated sparse-grid multi-indices.
loop_hier_spaces() -> None
Iterate over all hierarchical subspaces of the sparse grid.
loop_hier_spaces_rec(dim: int, level: int) -> None
Recursively traverse hierarchical subspaces.
Parameters
dim Remaining dimensions to recurse through. level Remaining level budget for sparse-grid admissibility.
nodal_2_hier() -> None
Convert all nodal values in the grid to hierarchical values.
nodal_2_hier_1d(node: list[int], i: int, j: int, dim: int) -> None
Apply one-dimensional nodal-to-hierarchical transform.
Parameters
node
Fixed index components from all dimensions except dim.
i
Level index in transformed dimension.
j
Position index in transformed dimension.
dim
Dimension currently being transformed.
print_grid() -> None
Print the currently active hierarchical subspace index.