Skip to content

Commit c219a4a

Browse files
Rojan ShresthaRojan Shrestha
authored andcommitted
updated docstring for pm.MatrixNormal after review
1 parent 3f57642 commit c219a4a

File tree

1 file changed

+23
-25
lines changed

1 file changed

+23
-25
lines changed

pymc/distributions/multivariate.py

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,31 +1811,29 @@ class MatrixNormal(Continuous):
18111811
18121812
.. code:: python
18131813
1814-
# Setup data
1815-
true_colcov = np.array([[1.0, 0.5, 0.1],
1816-
[0.5, 1.0, 0.2],
1817-
[0.1, 0.2, 1.0]])
1818-
m = 3
1819-
n = true_colcov.shape[0]
1820-
true_scale = 3
1821-
true_rowcov = np.diag([true_scale**(2*i) for i in range(m)])
1822-
mu = np.zeros((m, n))
1823-
true_kron = np.kron(true_rowcov, true_colcov)
1824-
data = np.random.multivariate_normal(mu.flatten(), true_kron)
1825-
data = data.reshape(m, n)
1826-
1827-
with pm.Model() as model:
1828-
# Setup right cholesky matrix
1829-
sd_dist = pm.HalfCauchy.dist(beta=2.5, shape=3)
1830-
colchol_packed, _, _ = pm.LKJCholeskyCov('colcholpacked', n=3, eta=2, sd_dist=sd_dist)
1831-
colchol = pm.expand_packed_triangular(3, colchol_packed)
1832-
1833-
# Setup left covariance matrix
1834-
scale = pm.LogNormal('scale', mu=np.log(true_scale), sigma=0.5)
1835-
rowcov = pt.diag([scale**(2*i) for i in range(m)])
1836-
1837-
vals = pm.MatrixNormal('vals', mu=mu, colchol=colchol, rowcov=rowcov,
1838-
observed=data)
1814+
# Setup data
1815+
true_colcov = np.array([[1.0, 0.5, 0.1],
1816+
[0.5, 1.0, 0.2],
1817+
[0.1, 0.2, 1.0]])
1818+
m = 3
1819+
n = true_colcov.shape[0]
1820+
true_scale = 3
1821+
true_rowcov = np.diag([true_scale**(2*i) for i in range(m)])
1822+
mu = np.zeros((m, n))
1823+
true_kron = np.kron(true_rowcov, true_colcov)
1824+
data = np.random.multivariate_normal(mu.flatten(), true_kron)
1825+
data = data.reshape(m, n)
1826+
1827+
with pm.Model() as model:
1828+
# Setup right cholesky matrix
1829+
sd_dist = pm.HalfCauchy.dist(beta=2.5, shape=3)
1830+
colchol,_,_ = pm.LKJCholeskyCov('colchol', n=3, eta=2,sd_dist=sd_dist)
1831+
# Setup left covariance matrix
1832+
scale = pm.LogNormal('scale', mu=np.log(true_scale), sigma=0.5)
1833+
rowcov = pt.diag([scale**(2*i) for i in range(m)])
1834+
1835+
vals = pm.MatrixNormal('vals', mu=mu, colchol=colchol, rowcov=rowcov,
1836+
observed=data)
18391837
"""
18401838

18411839
rv_op = matrixnormal

0 commit comments

Comments
 (0)