-
posts
-
Plotting the Riemann Zeta Spiral
-
Multilevel Graph Laplacian
During my time at Lawrence Livermore National Laboratory, I worked on multilevel coarsening of graph laplacian problems. A paper detailing the project can be found at https://arxiv.org/abs/2003.04423. The implementation, GAUSS, uses my linear algebra library linalgcpp.
-
Linalgcpp Basics - Vector
This post is a basic introduction to the
Vector
structure in linalgcpp. -
Kernel Matrix without Assembly
In this example, we define an operator that computes the action of a Kernel Matrix without assembling the entire matrix. More precisely, each entry \(a_{i,j}\) in the matrix \(A\) is computed as \(K(x_i,x_j)\). Where \(K\) is some given kernel and \(x_i\) comes from some given dataset. This is often useful in machine learning when using the “kernel trick” in SVMs.
-
Power Method
The power method is one of the simplest methods to find the maximum eigenpair of an operator. We simply compute \(x_{k+1}=\frac{Ax_k}{\left\lVert Ax_k \right\rVert}\) until the corresponding Rayleigh quotient \(\frac{x^TAx}{x^Tx}\) stops changing.
-
Checking for Operator Symmetry
In practice it is often useful to check whether an operator is symmetric. The naive approach to check if a matrix is symmetric would be to verify that each element \(a_{ij}\) is equal to the element \(a_{ji}\) for all pair of indices \(i\) and \(j\) . However, for general operators, it is often the case that there is no direct access to the elements. Only the action is available.
Stephan Gelever
Born, raised, and educated in Portland, Oregon. I am currently in Seattle employed as a Software Development Engineer for Amazon. My background is in Mathematics and Computer Science.
© 2020