https://arxiv.org/api/xkBAdYooUWW2VY2q8pM1Xp692O42026-06-23T22:52:30Z267060015http://arxiv.org/abs/2401.03917v1Toward a comprehensive simulation framework for hypergraphs: a Python-base approach2024-01-08T14:24:54ZHypergraphs, or generalization of graphs such that edges can contain more than two nodes, have become increasingly prominent in understanding complex network analysis. Unlike graphs, hypergraphs have relatively few supporting platforms, and such dearth presents a barrier to more widespread adaptation of hypergraph computational toolboxes that could enable further research in several areas. Here, we introduce HyperRD, a Python package for hypergraph computation, simulation, and interoperability with other powerful Python packages in graph and hypergraph research. Then, we will introduce two models on hypergraph, the general Schelling's model and the SIR model, and simulate them with HyperRD.2024-01-08T14:24:54Z13 pages, 3 figuresQuoc Chuong NguyenTrung Kien Lehttp://arxiv.org/abs/2303.14690v4TOPress: a MATLAB implementation for topology optimization of structures subjected to design-dependent pressure loads2024-01-06T13:06:35ZIn a topology optimization setting, design-dependent fluidic pressure loads pose several challenges as their direction, magnitude, and location alter with topology evolution. This paper offers a compact 100-line MATLAB code, TOPress, for topology optimization of structures subjected to fluidic pressure loads using the method of moving asymptotes. The code is intended for pedagogical purposes and aims to ease the beginners' and students' learning toward topology optimization with design-dependent fluidic pressure loads. TOPress is developed per the approach first reported in Kumar et al. (Struct Multidisc Optim 61(4):1637-1655, 2020). The Darcy law, in conjunction with the drainage term, is used to model the applied pressure load. The consistent nodal loads are determined from the obtained pressure field. The employed approach facilitates inexpensive computation of the load sensitivities using the adjoint-variable method. Compliance minimization subject to volume constraint optimization problems are solved. The success and efficacy of the code are demonstrated by solving benchmark numerical examples involving pressure loads, wherein the importance of load sensitivities is also demonstrated. TOPress contains six main parts, is described in detail, and is extended to solve different problems. Steps to include a projection filter are provided to achieve loadbearing designs close to~0-1. The code is provided in Appendix~B and can also be downloaded along with its extensions from \url{https://github.com/PrabhatIn/TOPress}.2023-03-26T11:31:22Z19 Figures, MATLAB codesStructural and Multidisciplinary Optimization, 2023Prabhat Kumar10.1007/s00158-023-03533-9http://arxiv.org/abs/2310.03585v2Smoothing Methods for Automatic Differentiation Across Conditional Branches2024-01-04T14:17:30ZPrograms involving discontinuities introduced by control flow constructs such as conditional branches pose challenges to mathematical optimization methods that assume a degree of smoothness in the objective function's response surface. Smooth interpretation (SI) is a form of abstract interpretation that approximates the convolution of a program's output with a Gaussian kernel, thus smoothing its output in a principled manner. Here, we combine SI with automatic differentiation (AD) to efficiently compute gradients of smoothed programs. In contrast to AD across a regular program execution, these gradients also capture the effects of alternative control flow paths. The combination of SI with AD enables the direct gradient-based parameter synthesis for branching programs, allowing for instance the calibration of simulation models or their combination with neural network models in machine learning pipelines. We detail the effects of the approximations made for tractability in SI and propose a novel Monte Carlo estimator that avoids the underlying assumptions by estimating the smoothed programs' gradients through a combination of AD and sampling. Using DiscoGrad, our tool for automatically translating simple C++ programs to a smooth differentiable form, we perform an extensive evaluation. We compare the combination of SI with AD and our Monte Carlo estimator to existing gradient-free and stochastic methods on four non-trivial and originally discontinuous problems ranging from classical simulation-based optimization to neural network-driven control. While the optimization progress with the SI-based estimator depends on the complexity of the program's control flow, our Monte Carlo estimator is competitive in all problems, exhibiting the fastest convergence by a substantial margin in our highest-dimensional problem.2023-10-05T15:08:37Z21 pages, 17 figures, updated content to reflect journal version. Published in IEEE Access, available at https://ieeexplore.ieee.org/abstract/document/10356054IEEE Access, vol. 11 (2023), pp. 143190-143211Justin N. KreikemeyerPhilipp Andelfinger10.1109/ACCESS.2023.3342136http://arxiv.org/abs/2301.11653v2Exact hierarchical reductions of dynamical models via linear transformations2024-01-03T19:53:51ZDynamical models described by ordinary differential equations (ODEs) are a fundamental tool in the sciences and engineering. Exact reduction aims at producing a lower-dimensional model in which each macro-variable can be directly related to the original variables, and it is thus a natural step towards the model's formal analysis and mechanistic understanding. We present an algorithm which, given a polynomial ODE model, computes a longest possible chain of exact linear reductions of the model such that each reduction refines the previous one, thus giving a user control of the level of detail preserved by the reduction. This significantly generalizes over the existing approaches which compute only the reduction of the lowest dimension subject to an approach-specific constraint. The algorithm reduces finding exact linear reductions to a question about representations of finite-dimensional algebras. We provide an implementation of the algorithm, demonstrate its performance on a set of benchmarks, and illustrate the applicability via case studies. Our implementation is freely available at https://github.com/x3042/ExactODEReduction.jl2023-01-27T11:08:55ZAlexander DeminElizaveta DemitrakiGleb Pogudinhttp://arxiv.org/abs/2312.12732v1Strassen's Matrix Multiplication Algorithm Is Still Faster2023-12-20T03:09:50ZRecently, reinforcement algorithms discovered new algorithms that really jump-started a wave of excitements and a flourishing of publications. However, there is little on implementations, applications, and, especially, no absolute performance and, we show here they are not here to replace Strassen's original fast matrix multiplication yet. We present Matrix Flow, this is a simple Python project for the automatic formulation, design, implementation, code generation, and execution of fast matrix multiplication algorithms for CPUs, using BLAS interface GPUs, and in the future other accelerators. We shall not play with module-2 (Z2) algorithms and, for simplicity, we present only square double-precision matrices. By means of factorizing the operand matrices we can express many algorithms and prove them correct. These algorithms are represented by Data Flows and matrix data partitions: a Directed Acyclic Graph. We show that Strassen's original algorithm is still the top choice even for modern GPUs. We also address error analysis in double precision, because integer computations are correct, always2023-12-20T03:09:50Z8 pages, 2 images, mathematical softwarePaolo D'Albertohttp://arxiv.org/abs/2312.12685v1Using monodromy to recover symmetries of polynomial systems2023-12-20T01:05:00ZGalois/monodromy groups attached to parametric systems of polynomial equations provide a method for detecting the existence of symmetries in solution sets. Beyond the question of existence, one would like to compute formulas for these symmetries, towards the eventual goal of solving the systems more efficiently. We describe and implement one possible approach to this task using numerical homotopy continuation and multivariate rational function interpolation. We describe additional methods that detect and exploit a priori unknown quasi-homogeneous structure in symmetries. These methods extend the range of interpolation to larger examples, including applications with nonlinear symmetries drawn from vision and robotics.2023-12-20T01:05:00ZExtended journal version of conference paper published at ISSAC 2023Timothy DuffViktor KorotynskiyTomas PajdlaMargaret Reganhttp://arxiv.org/abs/2308.02052v3PyPartMC: A Pythonic interface to a particle-resolved, Monte Carlo aerosol simulation framework2023-12-19T19:39:34ZPyPartMC is a Pythonic interface to PartMC, a stochastic, particle-resolved aerosol model implemented in Fortran. Both PyPartMC and PartMC are free, libre, and open-source. PyPartMC reduces the number of steps and mitigates the effort necessary to install and utilize the resources of PartMC. Without PyPartMC, setting up PartMC requires: working with UNIX shell, providing Fortran and C libraries, and performing standard Fortran and C source code configuration, compilation and linking. This can be challenging for those less experienced with computational research or those intending to use PartMC in environments where provision of UNIX tools is less straightforward (e.g., on Windows). PyPartMC offers a single-step installation/upgrade process of PartMC and all dependencies through the pip Python package manager on Linux, macOS, and Windows. This allows streamlined access to the unmodified and versioned Fortran internals of the PartMC codebase from both Python and other interoperable environments (e.g., Julia through PyCall). Consequently, users of PyPartMC can setup, run, process and visualize output of PartMC simulations using a single general-purpose programming language.2023-08-03T21:10:44ZSoftwareX, 25 (2023), 101613Zachary D'AquinoSylwester ArabasJeffrey CurtisAkshunna VaishnavNicole RiemerMatthew West10.1016/j.softx.2023.101613http://arxiv.org/abs/2301.08336v3PyOED: An Extensible Suite for Data Assimilation and Model-Constrained Optimal Design of Experiments2023-12-19T18:40:53ZThis paper describes PyOED, a highly extensible scientific package that enables developing and testing model-constrained optimal experimental design (OED) for inverse problems. Specifically, PyOED aims to be a comprehensive Python toolkit for model-constrained OED. The package targets scientists and researchers interested in understanding the details of OED formulations and approaches. It is also meant to enable researchers to experiment with standard and innovative OED technologies with a wide range of test problems (e.g., simulation models). OED, inverse problems (e.g., Bayesian inversion), and data assimilation (DA) are closely related research fields, and their formulations overlap significantly. Thus, PyOED is continuously being expanded with a plethora of Bayesian inversion, DA, and OED methods as well as new scientific simulation models, observation error models, and observation operators. These pieces are added such that they can be permuted to enable testing OED methods in various settings of varying complexities. The PyOED core is completely written in Python and utilizes the inherent object-oriented capabilities; however, the current version of PyOED is meant to be extensible rather than scalable. Specifically, PyOED is developed to enable rapid development and benchmarking of OED methods with minimal coding effort and to maximize code reutilization. This paper provides a brief description of the PyOED layout and philosophy and provides a set of exemplary test cases and tutorials to demonstrate the potential of the package.2023-01-19T21:51:58Z22 pages, 8 figuresAbhijit ChowdharyShady E. AhmedAhmed Attiahttp://arxiv.org/abs/2312.12192v1Adaptive Improvements of Multi-Objective Branch and Bound2023-12-19T14:27:13ZBranch and bound methods which are based on the principle "divide and conquer" are a well established solution approach in single-objective integer programming. In multi-objective optimization branch and bound algorithms are increasingly attracting interest. However, the larger number of objectives raises additional difficulties for implicit enumeration approaches like branch and bound. Since bounding and pruning is considerably weaker in multiple objectives, many branches have to be (partially) searched and may not be pruned directly. The adaptive use of objective space information can guide the search in promising directions to determine a good approximation of the Pareto front already in early stages of the algorithm. In particular we focus in this article on improving the branching and queuing of subproblems and the handling of lower bound sets.
In our numerical test we evaluate the impact of the proposed methods in comparison to a standard implementation of multiobjective branch and bound on knapsack problems, generalized assignment problems and (un)capacitated facility location problems.2023-12-19T14:27:13ZJulius BaußSophie N. ParraghMichael Stiglmayrhttp://arxiv.org/abs/2303.02159v3Robust Parameter Estimation for Rational Ordinary Differential Equations2023-12-17T12:01:55ZWe present a new approach for estimating parameters in rational ODE models from given (measured) time series data.
In typical existing approaches, an initial guess for the parameter values is made from a given search interval. Then, in a loop, the corresponding outputs are computed by solving the ODE numerically, followed by computing the error from the given time series data. If the error is small, the loop terminates and the parameter values are returned. Otherwise, heuristics/theories are used to possibly improve the guess and continue the loop.
These approaches tend to be non-robust in the sense that their accuracy depend on the search interval and the true parameter values; furthermore, they cannot handle the case where the parameters are locally identifiable.
In this paper, we propose a new approach, which does not suffer from the above non-robustness. In particular, it does not require making good initial guesses for the parameter values or specifying search intervals. Instead, it uses differential algebra, interpolation of the data using rational functions, and multivariate polynomial system solving. We also compare the performance of the resulting software with several other estimation software packages.2023-03-02T14:33:06ZUpdates regarding robustnessOren BassikYosef BermanSoo GoHoon HongIlia IlmerAlexey OvchinnikovChris RackauckasPedro SotoChee Yaphttp://arxiv.org/abs/2309.08778v2Satisfiability.jl: Satisfiability Modulo Theories in Julia2023-12-16T01:55:49ZSatisfiability modulo theories (SMT) is a core tool in formal verification. While the SMT-LIB specification language can be used to interact with theorem proving software, a high-level interface allows for faster and easier specifications of complex SMT formulae. In this paper we present a novel open-source package for interacting with SMT-LIB compliant solvers in the Julia programming language.2023-09-15T21:44:49Z7 pages, revised from a previous longer version to comply with a conference length requirement. Submitted to NASA Formal Methods 2024Emiko SorokaMykel J. KochenderferSanjay Lall10.21105/joss.06757http://arxiv.org/abs/2312.03315v1Impact of parallel code optimization on computer power consumption2023-12-06T06:48:16ZThe increase in performance and power of computing systems requires the wider use of program optimizations. The goal of performing optimizations is not only to reduce program runtime, but also to reduce other computer resources including power consumption. The goal of the study was to evaluate the impact of different optimization levels and various optimization strategies on power consumption. In a series of experiments, it was established that the average power consumption tends to peak for the programs with optimized source code. The articles also describes the impact of changing computer architecture on power consumption graphs. The relationships between the average and median values of power consumption by example programs are considered. The possibility of creating program energy consumption profile for a parallel program is shown.2023-12-06T06:48:16ZE. A. KiselevP. N. TeleginA. V. Baranovhttp://arxiv.org/abs/2304.01407v2Monotonicity of Multi-Term Floating-Point Adders2023-12-04T19:07:14ZIn the literature on algorithms for performing the multi-term addition $s_n=\sum_{i=1}^n x_i$ using floating-point arithmetic it is often shown that a hardware unit that has single normalization and rounding improves precision, area, latency, and power consumption, compared with the use of standard add or fused multiply-add units. However, non-monotonicity can appear when computing sums with a subclass of multi-term addition units, which currently is not explored in the literature. We demonstrate that common techniques for performing multi-term addition with $n\geq 4$, without normalization of intermediate quantities, can result in non-monotonicity -- increasing one of the addends $x_i$ decreases the sum $s_n$. Summation is required in dot product and matrix multiplication operations, operations that have increasingly started appearing in the hardware of supercomputers, thus knowing where monotonicity is preserved can be of interest to the users of these machines. Our results suggest that non-monotonicity of summation, in some of the commercial hardware devices that implement a specific class of multi-term adders, is a feature that may have appeared unintentionally as a consequence of design choices that reduce circuit area and other metrics. To demonstrate our findings, we use formal proofs as well as a numerical simulation of non-monotonic multi-term adders in MATLAB.2023-04-03T22:45:14ZMantas Mikaitishttp://arxiv.org/abs/2312.02121v1Mathematical Supplement for the $\texttt{gsplat}$ Library2023-12-04T18:50:41ZThis report provides the mathematical details of the gsplat library, a modular toolbox for efficient differentiable Gaussian splatting, as proposed by Kerbl et al. It provides a self-contained reference for the computations involved in the forward and backward passes of differentiable Gaussian splatting. To facilitate practical usage and development, we provide a user friendly Python API that exposes each component of the forward and backward passes in rasterization at github.com/nerfstudio-project/gsplat .2023-12-04T18:50:41ZFind the library at: https://docs.gsplat.studio/Vickie YeAngjoo Kanazawahttp://arxiv.org/abs/2311.17283v1Lineax: unified linear solves and linear least-squares in JAX and Equinox2023-11-28T23:50:08ZWe introduce Lineax, a library bringing linear solves and linear least-squares to the JAX+Equinox scientific computing ecosystem. Lineax uses general linear operators, and unifies linear solves and least-squares into a single, autodifferentiable API. Solvers and operators are user-extensible, without requiring the user to implement any custom derivative rules to get differentiability. Lineax is available at https://github.com/google/lineax.2023-11-28T23:50:08Z7 pages, 1 figure, NeurIPS 2023 AI for Science workshopJason RaderTerry LyonsPatrick Kidger