class_docstr: A `Goodman & Weare (2010)
  <https://msp.org/camcos/2010/5-1/p04.xhtml>`_ "stretch move" with
  parallelization as described in `Foreman-Mackey et al. (2013)
  <https://arxiv.org/abs/1202.3665>`_.
  
  :param a: (optional)
      The stretch scale parameter. (default: ``2.0``)
class_docstr_tok: ["A","`","Goodman","&","Weare","(","2010",")","<","https",":","\/\/msp.org\/camcos\/2010\/5-1\/p04.xhtml",">","`","_","``","stretch","move","''","with","parallelization","as","described","in","`","Foreman-Mackey","et","al",".","(","2013",")","<","https",":","\/\/arxiv.org\/abs\/1202.3665",">","`","_",".",":","param","a",":","(","optional",")","The","stretch","scale","parameter",".","(","default",":","``","2.0","``",")"]
code: def get_proposal(self, s, c, random):
      c = np.concatenate(c, axis=0)
      Ns, Nc = len(s), len(c)
      ndim = s.shape[1]
      zz = ((self.a - 1.0) * random.rand(Ns) + 1) ** 2.0 / self.a
      factors = (ndim - 1.0) * np.log(zz)
      rint = random.randint(Nc, size=(Ns,))
      return c[rint] - (c[rint] - s) * zz[:, None], factors
  
imports: import numpy
  from .red_blue import RedBlueMove
label_desc: Use image node_id 2 for calling the StretchMove obj's underlying member method code with example usage: obj.get_proposal(s, c, random) and returns: unknown,  factors