class_docstr: Class implementing a dense layer on a zonotope.
  Bias is only added to the zeroth term.
class_docstr_tok: ["Class","implementing","a","dense","layer","on","a","zonotope",".","Bias","is","only","added","to","the","zeroth","term","."]
docstr: Abstract forward pass through the dense layer.
  
  :param x: input zonotope to the dense layer.
  :return: zonotope after being pushed through the dense layer.
docstr_tok: ["Abstract","forward","pass","through","the","dense","layer",".",":","param","x",":","input","zonotope","to","the","dense","layer",".",":","return",":","zonotope","after","being","pushed","through","the","dense","layer","."]
code: def forward(self, x: "torch.Tensor") -> "torch.Tensor":
      """
      Abstract forward pass through the dense layer.
  
      :param x: input zonotope to the dense layer.
      :return: zonotope after being pushed through the dense layer.
      """
      x = self.zonotope_matmul(x)
      x = self.zonotope_add(x)
      return x
  
imports: from typing import Tuple, Union
  import numpy
  import torch
label_desc: Use image node_id 3 for calling the ZonoDenseLayer obj's underlying member method code with example usage: obj.forward(x) and returns: x