docstr: ivy.Array instance method variant of ivy.qr. This method simply
  wraps the function, and so the docstring for ivy.qr also applies to
  this method with minimal changes.
  
  Returns the qr decomposition x = QR of a full column rank matrix (or a stack of
  matrices), where Q is an orthonormal matrix (or a stack of matrices) and R is an
  upper-triangular matrix (or a stack of matrices).
  
  Parameters
  ----------
  self
      input array having shape (..., M, N) and whose innermost two dimensions form
      MxN matrices of rank N. Should have a floating-point data type.
  mode
      decomposition mode. Should be one of the following modes:
      - 'reduced': compute only the leading K columns of q, such that q and r have
      dimensions (..., M, K) and (..., K, N), respectively, and where
      K = min(M, N).
      - 'complete': compute q and r with dimensions (..., M, M) and (..., M, N),
      respectively.
      Default: 'reduced'.
  out
      optional output tuple of arrays, for writing the result to. The arrays must
      have shapes that the inputs broadcast to.
  
  Returns
  -------
  ret
      a namedtuple (Q, R) whose
      - first element must have the field name Q and must be an array whose shape
      depends on the value of mode and contain matrices with orthonormal columns.
      If mode is 'complete', the array must have shape (..., M, M). If mode is
      'reduced', the array must have shape (..., M, K), where K = min(M, N). The
      first x.ndim-2 dimensions must have the same size as those of the input
      array x.
      - second element must have the field name R and must be an array whose shape
      depends on the value of mode and contain upper-triangular matrices. If mode
      is 'complete', the array must have shape (..., M, N). If mode is 'reduced',
      the array must have shape (..., K, N), where K = min(M, N). The first
      x.ndim-2 dimensions must have the same size as those of the input x.
  
  Examples
  --------
  >>> x = ivy.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])
  >>> q, r = x.qr(mode='reduced')
  >>> print(q)
  ivy.array([[-0.12309149,  0.90453403,  0.40824829],
      [-0.49236596,  0.30151134, -0.81649658],
      [-0.86164044, -0.30151134,  0.40824829]])
  >>> print(r)
  ivy.array([[-8.12403841e+00,-9.60113630e+00, -1.10782342e+01],
      [ 0.00000000e+00,  9.04534034e-01,  1.80906807e+00],
      [ 0.00000000e+00,  0.00000000e+00, -8.88178420e-16]])
