コード例 #1
0
 def matrix_pair(self, rng, size):
     eigvec = nla.qr(rng.standard_normal((size, size)))[0]
     eigval = np.abs(rng.standard_normal(size))
     return (
         matrices.EigendecomposedPositiveDefiniteMatrix(eigvec, eigval),
         (eigvec * eigval) @ eigvec.T,
     )
コード例 #2
0
ファイル: test_integrators.py プロジェクト: yushu-liu/mici
def _generate_metrics(rng, size, eigval_scale=0.1):
    eigval, eigvec = _generate_rand_eigval_eigvec(rng, size, eigval_scale)
    return [
        matrices.IdentityMatrix(),
        matrices.IdentityMatrix(size),
        matrices.PositiveDiagonalMatrix(eigval),
        matrices.DensePositiveDefiniteMatrix((eigvec * eigval) @ eigvec.T),
        matrices.EigendecomposedPositiveDefiniteMatrix(eigvec, eigval)
    ]
コード例 #3
0
ファイル: test_matrices.py プロジェクト: ShihanYang/mici
 def __init__(self):
     matrix_pairs = {}
     rng = np.random.RandomState(SEED)
     for sz in SIZES:
         eigvec = nla.qr(rng.standard_normal((sz, sz)))[0]
         eigval = np.abs(rng.standard_normal(sz))
         matrix_pairs[sz] = (matrices.EigendecomposedPositiveDefiniteMatrix(
             eigvec, eigval), (eigvec * eigval) @ eigvec.T)
     super().__init__(matrix_pairs, rng)
コード例 #4
0
ファイル: test_integrators.py プロジェクト: matt-graham/mici
def metric_list(rng, size):
    eigval = np.exp(0.1 * rng.standard_normal(size))
    eigvec = np.linalg.qr(rng.standard_normal((size, size)))[0]
    return [
        matrices.IdentityMatrix(),
        matrices.IdentityMatrix(size),
        matrices.PositiveDiagonalMatrix(eigval),
        matrices.DensePositiveDefiniteMatrix((eigvec * eigval) @ eigvec.T),
        matrices.EigendecomposedPositiveDefiniteMatrix(eigvec, eigval),
    ]