<HOME>


``And once the storm is over you won't remember how you made it through, how you managed to survive. You won't even be sure, in fact, whether the storm is really over. But one thing is certain. When you come out of the storm you won't be the same person who walked in. That's what this storm's all about.''

-Haruki Murakami


----------------------------------------------

██████╗ ███████╗██████╗     ███████╗ █████╗ ██╗   ██╗██████╗ ███████╗██████╗ ██████╗ ███████╗██████╗  ██████╗ 
██╔══██╗██╔════╝██╔══██╗    ╚══███╔╝██╔══██╗██║   ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔════╝ 
██║  ██║█████╗  ██████╔╝      ███╔╝ ███████║██║   ██║██████╔╝█████╗  ██████╔╝██████╔╝█████╗  ██████╔╝██║  ███╗
██║  ██║██╔══╝  ██╔══██╗     ███╔╝  ██╔══██║██║   ██║██╔══██╗██╔══╝  ██╔══██╗██╔══██╗██╔══╝  ██╔══██╗██║   ██║
██████╔╝███████╗██║  ██║    ███████╗██║  ██║╚██████╔╝██████╔╝███████╗██║  ██║██████╔╝███████╗██║  ██║╚██████╔╝
╚═════╝ ╚══════╝╚═╝  ╚═╝    ╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝╚═════╝ ╚══════╝╚═╝  ╚═╝ ╚═════╝ 
	  

Welcome to the magic mountain. This is the homepage for Oliver Serang. In this place you can learn about algorithms, programming, and get a little scientific software.





----------------------------------------------

 ██████╗ ██████╗ ██╗   ██╗██████╗ ███████╗███████╗██╗    ██╗ █████╗ ██████╗ ███████╗
██╔════╝██╔═══██╗██║   ██║██╔══██╗██╔════╝██╔════╝██║    ██║██╔══██╗██╔══██╗██╔════╝
██║     ██║   ██║██║   ██║██████╔╝███████╗█████╗  ██║ █╗ ██║███████║██████╔╝█████╗  
██║     ██║   ██║██║   ██║██╔══██╗╚════██║██╔══╝  ██║███╗██║██╔══██║██╔══██╗██╔══╝  
╚██████╗╚██████╔╝╚██████╔╝██║  ██║███████║███████╗╚███╔███╔╝██║  ██║██║  ██║███████╗
 ╚═════╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝ ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝




----------------------------------------------

████████╗██╗  ██╗███████╗      ████╗██╗   ██╗███╗   ██╗██╗ ██████╗ ██████╗ 
╚══██╔══╝██║  ██║██╔════╝      ╚██╔╝██║   ██║████╗  ██║██║██╔═══██╗██╔══██╗
   ██║   ███████║█████╗         ██║ ██║   ██║██╔███╔██║██║██║   ██║██████╔╝
   ██║   ██╔══██║██╔══╝    ██╗  ██║ ██║   ██║██║╚██╝██║██║██║   ██║██╔══██╗
   ██║   ██║  ██║███████╗  ██████╔╝ ╚██████╔╝██║ ╚████║██║╚██████╔╝██║  ██║
   ╚═╝   ╚═╝  ╚═╝╚══════╝  ╚═════╝   ╚═════╝ ╚═╝  ╚═══╝╚═╝ ╚═════╝ ╚═╝  ╚═╝                    
 ██████╗ ██╗   ██╗██╗██████╗ ███████╗  ████████╗ ██████╗ 
██╔════╝ ██║   ██║██║██╔══██╗██╔════╝  ╚══██╔══╝██╔═══██╗
██║  ███╗██║   ██║██║██║  ██║█████╗       ██║   ██║   ██║
██║   ██║██║   ██║██║██║  ██║██╔══╝       ██║   ██║   ██║
╚██████╔╝╚██████╔╝██║██████╔╝███████╗     ██║   ╚██████╔╝
 ╚═════╝  ╚═════╝ ╚═╝╚═════╝ ╚══════╝     ╚═╝    ╚═════╝ 
 ██████╗ ██████╗ ███╗   ███╗██████╗ ██╗███╗   ██╗ ████╗ ████████╗ ██████╗ ██████╗ ██╗ ████╗ ██╗     
██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║████╗  ██║██╔═██╗╚══██╔══╝██╔═══██╗██╔══██╗██║██╔═██╗██║     
██║     ██║   ██║██╔████╔██║██████╔╝██║██╔███╔██║██████║   ██║   ██║   ██║██████╔╝██║██████║██║     
██║     ██║   ██║██║╚██╔╝██║██╔══██╗██║██║╚██╝██║██║ ██║   ██║   ██║   ██║██╔══██╗██║██║ ██║██║     
╚██████╗╚██████╔╝██║ ╚═╝ ██║██████╔╝██║██║ ╚████║██║ ██║   ██║   ╚██████╔╝██║  ██║██║██║ ██║███████╗
 ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═════╝ ╚═╝╚═╝  ╚═══╝╚═╝ ╚═╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚═╝╚═╝ ╚═╝╚══════╝
 ██████╗██╗  ██╗███████╗███╗   ███╗██╗███████╗████████╗██████╗ ██╗   ██╗
