code: def qr(
      x: JaxArray,
      /,
      *,
      mode: str = "reduced",
      out: Optional[JaxArray] = None,
  ) -> Tuple[JaxArray, JaxArray]:
      res = namedtuple("qr", ["Q", "R"])
      q, r = jnp.linalg.qr(x, mode=mode)
      return res(q, r)
  
imports: from collections import namedtuple
  from typing import Union, Optional, Tuple, Literal, Sequence, NamedTuple
  import jax.numpy
  import ivy
  from ivy import inf
  from ivy.func_wrapper import with_unsupported_dtypes
  from ivy.functional.backends.jax import JaxArray
  from .None import backend_version
  from ivy import promote_types_of_inputs
label_desc: Use image node_id 18 for calling a global function with example usage: qr() and returns: res