def prob_t_compressed(self, seq_pair, multiplicity, t, return_log=False):
if t<<NUM_LIT:0>:<EOL><INDENT>logP = -ttconf.BIG_NUMBER<EOL><DEDENT>else:<EOL><INDENT>tmp_eQT = self.expQt(t)<EOL>bad_indices=(tmp_eQT==<NUM_LIT:0>)<EOL>logQt = np.log(tmp_eQT + ttconf.TINY_NUMBER*(bad_indices))<EOL>logQt[np.isnan(logQt) | np.isinf(logQt) | bad_indices] = -ttconf.BIG_NUMBER<EOL>logP = np.sum(logQt[seq_pair[:,<NUM_LIT:1>], seq_pair[:,<NUM_LIT:0>]]*multiplicity)<EOL><DEDENT>return logP if return_log else np.exp(logP)<EOL>
Calculate the probability of observing a sequence pair at a distance t,
for compressed sequences

Parameters
----------

  seq_pair : numpy array
    :code:`np.array([(0,1), (2,2), ()..])` as indicies of
    pairs of aligned positions. (e.g. 'A'==0, 'C'==1 etc).
    This only lists all occuring parent-child state pairs, order is irrelevant

  multiplicity : numpy array
    The number of times a parent-child state pair is observed.
    This allows compression of the sequence representation

  t : float
    Length of the branch separating parent and child

  return_log : bool
    Whether or not to exponentiate the result