feynlag.vacuum.diagonalize.diagonalize_orthogonal_2x2

feynlag.vacuum.diagonalize.diagonalize_orthogonal_2x2(M, old_fields, new_fields, angle=None)[source]

Diagonalize a real symmetric 2×2 mass matrix.

Parameters:
  • M – the matrix.

  • old_fields – 2 symbols each.

  • new_fields – 2 symbols each.

  • angle – optional symbol for the mixing angle. If given, the returned rotation is written in terms of it and the defining relation is attached as rotation.angle_relation (Eq(tan(2θ), ...)); if None, the explicit atan expression is inserted.

Returns:

Rotation (with angle_relation attribute).