def matrix_pair(self, rng, size): eigvec = nla.qr(rng.standard_normal((size, size)))[0] eigval = rng.standard_normal(size) return ( matrices.EigendecomposedSymmetricMatrix(eigvec, eigval), (eigvec * eigval) @ eigvec.T, )
def __init__(self): super().__init__() for sz in SIZES: eigvec = nla.qr(self.rng.standard_normal((sz, sz)))[0] eigval = np.abs(self.rng.standard_normal(sz)) self.matrices[sz] = matrices.EigendecomposedSymmetricMatrix( eigvec, eigval) self.np_matrices[sz] = (eigvec * eigval) @ eigvec.T
def __init__(self): matrix_pairs = {} rng = np.random.RandomState(SEED) for sz in SIZES: eigvec = nla.qr(rng.standard_normal((sz, sz)))[0] eigval = rng.standard_normal(sz) matrix_pairs[sz] = (matrices.EigendecomposedSymmetricMatrix( eigvec, eigval), (eigvec * eigval) @ eigvec.T) super().__init__(matrix_pairs, rng)