Matrix.transferMatrix

raytracing.Matrix.transferMatrix(self, upTo=inf)

The Matrix() that corresponds to propagation from the edge of the element (z=0) up to distance “upTo” (z=upTo). If no parameter is provided, the transfer matrix will be from the front edge to the back edge. If the element has a null thickness, the matrix representing the element is returned.

Parameters:

upTo (float) – A distance that shows the propagation length (default=Inf)

Returns:

tramsferMatrix – The matrix for the propagation length through the system

Return type:

object from Matrix class

Examples

>>> from raytracing import *
>>> # M1 is an ABCD matrix of a lens (f=2)
>>> M1= Matrix(A=1,B=0,C=-1/10,D=1,physicalLength=2,label='Lens')
>>> transferM=M1.transferMatrix(upTo=5)
>>> print(transferM) # print the transfer matrix
|  1.000    0.000 |
|                 |
| -0.100    1.000 |
f=10.000

Notes

The upTo parameter should have a value greater than the physical distance of the system.