code: def get_wallace_tensor(self, tau):
          
          b = 0.5 * (np.einsum("ml,kn->klmn", tau, np.eye(3)) +
                     np.einsum("km,ln->klmn", tau, np.eye(3)) +
                     np.einsum("nl,km->klmn", tau, np.eye(3)) +
                     np.einsum("kn,lm->klmn", tau, np.eye(3)) +
                     -2*np.einsum("kl,mn->klmn", tau, np.eye(3)))
          strain = self.get_strain_from_stress(tau)
          b += self.get_effective_ecs(strain)
          return b
docs: Gets the Wallace Tensor for determining yield strength
          criteria.
  
          Args:
              tau (3x3 array-like): stress at which to evaluate
                  the wallace tensor