def _sample_n(self, n, seed=None): loc = tf.convert_to_tensor(self.loc) scale = tf.convert_to_tensor(self.scale) shape = ps.concat( [[n], self._batch_shape_tensor(loc=loc, scale=scale)], 0) probs = samplers.uniform(shape, minval=0., maxval=1., dtype=self.dtype, seed=seed) # Quantile function. return loc + scale * tf.tan((np.pi / 2) * probs)
def _quantile(self, p, loc=None, scale=None): loc = tf.convert_to_tensor(self.loc if loc is None else loc) scale = tf.convert_to_tensor(self.scale if scale is None else scale) return loc + scale * tf.tan(np.pi * (p - 0.5))
def _quantile(self, p): return self.loc + self.scale * tf.tan((np.pi / 2) * p)
def _cauchy_quantile(p): return tf.tan(np.pi * (p - 0.5))
def _quantile(self, p): return self.loc + self.scale * tf.tan(np.pi * (p - 0.5))