示例#1
0
 def __init__(self):
     matrix_pairs = {}
     rng = np.random.RandomState(SEED)
     for sz in SIZES:
         scalar = rng.normal()
         matrix_pairs[sz] = (matrices.ScaledIdentityMatrix(scalar, None),
                             scalar * np.identity(sz))
     super().__init__(matrix_pairs, rng)
示例#2
0
 def __init__(self):
     super().__init__()
     for sz in SIZES:
         scalar = self.rng.normal()
         self.matrices[sz] = matrices.ScaledIdentityMatrix(scalar, sz)
         self.np_matrices[sz] = scalar * np.identity(sz)
         if AUTOGRAD_AVAILABLE:
             self.grad_log_abs_det_sqrts[sz] = grad(
                 lambda s: 0.5 * anp.linalg.slogdet(s * anp.eye(sz))[1])(
                     scalar)
             self.grad_quadratic_form_invs[sz] = partial(
                 grad(lambda s, v: (v / s) @ v), scalar)
示例#3
0
 def __init__(self):
     super().__init__()
     for sz in SIZES:
         scalar = self.rng.normal()
         self.matrices[sz] = matrices.ScaledIdentityMatrix(scalar, None)
         self.np_matrices[sz] = scalar * np.identity(sz)
示例#4
0
 def matrix_pair(self, rng, size):
     scalar = rng.normal()
     return (matrices.ScaledIdentityMatrix(scalar, None), scalar * np.identity(size))