finesse.components.general.Connector.ABCD

Connector.ABCD(from_node, to_node, direction='x', symbolic=False, copy=True, retboth=False)[source]
Parameters

from_node : OpticalNode or Port or str or int

Input node. If a port, or string repr of a port, is given then the input optical node of that port will be used.

to_node : OpticalNode or Port or str or int

Output node. If a port, or string repr of a port, is given then the output optical node of that port will be used.

direction : str, optional; default: ‘x’

Direction of ABCD matrix computation, default is ‘x’ for tangential plane.

symbolic : bool, optional; default: False

Whether to return the symbolic matrix (as given by equations above). Defaults to False such that the numeric matrix is returned.

copy : bool, optional; default: True

Whether to return a copy of ABCD matrix (or matrices if retboth is true). Defaults to True so that the internal matrix cannot be accidentally altered. Use caution if switching this flag off.

retboth : bool, optional; default: False

Whether to return both the symbolic and numeric matrices as a tuple in that order.

Returns

M : numpy.ndarray

The ABCD matrix of the specified coupling for the mirror. This is symbolic if either of symbolic or retboth flags are True.

M2 : numpy.ndarray

Only returned if retboth is True, otherwise just M above is returned. This will always be the numeric matrix.

Raises

err : ValueError

If no coupling exists between from_node and to_node.