def __init__(self, tensor):
        self.tensor = tensor
        '''Start by diagonalizing the tensor. Next sort the eigenvalues
        according to some requirement specific to a particular tensor.
        This method is usually overloaded by the subclasses that inherit
        from Tensor. Finally calculate all the possible Euler angles.
        The rotation matrix resulted from the eigenvectors has to have a
        positive determinant in order to be considered a proper rotation.
        This can be achived by multipling the columns with -1.'''
        self.diagonalize()
        self.sort()
        self.euler_angles_and_eigenframes()
def __init__ ( self , tensor ) : self . tensor = tensor self . diagonalize ( ) self . sort ( ) self . euler_angles_and_eigenframes ( )
Start by diagonalizing the tensor. Next sort the eigenvalues
        according to some requirement specific to a particular tensor.
        This method is usually overloaded by the subclasses that inherit
        from Tensor. Finally calculate all the possible Euler angles.
        The rotation matrix resulted from the eigenvectors has to have a
        positive determinant in order to be considered a proper rotation.
        This can be achived by multipling the columns with -1.