docstr: ivy.Array instance method variant of ivy.lstm_update. This method
  simply wraps the function, and so the docstring for ivy.lstm_update
  also applies to this method with minimal changes.
  
  Parameters
  ----------
  init_h
      initial state tensor for the cell output *[batch_shape, out]*.
  init_c
      initial state tensor for the cell hidden state *[batch_shape, out]*.
  kernel
      weights for cell kernel *[in, 4 x out]*.
  recurrent_kernel
      weights for cell recurrent kernel *[out, 4 x out]*.
  bias
      bias for cell kernel *[4 x out]*. (Default value = None)
  recurrent_bias
      bias for cell recurrent kernel *[4 x out]*. (Default value = None)
  
  Returns
  -------
  ret
      hidden state for all timesteps *[batch_shape,t,out]* and cell state for last
      timestep *[batch_shape,out]*
  
  Examples
  --------
  >>> x = ivy.randint(0, 20, shape=(6, 20, 3))
  >>> h_i = ivy.random_normal(shape=(6, 5))
  >>> c_i = ivy.random_normal(shape=(6, 5))
  >>> kernel = ivy.random_normal(shape=(3, 4 * 5))
  >>> rc = ivy.random_normal(shape=(5, 4 * 5))
  >>> result = x.lstm_update(h_i, c_i, kernel, rc)
  
  >>> result[0].shape
  (6, 20, 5)
  >>> result[1].shape
  (6, 5)
docstr_tok: ["ivy.Array","instance","method","variant","of","ivy.lstm_update",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.lstm_update","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","init_h","initial","state","tensor","for","the","cell","output","*","[","batch_shape",",","out","]","*",".","init_c","initial","state","tensor","for","the","cell","hidden","state","*","[","batch_shape",",","out","]","*",".","kernel","weights","for","cell","kernel","*","[","in",",","4","x","out","]","*",".","recurrent_kernel","weights","for","cell","recurrent","kernel","*","[","out",",","4","x","out","]","*",".","bias","bias","for","cell","kernel","*","[","4","x","out","]","*",".","(","Default","value","=","None",")","recurrent_bias","bias","for","cell","recurrent","kernel","*","[","4","x","out","]","*",".","(","Default","value","=","None",")","Returns","--","--","--","-","ret","hidden","state","for","all","timesteps","*","[","batch_shape",",","t",",","out","]","*","and","cell","state","for","last","timestep","*","[","batch_shape",",","out","]","*","Examples","--","--","--","--",">",">",">","x","=","ivy.randint","(","0",",","20",",","shape=","(","6",",","20",",","3",")",")",">",">",">","h_i","=","ivy.random_normal","(","shape=","(","6",",","5",")",")",">",">",">","c_i","=","ivy.random_normal","(","shape=","(","6",",","5",")",")",">",">",">","kernel","=","ivy.random_normal","(","shape=","(","3",",","4","*","5",")",")",">",">",">","rc","=","ivy.random_normal","(","shape=","(","5",",","4","*","5",")",")",">",">",">","result","=","x.lstm_update","(","h_i",",","c_i",",","kernel",",","rc",")",">",">",">","result","[","0","]",".shape","(","6",",","20",",","5",")",">",">",">","result","[","1","]",".shape","(","6",",","5",")"]
code: def lstm_update(
      self: ivy.Array,
      init_h: Union[ivy.Array, ivy.NativeArray],
      init_c: Union[ivy.Array, ivy.NativeArray],
      kernel: Union[ivy.Array, ivy.NativeArray],
      recurrent_kernel: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      bias: Optional[Union[ivy.Array, ivy.NativeArray]] = None,
      recurrent_bias: Optional[
          Union[ivy.Array, ivy.NativeArray]
      ] = None,
  ) -> Tuple[ivy.Array, ivy.Array]:
      """ivy.Array instance method variant of ivy.lstm_update. This method
      simply wraps the function, and so the docstring for ivy.lstm_update
      also applies to this method with minimal changes.
  
      Parameters
      ----------
      init_h
          initial state tensor for the cell output *[batch_shape, out]*.
      init_c
          initial state tensor for the cell hidden state *[batch_shape, out]*.
      kernel
          weights for cell kernel *[in, 4 x out]*.
      recurrent_kernel
          weights for cell recurrent kernel *[out, 4 x out]*.
      bias
          bias for cell kernel *[4 x out]*. (Default value = None)
      recurrent_bias
          bias for cell recurrent kernel *[4 x out]*. (Default value = None)
  
      Returns
      -------
      ret
          hidden state for all timesteps *[batch_shape,t,out]* and cell state for last
          timestep *[batch_shape,out]*
  
      Examples
      --------
      >>> x = ivy.randint(0, 20, shape=(6, 20, 3))
      >>> h_i = ivy.random_normal(shape=(6, 5))
      >>> c_i = ivy.random_normal(shape=(6, 5))
      >>> kernel = ivy.random_normal(shape=(3, 4 * 5))
      >>> rc = ivy.random_normal(shape=(5, 4 * 5))
      >>> result = x.lstm_update(h_i, c_i, kernel, rc)
  
      >>> result[0].shape
      (6, 20, 5)
      >>> result[1].shape
      (6, 5)
      """
      return ivy.lstm_update(
          self._data,
          init_h,
          init_c,
          kernel,
          recurrent_kernel,
          bias=bias,
          recurrent_bias=recurrent_bias,
      )
  
file_path: ivy/ivy/data_classes/array/layers.py
imports: import abc
  from typing import Optional, Tuple, Union, List, Sequence
  import ivy
label_desc: Use image node_id 15 for calling the _ArrayWithLayers obj's underlying member method code with example usage: obj.lstm_update() and returns: ivy