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: Concrete forward pass through the dense layer.
  
  :param x: concrete input to the dense layer.
  :return: concrete dense layer outputs.
docstr_tok: ["Concrete","forward","pass","through","the","dense","layer",".",":","param","x",":","concrete","input","to","the","dense","layer",".",":","return",":","concrete","dense","layer","outputs","."]
code: def concrete_forward(self, x: "torch.Tensor") -> "torch.Tensor":
      """
      Concrete forward pass through the dense layer.
  
      :param x: concrete input to the dense layer.
      :return: concrete dense layer outputs.
      """
      x = (
          torch.matmul(x, torch.transpose(self.weight, 0, 1))
          + self.bias
      )
      return x
  
imports: from typing import Tuple, Union
  import numpy
  import torch
label_desc: Use image node_id 4 for calling the ZonoDenseLayer obj's underlying member method code with example usage: obj.concrete_forward(x) and returns: x