class_docstr: Base model class for complex embeddings.
class_docstr_tok: ["Base","model","class","for","complex","embeddings","."]
code: def get_factors(self, input_tensor):
      lhs = self.entity(input_tensor[:, 0])
      rel = self.rel(input_tensor[:, 1])
      rhs = self.entity(input_tensor[:, 2])
  
      lhs = lhs[:, : self.half_rank], lhs[:, self.half_rank :]
      rel = rel[:, : self.half_rank], rel[:, self.half_rank :]
      rhs = rhs[:, : self.half_rank], rhs[:, self.half_rank :]
  
      lhs = tf.sqrt(lhs[0] ** 2 + lhs[1] ** 2)
      rel = tf.sqrt(rel[0] ** 2 + rel[1] ** 2)
      rhs = tf.sqrt(rhs[0] ** 2 + rhs[1] ** 2)
  
      return lhs, rel, rhs
  
file_path: neural-structured-learning/research/kg_hyp_emb/models/complex.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from kg_hyp_emb.models.base import KGModel
  import tensorflow
label_desc: Use image node_id 5 for calling the BaseC obj's underlying member method code with example usage: obj.get_factors(input_tensor) and returns: lhs,  rel,  rhs