docstr_tok: ["ivy.Array","instance","method","variant","of","ivy.qr",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.qr","also","applies","to","this","method","with","minimal","changes",".","Returns","the","qr","decomposition","x","=","QR","of","a","full","column","rank","matrix","(","or","a","stack","of","matrices",")",",","where","Q","is","an","orthonormal","matrix","(","or","a","stack","of","matrices",")","and","R","is","an","upper-triangular","matrix","(","or","a","stack","of","matrices",")",".","Parameters","--","--","--","--","--","self","input","array","having","shape","(","...",",","M",",","N",")","and","whose","innermost","two","dimensions","form","MxN","matrices","of","rank","N.","Should","have","a","floating-point","data","type",".","mode","decomposition","mode",".","Should","be","one","of","the","following","modes",":","-","'reduced","'",":","compute","only","the","leading","K","columns","of","q",",","such","that","q","and","r","have","dimensions","(","...",",","M",",","K",")","and","(","...",",","K",",","N",")",",","respectively",",","and","where","K","=","min","(","M",",","N",")",".","-","'complete","'",":","compute","q","and","r","with","dimensions","(","...",",","M",",","M",")","and","(","...",",","M",",","N",")",",","respectively",".","Default",":","'reduced","'",".","out","optional","output","tuple","of","arrays",",","for","writing","the","result","to",".","The","arrays","must","have","shapes","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","a","namedtuple","(","Q",",","R",")","whose","-","first","element","must","have","the","field","name","Q","and","must","be","an","array","whose","shape","depends","on","the","value","of","mode","and","contain","matrices","with","orthonormal","columns",".","If","mode","is","'complete","'",",","the","array","must","have","shape","(","...",",","M",",","M",")",".","If","mode","is","'reduced","'",",","the","array","must","have","shape","(","...",",","M",",","K",")",",","where","K","=","min","(","M",",","N",")",".","The","first","x.ndim-2","dimensions","must","have","the","same","size","as","those","of","the","input","array","x",".","-","second","element","must","have","the","field","name","R","and","must","be","an","array","whose","shape","depends","on","the","value","of","mode","and","contain","upper-triangular","matrices",".","If","mode","is","'complete","'",",","the","array","must","have","shape","(","...",",","M",",","N",")",".","If","mode","is","'reduced","'",",","the","array","must","have","shape","(","...",",","K",",","N",")",",","where","K","=","min","(","M",",","N",")",".","The","first","x.ndim-2","dimensions","must","have","the","same","size","as","those","of","the","input","x",".","Examples","--","--","--","--",">",">",">","x","=","ivy.array","(","[","[","1.,2.,3.","]",",","[","4.,5.,6.","]",",","[","7.,8.,9",".","]","]",")",">",">",">","q",",","r","=","x.qr","(","mode='reduced","'",")",">",">",">","print","(","q",")","ivy.array","(","[","[","-0.12309149",",","0.90453403",",","0.40824829","]",",","[","-0.49236596",",","0.30151134",",","-0.81649658","]",",","[","-0.86164044",",","-0.30151134",",","0.40824829","]","]",")",">",">",">","print","(","r",")","ivy.array","(","[","[","-8.12403841e+00",",","-9.60113630e+00",",","-1.10782342e+01","]",",","[","0.00000000e+00",",","9.04534034e-01",",","1.80906807e+00","]",",","[","0.00000000e+00",",","0.00000000e+00",",","-8.88178420e-16","]","]",")"]
code: def qr(
      self: ivy.Array,
      /,
      *,
      mode: str = "reduced",
      out: Optional[Tuple[ivy.Array, ivy.Array]] = None,
  ) -> Tuple[ivy.Array, ivy.Array]:
      """ivy.Array instance method variant of ivy.qr. This method simply
      wraps the function, and so the docstring for ivy.qr also applies to
      this method with minimal changes.
  
      Returns the qr decomposition x = QR of a full column rank matrix (or a stack of
      matrices), where Q is an orthonormal matrix (or a stack of matrices) and R is an
      upper-triangular matrix (or a stack of matrices).
  
      Parameters
      ----------
      self
          input array having shape (..., M, N) and whose innermost two dimensions form
          MxN matrices of rank N. Should have a floating-point data type.
      mode
          decomposition mode. Should be one of the following modes:
          - 'reduced': compute only the leading K columns of q, such that q and r have
          dimensions (..., M, K) and (..., K, N), respectively, and where
          K = min(M, N).
          - 'complete': compute q and r with dimensions (..., M, M) and (..., M, N),
          respectively.
          Default: 'reduced'.
      out
          optional output tuple of arrays, for writing the result to. The arrays must
          have shapes that the inputs broadcast to.
  
      Returns
      -------
      ret
          a namedtuple (Q, R) whose
          - first element must have the field name Q and must be an array whose shape
          depends on the value of mode and contain matrices with orthonormal columns.
          If mode is 'complete', the array must have shape (..., M, M). If mode is
          'reduced', the array must have shape (..., M, K), where K = min(M, N). The
          first x.ndim-2 dimensions must have the same size as those of the input
          array x.
          - second element must have the field name R and must be an array whose shape
          depends on the value of mode and contain upper-triangular matrices. If mode
          is 'complete', the array must have shape (..., M, N). If mode is 'reduced',
          the array must have shape (..., K, N), where K = min(M, N). The first
          x.ndim-2 dimensions must have the same size as those of the input x.
  
      Examples
      --------
      >>> x = ivy.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])
      >>> q, r = x.qr(mode='reduced')
      >>> print(q)
      ivy.array([[-0.12309149,  0.90453403,  0.40824829],
          [-0.49236596,  0.30151134, -0.81649658],
          [-0.86164044, -0.30151134,  0.40824829]])
      >>> print(r)
      ivy.array([[-8.12403841e+00,-9.60113630e+00, -1.10782342e+01],
          [ 0.00000000e+00,  9.04534034e-01,  1.80906807e+00],
          [ 0.00000000e+00,  0.00000000e+00, -8.88178420e-16]])
      """
      return ivy.qr(self._data, mode=mode, out=out)
  
imports: import abc
  from typing import Union, Optional, Literal, Tuple, List, Sequence
  import ivy
label_desc: Use image node_id 18 for calling the _ArrayWithLinearAlgebra obj's underlying member method code with example usage: obj.qr() and returns: ivy