Paul Kienzle portfolio

Public project portfolio for Paul Kienzle

Projects

Bumps (source, docs)
For uncertainty analysis in modeling and inverse problems, Bayesian analysis using Markov Chain Monte Carlo is an effective black box procedure. Define your cost function as a probability distribution and MCMC can pull a sample from the multidimensional probability density function which you can use to get information about confidence intervals and parameter correlations. The Bumps package was developed to provide fitting and uncertainty analysis for Refl1D, but has since been used for fitting problems in other domains such as triple axis spectometry.
Refl1D (source, docs)
Much of my work at NIST has been in reflectometry analysis, which allows users to reconstruct the depth profile of a sample from the measured reflection.
SasView (source)
Contributor to the SasView project, primarily creating small angle scattering models written in C to be run on CUDA and OpenCL enabled computers. We try to maximize performance on commodity hardware while preserving accuracy. In addition to tuning the code, this sometimes requires numerical analysis to improve the accuracy, allowing the models to be computed with single precision floating point values. Supporting a very broad range of graphics cards requires automated testing as well careful programming to work around the idiosyncracies in the compilers and libraries provided by the different hardware vendors.
Periodic Table (source, docs)
There are many large data sets associated with nuclei and ions in the periodic table. No one application needs all of them, but they can all share the basic infrastructure. The periodic table package is a periodic table written in python which allows third party extensions which add attributes to the element, isotope or ion to be independently managed and installed. It includes a chemical formula calculator, but stops short of structural representations of molecules. This is the engine behind the SLD and neutron activation web page (below).
Neutron calculator (source, app)
This is a web service for evaluating This is the computation engine behind the NIST scattering length density and neutron activation calculator. The research reactor at Munich has a separate activation and scattering interface, also based on periodictable.
Reductus (source, app)
For some many kinds of science the raw data needs to be transformed through multiple steps and combined with other information to bring it to a state where it can be modelled. We developed a package which allows us to do this on the web. We are using a visual programming model which allows us to wire together the transformations. My contributions to this has primarily been to the backend infrastructure.
Darkfield calculator (source)
A tool for estimating the darkfield intensity for a neutron interferometer. This is part of the the NIST INFER project. Using a dark-light fringe pattern you can estimate the transmission through a sample as well as its small angle scattering by looking at the reduction of amplitude and visibility of the fringes.
Octave-forge (source)
I made major contributions to the early octave-forge project, gathering contributions from the community and my own code into a set of independently installed third party packages for Octave. I have not been active in this community since 2005, but code lives on, for example in the signal toolbox and the testfun unit testing framework in GNU Octave.
Personal projects (source)
Being personal these will be of minimal interest to you, dear reader. This page is hosted here, as well as my early experiments with python.

Publications

Publications are listed on google scholar