docstr: ivy.Container static 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
  ----------
  x
      The input x 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.array([1., 0., -1.])
  >>> y = ivy.Container.static_linear(x, w, bias=b)
  >>> print(y)
  {
      a: ivy.array([[16.4, 35.2, 54.],
                    [155., 352., 549.]]),
      b: ivy.array([[15.1, 31., 46.9],
                    [85., 195., 305.]])
  }
  
  >>> x = ivy.Container(a=ivy.array([[1.1, 2.2, 3.3],                                            [.0, .1, .2]]),                               b=ivy.array([[1.245, 0.278, 4.105],                                            [.7, .8, .9]]))
  >>> w = ivy.Container(a=ivy.array([[1., 2., 3.]]),                               b=ivy.array([[.1, .2, .3]]))
  >>> b = ivy.Container(a=ivy.array([1.]), b=ivy.array([-1.]))
  >>> y = ivy.Container.static_linear(x, w, bias=b)
  >>> print(y)
  {
      a: ivy.array([[16.4],
                    [1.8]]),
      b: ivy.array([[0.412],
                    [-0.5]])
  }
docstr_tok: ["ivy.Container","static","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","--","--","--","--","--","x","The","input","x","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.array","(","[","1.",",","0.",",","-1",".","]",")",">",">",">","y","=","ivy.Container.static_linear","(","x",",","w",",","bias=b",")",">",">",">","print","(","y",")","{","a",":","ivy.array","(","[","[","16.4",",","35.2",",","54",".","]",",","[","155.",",","352.",",","549",".","]","]",")",",","b",":","ivy.array","(","[","[","15.1",",","31.",",","46.9","]",",","[","85.",",","195.",",","305",".","]","]",")","}",">",">",">","x","=","ivy.Container","(","a=ivy.array","(","[","[","1.1",",","2.2",",","3.3","]",",","[",".0",",",".1",",",".2","]","]",")",",","b=ivy.array","(","[","[","1.245",",","0.278",",","4.105","]",",","[",".7",",",".8",",",".9","]","]",")",")",">",">",">","w","=","ivy.Container","(","a=ivy.array","(","[","[","1.",",","2.",",","3",".","]","]",")",",","b=ivy.array","(","[","[",".1",",",".2",",",".3","]","]",")",")",">",">",">","b","=","ivy.Container","(","a=ivy.array","(","[","1",".","]",")",",","b=ivy.array","(","[","-1",".","]",")",")",">",">",">","y","=","ivy.Container.static_linear","(","x",",","w",",","bias=b",")",">",">",">","print","(","y",")","{","a",":","ivy.array","(","[","[","16.4","]",",","[","1.8","]","]",")",",","b",":","ivy.array","(","[","[","0.412","]",",","[","-0.5","]","]",")","}"]
code: def _static_linear(
      x: 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 static 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
          ----------
          x
              The input x 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.array([1., 0., -1.])
          >>> y = ivy.Container.static_linear(x, w, bias=b)
          >>> print(y)
          {
              a: ivy.array([[16.4, 35.2, 54.],
                            [155., 352., 549.]]),
              b: ivy.array([[15.1, 31., 46.9],
                            [85., 195., 305.]])
          }
  
          >>> x = ivy.Container(a=ivy.array([[1.1, 2.2, 3.3], \
                                             [.0, .1, .2]]), \
                                b=ivy.array([[1.245, 0.278, 4.105], \
                                             [.7, .8, .9]]))
          >>> w = ivy.Container(a=ivy.array([[1., 2., 3.]]), \
                                b=ivy.array([[.1, .2, .3]]))
          >>> b = ivy.Container(a=ivy.array([1.]), b=ivy.array([-1.]))
          >>> y = ivy.Container.static_linear(x, w, bias=b)
          >>> print(y)
          {
              a: ivy.array([[16.4],
                            [1.8]]),
              b: ivy.array([[0.412],
                            [-0.5]])
          }
          """
      return ContainerBase.cont_multi_map_in_function(
          "linear",
          x,
          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 1 for calling the _ContainerWithLayers obj's underlying member method code with example usage: obj._static_linear() and returns: ContainerBase