Skip to content

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.