pystra.reliability.strong_maximum.StrongMaximumTest#

Use it: User guide · Worked example · Theory

class StrongMaximumTest(form=None, *, model=None, limit_state=None, design_point=None, options=None, importance_level=0.15, accuracy_level=3.0, confidence_level=None, point_number=None, rng=None, max_points=1000000)[source]#

Bases: AnalysisObject

Search a sphere for failure points away from a candidate design point.

Parameters:
  • form (FORM | None) – Successfully converged FORM analysis. Reuses its model, transform and settings. Alternatively supply all of model, limit_state and design_point (in independent standard normal coordinates).

  • model (StochasticModel | None) – Explicit candidate inputs and FORMOptions; cannot be combined with form. The candidate must be on the limit-state boundary and the origin must be safe.

  • limit_state (LimitState | None) – Explicit candidate inputs and FORMOptions; cannot be combined with form. The candidate must be on the limit-state boundary and the origin must be safe.

  • design_point (ArrayLike | None) – Explicit candidate inputs and FORMOptions; cannot be combined with form. The candidate must be on the limit-state boundary and the origin must be safe.

  • options (FORMOptions | None) – Explicit candidate inputs and FORMOptions; cannot be combined with form. The candidate must be on the limit-state boundary and the origin must be safe.

  • importance_level (float) – Density ratio epsilon in (0, 1) defining the relevant search radius.

  • accuracy_level (float) – Sphere enlargement parameter tau > 1 (not an error tolerance).

  • confidence_level (float | None) – Requested cap-detection probability in (0, 1). Defaults to 0.99 if neither this nor point_number is supplied.

  • point_number (int | None) – Fixed number of sphere evaluations, exclusive with confidence_level.

  • rng (int | integer | Sequence[int] | ndarray | SeedSequence | BitGenerator | Generator | None) – Random source; NumPy’s global generator is not used. A seed recreates the same sphere sample on every run; a generator advances its own state.

  • max_points (int) – Hard budget checked before allocating or evaluating sphere samples. Oversized requests raise; they are never silently reduced.

point_number, confidence_level

Actual sample count and achieved nominal cap-detection probability.

Type:

int, float

delta_epsilon, radius, cap_probability, vicinity_cosine

Geometry and probability of hitting a reference detection cap.

Type:

float

:meth:`run` returns a :class:`~pystra.results.StrongMaximumResult` with the
sphere points, their limit-state values and region masks, and whether a
competing region was found. Finding none is not a certificate.

Notes

This is a diagnostic, not a failure probability estimate or a proof of global optimality. Nominal confidence concerns hitting a fixed spherical cap under the test’s local-plane/extent assumptions, not the probability that FORM is correct. Small bounded failure islands inside the sphere can be missed entirely. Far failure points are restart candidates, not new design points. No gradient-based interpretation of their g magnitude is made. The test rejects origin-in-failure and near-zero-radius candidates.

References

Dutfoy, A. and Lebrun, R. (2006). The Strong Maximum Test: an efficient way to assess the quality of a design point. PSAM8, New Orleans. OpenTURNS theory: https://openturns.github.io/openturns/latest/theory/ reliability_sensitivity/strong_maximum_test.html

Methods

init_run

Initialize the model's isoprobabilistic transformation.

run

Evaluate the sphere and classify points by failure and vicinity.

run()[source]#

Evaluate the sphere and classify points by failure and vicinity.

Returns a StrongMaximumResult.

Return type:

StrongMaximumResult

init_run()#

Initialize the model’s isoprobabilistic transformation.

Uses the explicit copula or calibrates the legacy Gaussian Nataf correlation. Must be called at the start of every run() method in subclasses.

Return type:

None