gaussian random matrix transforms vectors into gaussian random vectors

[[concept]]

Topics

const fieldName = "theme"; // Your field with links
const oldPrefix = "Thoughts/01 Themes/";
const newPrefix = "Digital Garden/Topics/";
 
const relatedLinks = dv.current()[fieldName];
 
if (Array.isArray(relatedLinks)) {
    // Map over the links, replace the path, and output only clickable links
    dv.el("span",
        relatedLinks
            .map(link => {
                if (link && link.path) {
                    let newPath = link.path.startsWith(oldPrefix)
                        ? link.path.replace(oldPrefix, newPrefix)
                        : link.path;
                    return dv.fileLink(newPath);
                }
            })
            .filter(Boolean).join(", ") 
	// Remove any undefined/null items
    );
} else {
    dv.el(dv.current().theme);
}
 
 

Proposition

Let be a random matrix and . Then

Proof

is linear in . The entries of form a gaussian random vector, and so must be Gaussian as well. Thus, it suffices to calculate the mean and covariance to find its law.

Since each entry of , call them , is iid , we get

\mathbb{E}(Gy)_{i} &= \mathbb{E}\left[ \sum_{\alpha=1}^m G_{i\alpha} y_{\alpha} \right] \\ &=0 \end{align}$$ And for the variance $$\begin{align} \text{Cov}(\,(Gy)_{i}, (Gy)_{j}\,) &= \mathbb{E}[\,(Gy)_{i}(Gy)_{j}\,] \\ &= \mathbb{E}\left( \left( \sum_{\alpha=1}^m G_{i\alpha} y_{\alpha} \right) \left( \sum_{\beta=1}^m G_{j\beta}y_{\beta} \right) \right) \\ &= \sum_{\alpha,\beta=1}^m y_{\alpha}y_{\beta} \cdot \mathbb{E} [G_{i\alpha} G_{j\beta}] \\ &= \begin{cases} 0 & i \neq j \\ \lvert \lvert y \rvert \rvert ^2 & i=j \end{cases} \\ \implies \text{Cov}(Gy,Gy) &= \lvert \lvert y \rvert \rvert ^2 I_{d} \end{align}$$ $$\tag*{$\blacksquare$}$$ ^proof-0

Above, we found the expectation and covariance in terms of the entry-wise products and sums. We can also do the calculation in terms of matrices.

Proof (matrices)

Expectation If there is only one random matrix involved, we can write In terms of our same setting above. This is a simple result of linearity of expectation.

Covariance If are the columns of so that each iid, then we see that

\text{Cov}(Gy) &= \mathbb{E}\left[ (Gy)(Gy)^{\intercal} \right] \\ &= \mathbb{E}\left[ \left( \sum_{\alpha=1}^m y_{\alpha} g_{\alpha} \right)\left( \sum_{\beta=1}^m y_{\beta} g_{\beta}^{\intercal} \right) \right] \\ &= \sum_{\alpha,\beta=1}^m y_{\alpha} y_{\beta} \cdot \mathbb{E}\left[ g_{\alpha}g_{\beta}^{\intercal} \right] \\ (*) &= \sum_{\alpha=1}^m y_{\alpha}^2 \cdot I_{d} \\ &= \lvert \lvert y \rvert \rvert ^2 I_{d} \end{align}$$ Where again $(*)$ is in terms of the setting above. In this line we use the law of the $g_{\alpha}$. $$\tag*{$\blacksquare$}$$ ^proof-1

References

References

See Also

Mentions

Mentions

const modules = await cJS()
 
const COLUMNS = [  
	{ id: "Name", value: page => page.$link },  
	{ id: "Last Modified", value: page => modules.dateTime.getLastMod(page) },
];  
  
return function View() {  
	const current = dc.useCurrentFile();
// Selecting `#game` pages, for example. 
	let queryString = `@page and linksto(${current.$link})`;
	let pages = dc.useQuery(queryString);
	
	// check types
	pages = pages.filter( (p) => !modules.typeCheck.checkAll(p, current) ).sort()
	
	
	return <dc.Table columns={COLUMNS} rows={pages} paging={20}/>;  
}  
const { dateTime } = await cJS()
 
return function View() {
	const file = dc.useCurrentFile();
	return <p class="dv-modified">Created {dateTime.getCreated(file)}     ֍     Last Modified {dateTime.getLastMod(file)}</p>
}