██╔════╝██║  ██║██╔════╝████╗ ████║██║██╔════╝╚══██╔══╝██╔══██╗╚██╗ ██╔╝
██║     ███████║█████╗  ██╔████╔██║██║███████╗   ██║   ██████╔╝ ╚████╔╝ 
██║     ██╔══██║██╔══╝  ██║╚██╔╝██║██║╚════██║   ██║   ██╔══██╗  ╚██╔╝  
╚██████╗██║  ██║███████╗██║ ╚═╝ ██║██║███████║   ██║   ██║  ██║   ██║
 ╚═════╝╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝   ╚═╝




----------------------------------------------

███████╗ ██████╗ ███████╗████████╗██╗    ██╗ █████╗ ██████╗ ███████╗
██╔════╝██╔═══██╗██╔════╝╚══██╔══╝██║    ██║██╔══██╗██╔══██╗██╔════╝
███████╗██║   ██║█████╗     ██║   ██║ █╗ ██║███████║██████╔╝█████╗  
╚════██║██║   ██║██╔══╝     ██║   ██║███╗██║██╔══██║██╔══██╗██╔══╝  
███████║╚██████╔╝██║        ██║   ╚███╔███╔╝██║  ██║██║  ██║███████╗
╚══════╝ ╚═════╝ ╚═╝        ╚═╝    ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝

NeutronStar

(Fast computation of most abundant isotopes, C++17)

An object oriented library for computing the most abundant isotopologues of a compound.

NeutronStar page

EvergreenForest inference engine

(Fast Bayesian graphical models, C++11)

An object oriented graphical models package optimized for additive constraints like $$Y = X_1 + X_2 + \cdots + X_n.$$ You can also include any multidimensional discrete distributions and other types of information. It is built on TRIOT and allows users to easily write their own message passers, schedulers, graph builders, and more.

EvergreenForest page

TRIOT

(Multidimensional array library, C++11)

``Template-recursive iteration over tensors'' uses template metaprogramming to build a simple and highly flexible array library where the dimension of the array/tensor do not need to be known at compile time. The operations that can easily be vectorized with TRIOT can easily encode a wide variety of operations, meaning that if some desired vector or tensor operation is not defined in the library, it can often be performed in one line of code. In benchmarks, it has been demonstrated to perform very similarly to hand-optimized C code, outperforming boost::multi_array, numpy, and other libraries. It also implements ``TensorView'' types, in-place tensor slices that permit the same operations. It is also ripe for inserting optimization via GPU.

TRIOT page, with link to article and source code





----------------------------------------------

████████╗██╗  ██╗███████╗███████╗███████╗███████╗
╚══██╔══╝██║  ██║██╔════╝██╔════╝██╔════╝██╔════╝
   ██║   ███████║█████╗  ███████╗█████╗  ███████╗
   ██║   ██╔══██║██╔══╝  ╚════██║██╔══╝  ╚════██║
   ██║   ██║  ██║███████╗███████║███████╗███████║
   ╚═╝   ╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝╚══════╝
KYLE LUCKE, MASTERS (COMPUTER SCIENCE, 2021)
Kyle's thesis upends the usual metrics used to evaluate mass spectrometry protein inference, moving to a superior ensemble approach. In the absence of strong protein-specific priors, it also uses symmetry to establish a space of measures for scoring peptide assignments. Using a moment-based format for the protein-peptide graph, this approach is used to motivate a convolutional neural network model for protein inference.

JAKE PENNINGTON, MASTERS (COMPUTER SCIENCE, 2021)
Jake's (Rooster's) thesis derives an optimal point on the continuum of orderedness for some algorithms, such as computing the most abundant isotopes in a chemical compound. It also includes a demonstration of a novel method for estimating big-theta runtimes when master theorem and Akra-Bazzi cannot be applied.

PATRICK KREITZBERG, MASTERS (COMPUTER SCIENCE, 2019)
Patrick's thesis is a phenomenal reference on using LP, QP, relaxations of those, and fast algorithms for de novo mass spectrometry inference.

JULIANUS PFEUFFER, (VISITING STUDENT, 2016)
This work from first author Julianus proposes a numeric approximation reminiscent of the fast multipole algorithm for approximating the semiring (\mathbb{R},\max,\times) [or (\mathbb{R},\max,+)] with rings on (\mathbb{R},+,\times) [or (\mathbb{R},\max,+)]. This is relevant to max-product inference, to graph problems such as APSP, and to softmax functions in neural networks.

----------------------------------------------

serang*oliver = init((void*)this);
.
.
.