Resolve related blocks together and receive a dictionary keyed by the names you requested:

import mario

db = mario.load_test("IOT")
results = db.resolve_many(["f", "m", "p"])
f = results["f"]

For IOT these results follow:

\[f=ew, \qquad m=vw, \qquad p=w^{\mathsf{T}}v^{\mathsf{T}}\mathbf{1}, \qquad w=(I-z)^{-1}.\]

The equations describe the results; the runtime may use equivalent linear solves. Dependencies and results are stored in the selected scenario. See the block formulas for SUT.

CoreModel.resolve_many(
matrices,
*,
scenario: str = 'baseline',
force_rewrite: bool = False,
compute_options=None,
) → dict[str, object]#

Resolve and materialize several matrices through the compute resolver.

Parameters:
  • matrices – One matrix name or an iterable of names to compute.

  • scenario – Scenario used as the resolution context.

  • force_rewrite – When True, recompute already materialized blocks as well.

  • compute_options – Optional advanced compute options payload used to steer runtime planning and backend selection.

Returns:

Mapping from requested matrix name to resolved block.

Return type:

dict[str, object]