code: def jax_funcify_Tri(op, node, **kwargs):
      # node.inputs is N, M, k
      const_args = [getattr(x, "data", None) for x in node.inputs]
  
      def tri(*args):
          # args is N, M, k
          args = [
              x if const_x is None else const_x
              for x, const_x in zip(args, const_args)
          ]
          return jnp.tri(*args, dtype=op.dtype)
  
      return tri
  
file_path: pytensor/pytensor/link/jax/dispatch/tensor_basic.py
imports: import warnings
  import jax.numpy
  import numpy
  from pytensor.graph.basic import Constant
  from pytensor.link.jax.dispatch.basic import jax_funcify
  from pytensor.tensor import get_vector_length
  from pytensor.tensor.basic import Alloc, AllocEmpty, ARange, ExtractDiag, Eye, Join, MakeVector, ScalarFromTensor, Split, TensorFromScalar, Tri, get_underlying_scalar_constant_value
  from pytensor.tensor.exceptions import NotScalarConstantError
  from pytensor.tensor.shape import Shape_i
label_desc: Use image node_id 11 for calling a global function with example usage: jax_funcify_Tri(op, node) and returns: tri, jnp