finesse.tracing.tools.compute_abcd

finesse.tracing.tools.compute_abcd(from_node=None, to_node=None, via_node=None, path=None, direction='x', symbolic=False, simplify=False, solution_name=None)[source]

Computes the composite ABCD matrix through a given path.

By setting the argument symbolic to true, this method will return a symbolic representation of the ABCD matrix rather than a numeric matrix.

Parameters
from_nodeNode

Node to trace from.

to_nodeNode

Node to trace to.

via_nodeNode, optional

Optional node to trace via.

pathOpticalPath, optional

A pre-generated path to use (produced from a call to Model.path()).

directonstr, optional

Direction of ABCD matrix computation (can be ‘x’, for tangential plane, or ‘y’, for sagittal plane).

symbolicbool, tuple(Parameters), optional; default: False

If False a numerical ABCD propagation is computed. If True, a symbolic ABCD propagation is calculated instead. A tuple of parameters can also be provided, in this case these parameters will be kept symbolic

simplifybool, optional

Attempt to simplify symbolic equations, can be slow for complex models

Returns
outABCDSolution

ABCD matrix solution object between the specified nodes.