amici.gradient_check

Finite Difference Check

This module provides functions to automatically check correctness of amici computed sensitivities using finite difference approximations

Functions Summary

assert_fun(x)

check_close(result, expected, assert_fun, …)

Compares computed values against expected values and provides rich output information.

check_derivatives(model, solver[, edata, …])

Finite differences check for likelihood gradient.

check_finite_difference(x0, model, solver, …)

Checks the computed sensitivity based derivatives against a finite difference approximation.

check_results(rdata, field, expected, …)

Checks whether rdata[field] agrees with expected according to provided tolerances.

Functions

amici.gradient_check.assert_fun(x)[source]
amici.gradient_check.check_close(result, expected, assert_fun, atol, rtol, field, ip=None)[source]

Compares computed values against expected values and provides rich output information.

Parameters
  • result (numpy.array) – computed values

  • expected (numpy.array) – expected values

  • field (str) – rdata field for which the gradient is checked, only for error reporting

  • assert_fun (typing.Callable) – function that asserts the return values of comparison, enables passing of custom assert function from testing frameworks

  • atol (float) – absolute tolerance for comparison

  • rtol (float) – relative tolerance for comparison

  • ip (typing.Optional[int]) – parameter index

Return type

None

amici.gradient_check.check_derivatives(model, solver, edata=None, assert_fun=<function assert_fun>, atol=0.0001, rtol=0.0001, epsilon=0.001, check_least_squares=True, skip_zero_pars=False)[source]

Finite differences check for likelihood gradient.

Parameters
Return type

None

amici.gradient_check.check_finite_difference(x0, model, solver, edata, ip, fields, assert_fun, atol=0.0001, rtol=0.0001, epsilon=0.001)[source]

Checks the computed sensitivity based derivatives against a finite difference approximation.

Parameters
Return type

None

amici.gradient_check.check_results(rdata, field, expected, assert_fun, atol, rtol)[source]

Checks whether rdata[field] agrees with expected according to provided tolerances.

Parameters
  • rdata (amici.amici.ReturnData) – simulation results as returned by amici.amici.runAmiciSimulation()

  • field (str) – name of the field to check

  • expected (numpy.array) – expected values

  • assert_fun (typing.Callable) – function that asserts the return values of comparison, enables passing of custom assert function from testing frameworks

  • atol (float) – absolute tolerance for comparison

  • rtol (float) – relative tolerance for comparison

Return type

None