Linear

4D linear transformation element

(qx, px, qy, py) -> M @ (qx, px, qy, py) + (cqx, cpx, cqy, cpy)

class model.library.linear.Linear(name: str, v: list[float], m: list[list[float]], dp: float = 0.0, output: bool = False, matrix: bool = False)[source]

Linear matrix element

Zero lenght element, can’t be used in insertion mode Note, linear transformation has no deviation variables

rtype:

Linear

property m: torch.Tensor

Get matrix

Parameters:

None

Return type:

Tensor

make_matrix() tuple[torch.Tensor, torch.Tensor][source]

Generate transformation matrices (error element)

Parameters:

None

Return type:

tuple[Tensor, Tensor]

make_step() tuple[Mapping, ParametricMapping][source]

Generate integration step

Parameters:

None

Return type:

tuple[Mapping, ParametricMapping]

property v: torch.Tensor

Get vector

Parameters:

None

Return type:

Tensor