W. Gins, B. van den Borne, R.P. de Groote, G. Neyens
{"title":"SATLAS2: An update to the package for analysis of counting data","authors":"W. Gins, B. van den Borne, R.P. de Groote, G. Neyens","doi":"10.1016/j.cpc.2023.109053","DOIUrl":null,"url":null,"abstract":"<div><p><span>SATLAS2 is a Python library that enables the user to fit counting data from laser spectroscopy<span> experiments, in particular those that measure atomic hyperfine structures. In this analysis, the user can choose how the uncertainties are treated and can also opt to generate a random walk in order to present a fuller picture of the parameter space. The major upgrade compared to the previous version of SATLAS </span></span><span>[1]</span><span><span> is the different architecture of the codebase, which enabled a performance boost, with speed-up factors ranging from 20 to 300 times for various use cases. For backward compatibility, a translation layer between the two architectures is available, implementing only the </span>core functionality of SATLAS.</span></p></div><div><h3>New version program summary</h3><p><em>Program Title:</em> SATLAS2</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/3hr8f5nkhb.2</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://github.com/IKS-nm/satlas2</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> MIT</p><p><span><em>Programming language</em><em>:</em></span> Python</p><p><em>Journal reference of previous version:</em><span> Computer Physics Communications, Volume 222, 2018, Pages 286-294, ISSN 0010-4655, </span><span>https://doi.org/10.1016/j.cpc.2017.09.012</span><svg><path></path></svg></p><p><em>Does the new version supersede the previous version?:</em> Yes</p><p><em>Reasons for the new version:</em> Improved and more stable performance</p><p><em>Summary of revisions:</em> The architecture of the SATLAS package has been completely changed. Instead of operating on Models, using SumModel and LinkedModel for various analysis options, SATLAS2 works with a central Fitter object to which Sources get assigned, which themselves get assigned Models. This structure improves the performance by streamlining the code and benefits from using a <em>pass by reference</em> approach for changing the parameters, rather than a <em>pass by value</em>. Most of the functionality is maintained, with a small interface for most basic things available so SATLAS2 can be used as a drop-in replacement.</p><p><em>Nature of problem:</em> The analysis of specifically counting data has some special considerations compared to more common datasets with Gaussian-distributed uncertainties. Application of Bayesian inference through random walk exploration is useful for more accurate exploration of parameter space. The fitting of multiple models with shared parameters can be desirable for either fitting multiple datasets with the same parameters or imposing additional restrictions on the parameters.</p><p><em>Solution method:</em> SATLAS2 implements the correct statistical costs for fitting of both counting data and Gaussian distributed uncertainties, and allows an easy implementation of custom cost functions.. Through the implementation of multiple Sources and Models, a natural extension of the fitting is made, so multiple models can be both summed together to fit to the same data and multiple fits can be linked together through parameter linking, using the underlying LMFIT <span>[2]</span> library. The ability to fit simultaneously increases the possibilities for extensive statistical analyses, and the interface through LMFIT with the emcee <span>[3]</span> library enables Bayesian exploration of the parameter space.</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"297 ","pages":"Article 109053"},"PeriodicalIF":7.2000,"publicationDate":"2023-12-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465523003983","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
SATLAS2 is a Python library that enables the user to fit counting data from laser spectroscopy experiments, in particular those that measure atomic hyperfine structures. In this analysis, the user can choose how the uncertainties are treated and can also opt to generate a random walk in order to present a fuller picture of the parameter space. The major upgrade compared to the previous version of SATLAS [1] is the different architecture of the codebase, which enabled a performance boost, with speed-up factors ranging from 20 to 300 times for various use cases. For backward compatibility, a translation layer between the two architectures is available, implementing only the core functionality of SATLAS.
New version program summary
Program Title: SATLAS2
CPC Library link to program files:https://doi.org/10.17632/3hr8f5nkhb.2
Does the new version supersede the previous version?: Yes
Reasons for the new version: Improved and more stable performance
Summary of revisions: The architecture of the SATLAS package has been completely changed. Instead of operating on Models, using SumModel and LinkedModel for various analysis options, SATLAS2 works with a central Fitter object to which Sources get assigned, which themselves get assigned Models. This structure improves the performance by streamlining the code and benefits from using a pass by reference approach for changing the parameters, rather than a pass by value. Most of the functionality is maintained, with a small interface for most basic things available so SATLAS2 can be used as a drop-in replacement.
Nature of problem: The analysis of specifically counting data has some special considerations compared to more common datasets with Gaussian-distributed uncertainties. Application of Bayesian inference through random walk exploration is useful for more accurate exploration of parameter space. The fitting of multiple models with shared parameters can be desirable for either fitting multiple datasets with the same parameters or imposing additional restrictions on the parameters.
Solution method: SATLAS2 implements the correct statistical costs for fitting of both counting data and Gaussian distributed uncertainties, and allows an easy implementation of custom cost functions.. Through the implementation of multiple Sources and Models, a natural extension of the fitting is made, so multiple models can be both summed together to fit to the same data and multiple fits can be linked together through parameter linking, using the underlying LMFIT [2] library. The ability to fit simultaneously increases the possibilities for extensive statistical analyses, and the interface through LMFIT with the emcee [3] library enables Bayesian exploration of the parameter space.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.