Skip to content

validation

Validation helpers for force terms and MD diagnostics.

import mlx_atomistic.validation

class ForceValidationCase
def __init__(name: str, term: ForceTerm, positions: object, seed: int, epsilon: float = 0.001, tolerance: float = 0.005, cell: Cell | None = None, pairs: object | None = None)

One finite-difference force validation case.

Parameters

NameTypeDefaultDescription
namestr
termForceTerm
positionsobject
seedint
epsilonfloat0.001
tolerancefloat0.005
cellCell | NoneNone
pairsobject | NoneNone
class ForceValidationResult
def __init__(case_name: str, term_name: str, seed: int, atom_count: int, coordinate_count: int, epsilon: float, tolerance: float, energy: float, max_abs_error: float, rms_abs_error: float, max_force_abs: float, failing_atom: int, failing_axis: int, finite: bool, passed: bool)

Finite-difference force validation result.

Parameters

NameTypeDefaultDescription
case_namestr
term_namestr
seedint
atom_countint
coordinate_countint
epsilonfloat
tolerancefloat
energyfloat
max_abs_errorfloat
rms_abs_errorfloat
max_force_absfloat
failing_atomint
failing_axisint
finitebool
passedbool

Methods

def to_dict() -> dict[str, Any]

Return a JSON- and CSV-friendly representation.

Returns

  • dict[str, Any]
class PlatformValidationEvidence
def __init__(name: str, status: str, fixture: str, product_runtime: str, runtime: dict[str, Any], platform_sections: tuple[str, ...], acceptance_criteria: tuple[str, ...], gap_ids: tuple[str, ...], finite_outputs: bool, reference_engine: str | None = None, reference_role: str | None = None, readiness: dict[str, Any] | None = None, metrics: dict[str, Any] | None = None)

Traceable platform proof or reference-validation evidence.

Parameters

NameTypeDefaultDescription
namestr
statusstr
fixturestr
product_runtimestr
runtimedict[str, Any]
platform_sectionstuple[str, ...]
acceptance_criteriatuple[str, ...]
gap_idstuple[str, ...]
finite_outputsbool
reference_enginestr | NoneNone
reference_rolestr | NoneNone
readinessdict[str, Any] | NoneNone
metricsdict[str, Any] | NoneNone

Methods

def to_dict() -> dict[str, Any]

Return a JSON-safe evidence payload.

Returns

  • dict[str, Any]
def build_platform_validation_evidence(*, name: str, status: str, fixture: str, acceptance_criteria: Iterable[str], gap_ids: Iterable[str], finite_outputs: bool, reference_engine: str | None = None, reference_role: str | None = None, readiness: Mapping[str, Any] | None = None, metrics: Mapping[str, Any] | None = None) -> PlatformValidationEvidence

Bind a proof or reference-validation result to the platform boundary.

Parameters

NameTypeDefaultDescription
namestr
statusstr
fixturestr
acceptance_criteriaIterable[str]
gap_idsIterable[str]
finite_outputsbool
reference_enginestr | NoneNone
reference_rolestr | NoneNone
readinessMapping[str, Any] | NoneNone
metricsMapping[str, Any] | NoneNone

Returns

  • PlatformValidationEvidence
def default_force_validation_cases(*, seed: int = 7, cases_per_term: int = 1, epsilon: float = 0.001, tolerance: float = 0.005) -> tuple[ForceValidationCase, ...]

Return seeded force-validation cases for the currently supported terms.

Parameters

NameTypeDefaultDescription
seedint7
cases_per_termint1
epsilonfloat0.001
tolerancefloat0.005

Returns

  • tuple[ForceValidationCase, ...]
def run_force_validation_suite(cases: Iterable[ForceValidationCase] | None = None, *, seed: int = 7, cases_per_term: int = 1, epsilon: float = 0.001, tolerance: float = 0.005) -> tuple[ForceValidationResult, ...]

Run a seeded finite-difference force-validation suite.

Parameters

NameTypeDefaultDescription
casesIterable[ForceValidationCase] | NoneNone
seedint7
cases_per_termint1
epsilonfloat0.001
tolerancefloat0.005

Returns

  • tuple[ForceValidationResult, ...]
def summarize_validation_results(results: Iterable[ForceValidationResult]) -> dict[str, Any]

Summarize force-validation results for CLIs and notebooks.

Parameters

NameTypeDefaultDescription
resultsIterable[ForceValidationResult]

Returns

  • dict[str, Any]
def validate_force_term(term: ForceTerm, positions, *, case_name: str | None = None, seed: int = 0, epsilon: float = 0.001, tolerance: float = 0.005, cell: Cell | None = None, pairs: object | None = None) -> ForceValidationResult

Compare analytic/autodiff forces against central finite differences.

Parameters

NameTypeDefaultDescription
termForceTerm
positions
case_namestr | NoneNone
seedint0
epsilonfloat0.001
tolerancefloat0.005
cellCell | NoneNone
pairsobject | NoneNone

Returns

  • ForceValidationResult