class_docstr: An (elementwise) composition function for vectors.
class_docstr_tok: ["An","(","elementwise",")","composition","function","for","vectors","."]
docstr: Compose two batches of vectors.
  
  The tensors have to be broadcastable.
  
  :param a: shape: s_1
      The first tensor.
  :param b: shape: s_2
      The second tensor.
  :return: shape: s
docstr_tok: ["Compose","two","batches","of","vectors",".","The","tensors","have","to","be","broadcastable",".",":","param","a",":","shape",":","s_1","The","first","tensor",".",":","param","b",":","shape",":","s_2","The","second","tensor",".",":","return",":","shape",":","s"]
code: def forward(
      self, a: torch.FloatTensor, b: torch.FloatTensor
  ) -> torch.FloatTensor:
      """Compose two batches of vectors.
  
      The tensors have to be broadcastable.
  
      :param a: shape: s_1
          The first tensor.
      :param b: shape: s_2
          The second tensor.
      :return: shape: s
      """
  
file_path: pykeen/src/pykeen/nn/compositions.py
imports: from abc import ABC, abstractmethod
  from typing import Callable, ClassVar
  import torch
  from class_resolver import ClassResolver
  from torch import nn
  from .functional import circular_correlation
label_desc: Use image node_id 1 for calling the CompositionModule obj's underlying member method code with example usage: obj.forward(a, b) without return types