<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_ggt(self, n, u):
 """ Gets the Generalized Gruneisen tensor for a given third-order elastic tensor expansion. Args: n (3x1 array-like):
 normal mode direction u (3x1 array-like):
 polarization direction """

        gk = self[0].einsum_sequence([n, u, n, u])
        result = -(2*gk*np.outer(u, u) + self[0].einsum_sequence([n, n])
                   + self[1].einsum_sequence([n, u, n, u])) / (2*gk)
        return result