docstr: ivy.Container instance method variant of ivy.linear. This method
  simply wraps the function, and so the docstring for ivy.linear also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      The input container to compute linear transformation on.
      *[outer_batch_shape,inner_batch_shape,in_features]*
  weight
      The weight matrix. *[outer_batch_shape,out_features,in_features]*
  bias
      The bias vector, default is ``None``. *[outer_batch_shape,out_features]*
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains
      will be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied.
      Default is ``False``.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output array, for writing the result to. It must have a shape
      that the inputs broadcast to.
  
  Returns
  -------
  ret
      Result array of the linear transformation.
      *[outer_batch_shape,inner_batch_shape,out_features]*
  
  Examples
  --------
  >>> x = ivy.Container(a=ivy.array([[1.1, 2.2, 3.3],
  ...                                [11., 22., 33.]]),
  ...                   b=ivy.array([[1.245, 0.278, 4.105],
  ...                                [7., 13., 17.]]))
  >>> w = ivy.array([[1., 2., 3.],
  ...                [4., 5., 6.],
  ...                [7., 8., 9.]])
  >>> b = ivy.Container(a=ivy.array([1., 0., -1.]),
  ...                   b=ivy.array([1., 1., 0.]))
  >>> y = x.linear(w, bias=b, out=x)
  >>> print(y)
  {
      a: ivy.array([[16.39999962, 35.19999695, 54.],
                    [155., 352., 549.]]),
      b: ivy.array([[15.11600018, 32., 47.88399887],
                    [85., 196., 306.]])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.linear",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.linear","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","The","input","container","to","compute","linear","transformation","on",".","*","[","outer_batch_shape",",","inner_batch_shape",",","in_features","]","*","weight","The","weight","matrix",".","*","[","outer_batch_shape",",","out_features",",","in_features","]","*","bias","The","bias","vector",",","default","is","``","None","``",".","*","[","outer_batch_shape",",","out_features","]","*","key_chains","The","key-chains","to","apply","or","not","apply","the","method","to",".","Default","is","``","None","``",".","to_apply","If","True",",","the","method","will","be","applied","to","key_chains",",","otherwise","key_chains","will","be","skipped",".","Default","is","``","True","``",".","prune_unapplied","Whether","to","prune","key_chains","for","which","the","function","was","not","applied",".","Default","is","``","False","``",".","map_sequences","Whether","to","also","map","method","to","sequences","(","lists",",","tuples",")",".","Default","is","``","False","``",".","out","optional","output","array",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","Result","array","of","the","linear","transformation",".","*","[","outer_batch_shape",",","inner_batch_shape",",","out_features","]","*","Examples","--","--","--","--",">",">",">","x","=","ivy.Container","(","a=ivy.array","(","[","[","1.1",",","2.2",",","3.3","]",",","...","[","11.",",","22.",",","33",".","]","]",")",",","...","b=ivy.array","(","[","[","1.245",",","0.278",",","4.105","]",",","...","[","7.",",","13.",",","17",".","]","]",")",")",">",">",">","w","=","ivy.array","(","[","[","1.",",","2.",",","3",".","]",",","...","[","4.",",","5.",",","6",".","]",",","...","[","7.",",","8.",",","9",".","]","]",")",">",">",">","b","=","ivy.Container","(","a=ivy.array","(","[","1.",",","0.",",","-1",".","]",")",",","...","b=ivy.array","(","[","1.",",","1.",",","0",".","]",")",")",">",">",">","y","=","x.linear","(","w",",","bias=b",",","out=x",")",">",">",">","print","(","y",")","{","a",":","ivy.array","(","[","[","16.39999962",",","35.19999695",",","54",".","]",",","[","155.",",","352.",",","549",".","]","]",")",",","b",":","ivy.array","(","[","[","15.11600018",",","32.",",","47.88399887","]",",","[","85.",",","196.",",","306",".","]","]",")","}"]
code: def linear(
      self: ivy.Container,
      weight: Union[ivy.Array, ivy.NativeArray, ivy.Container],
      /,
      *,
      bias: Optional[
          Union[ivy.Array, ivy.NativeArray, ivy.Container]
      ] = None,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.linear. This method
      simply wraps the function, and so the docstring for ivy.linear also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          The input container to compute linear transformation on.
          *[outer_batch_shape,inner_batch_shape,in_features]*
      weight
          The weight matrix. *[outer_batch_shape,out_features,in_features]*
      bias
          The bias vector, default is ``None``. *[outer_batch_shape,out_features]*
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains
          will be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied.
          Default is ``False``.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output array, for writing the result to. It must have a shape
          that the inputs broadcast to.
  
      Returns
      -------
      ret
          Result array of the linear transformation.
          *[outer_batch_shape,inner_batch_shape,out_features]*
  
      Examples
      --------
      >>> x = ivy.Container(a=ivy.array([[1.1, 2.2, 3.3],
      ...                                [11., 22., 33.]]),
      ...                   b=ivy.array([[1.245, 0.278, 4.105],
      ...                                [7., 13., 17.]]))
      >>> w = ivy.array([[1., 2., 3.],
      ...                [4., 5., 6.],
      ...                [7., 8., 9.]])
      >>> b = ivy.Container(a=ivy.array([1., 0., -1.]),
      ...                   b=ivy.array([1., 1., 0.]))
      >>> y = x.linear(w, bias=b, out=x)
      >>> print(y)
      {
          a: ivy.array([[16.39999962, 35.19999695, 54.],
                        [155., 352., 549.]]),
          b: ivy.array([[15.11600018, 32., 47.88399887],
                        [85., 196., 306.]])
      }
      """
      return self._static_linear(
          self,
          weight,
          bias=bias,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Optional, Tuple, Union, List, Callable, Dict, Sequence
  from ivy.data_classes.container.base import ContainerBase
  import ivy
label_desc: Use image node_id 2 for calling the _ContainerWithLayers obj's underlying member method code with example usage: obj.linear() and returns: self