<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def directional_poisson_ratio(self, n, m, tol=1e-8):
 """ Calculates the poisson ratio for a specific direction relative to a second, orthogonal direction Args: n (3-d vector):
 principal direction m (3-d vector):
 secondary direction orthogonal to n tol (float):
 tolerance for testing of orthogonality """

        n, m = get_uvec(n), get_uvec(m)
        if not np.abs(np.dot(n, m)) < tol:
            raise ValueError("n and m must be orthogonal")
        v = self.compliance_tensor.einsum_sequence([n]*2 + [m]*2)
        v *= -1 / self.compliance_tensor.einsum_sequence([n]*4)
        return v