code: def _tile_one_chunk(cls, op):
      p, l, u = op.outputs
      chunk_op = op.copy().reset_key()
      chunk_kws = [
          {
              "side": "p",
              "dtype": p.dtype,
              "shape": p.shape,
              "order": p.order,
              "index": (0,) * p.ndim,
          },
          {
              "side": "l",
              "dtype": l.dtype,
              "shape": l.shape,
              "order": l.order,
              "index": (0,) * l.ndim,
          },
          {
              "side": "u",
              "dtype": u.dtype,
              "shape": u.shape,
              "order": u.order,
              "index": (0,) * u.ndim,
          },
      ]
      chunks = chunk_op.new_chunks(op.input.chunks, kws=chunk_kws)
  
      new_op = op.copy()
      kws = [p.params, l.params, u.params]
      for i, out in enumerate([p, l, u]):
          kws[i]["nsplits"] = tuple((s,) for s in out.shape)
          kws[i]["chunks"] = [chunks[i]]
      return new_op.new_tensors(op.inputs, kws=kws)
  
file_path: mars/mars/tensor/linalg/lu.py
imports: import numpy
  from numpy.linalg import LinAlgError
  from ...None import opcodes
  from ...core import ExecutableTuple, recursive_tile
  from ...serialization.serializables import KeyField
  from ...utils import has_unknown_shape
  from ..array_utils import device, as_same_device, is_sparse_module
  from ..operands import TensorHasInput, TensorOperandMixin
  from ..datasource import tensor
label_desc: Use image node_id 3 for calling the TensorLU obj's underlying member method code with example usage: obj._tile_one_chunk(cls, op) and returns: new_op