code: def _compl_mul_conjugate(a: torch.Tensor, b: torch.Tensor):
      """
      Given a and b two tensors of dimension 4
      with the last dimension being the real and imaginary part,
      returns a multiplied by the conjugate of b, the multiplication
      being with respect to the second dimension.
  
      """
      # PyTorch 1.7 supports complex number, but not for all operations.
      # Once the support is widespread, this can likely go away.
  
      op = "bcft,dct->bdft"
      return torch.stack(
          [
              torch.einsum(op, a[..., 0], b[..., 0])
              + torch.einsum(op, a[..., 1], b[..., 1]),
              torch.einsum(op, a[..., 1], b[..., 0])
              - torch.einsum(op, a[..., 0], b[..., 1]),
          ],
          dim=-1,
      )
  
file_path: julius/julius/fftconv.py
imports: from typing import Optional
  import torch
  from torch.nn import functional
  from .core import pad_to, unfold
  from .utils import simple_repr
label_desc: Use image node_id 5 for calling a global function with example usage: _compl_mul_conjugate(a, b) and returns: torch