Source code for decode.neuralfitter.utils.probability

import torch


[docs]def binom_pdiverse(p): """ binomial probability but unequal probabilities Args: p: (torch.Tensor) of probabilities Returns: z: (torch.Tensor) vector of probabilities with length p.size() + 1 """ n = p.size(0) + 1 z = torch.zeros((n,)) z[0] = 1 for u in p: z = (1 - u) * z + u * torch.cat((torch.zeros((1,)), z[:-1])) return z