parameters: (
          self, arg_objs, shape: Tuple[int, ...], data=None
      )
return_statement: return (lu.kron(arg_objs[0], arg_objs[1], shape), [])
docstring: Kronecker product of two matrices.
  
          Parameters
          ----------
          arg_objs : list
              LinOp for each argument.
          shape : tuple
              The shape of the resulting expression.
          data :
              Additional data required by the atom.
  
          Returns
          -------
          tuple
              (LinOp for objective, list of constraints)
docstring_summary: Kronecker product of two matrices.
docstring_tokens: Kronecker product of two matrices .
function: def graph_implementation(
          self, arg_objs, shape: Tuple[int, ...], data=None
      ) -> Tuple[lo.LinOp, List[Constraint]]:
          """Kronecker product of two matrices.
  
          Parameters
          ----------
          arg_objs : list
              LinOp for each argument.
          shape : tuple
              The shape of the resulting expression.
          data :
              Additional data required by the atom.
  
          Returns
          -------
          tuple
              (LinOp for objective, list of constraints)
          """
          return (lu.kron(arg_objs[0], arg_objs[1], shape), [])
function_tokens: def graph_implementation ( self , arg_objs , shape : Tuple [ int , ... ] , data = None ) -> Tuple [ lo . LinOp , List [ Constraint ] ] : return ( lu . kron ( arg_objs [ 0 ] , arg_objs [ 1 ] , shape ) , [ ] )