joint of gaussian random transform of finite 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 and . Then

Gy_{1} \\ \vdots \\ Gy_{n} \end{bmatrix}\right) = {\cal N}\left(0,\, \begin{bmatrix} \lvert \lvert y_{1} \rvert \rvert ^2 I_{d} & \langle y_{1},y_{2} \rangle I_{d} & \dots & \langle y_{1},y_{n} \rangle I_{d} \\ \langle y_{2} , y_{1} \rangle I_{d} & \lvert \lvert y_{2} \rvert \rvert ^2 I_{d} & \dots & \langle y_{2}, y_{n} \rangle I_{d} \\ \vdots & \vdots & \ddots & \vdots \\ \langle y_{n}, y_{1} \rangle I_{d} & \langle y_{n} , y_{2} \rangle I_{d} & \dots & \lvert \lvert y_{n} \rvert \rvert ^2 I_{d} \end{bmatrix}\right)$$ Or, if we define $Y$ such that the $i$th column is $y_{i}$, then the the covariance matrix is given by $$\text{Cov}\left(\begin{bmatrix} Gy_{1} \\ \vdots \\ Gy_{n} \end{bmatrix}\right) = Y^{\intercal}Y \otimes I_{d} $$ ^statement

Proof

This follows immediately from gaussian random matrix transforms vectors into gaussian random vectors by applying the calculation to each block of the covariance matrix. (the expectation is identical)

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>
}