finesse.components.general.Connector.register_abcd_matrix

Connector.register_abcd_matrix(M_sym, *couplings)[source]

Register an ABCD matrix of the given symbolic form for a sequence of coupling(s).

Specifying several couplings for one M_sym means that all these node couplings will point to the same reference ABCDs — i.e. the matrices kept in the underlying ABCD matrix store will be the same blocks of memory.

Warning

This should only be used in the _resymbolise_ABCDs method of Connectors, when implementing a new component.

Parameters
M_symnumpy.ndarray

A 2x2 matrix of symbolic elements describing the analytic form of the ABCD matrix for the given coupling(s).

couplingssequence of tuples

Arguments of tuples giving the node couplings which are described by the given symbolic ABCD matrix M_sym.

These tuples can be of size two or three, with the first two elements always as the from_node -> to_node instances. The former case implies that both the tangential and sagittal plane ABCD matrix couplings are equal and so both directions ‘x’ and ‘y’ in the underlying matrices store will be set to the same values. Whilst the latter case, where the third element is either ‘x’ or ‘y’, sets just these direction keys to this matrix.