81 research outputs found
Implementation of linear minimum area enclosing traingle algorithm
This article has been made available through the Brunel Open Access Publishing Fund.An algorithm which computes the minimum area triangle enclosing a convex polygon in linear time already exists in the literature. The paper describing the algorithm also proves that the provided solution is optimal and a lower complexity sequential algorithm cannot exist. However, only a high-level description of the algorithm was provided, making the implementation difficult to reproduce. The present note aims to contribute to the field by providing a detailed description of the algorithm which is easy to implement and reproduce, and a benchmark comprising 10,000 variable sized, randomly generated convex polygons for illustrating the linearity of the algorithm
The State of Software for Evolutionary Biology
With Next Generation Sequencing data being routinely used, evolutionary biology is transforming into a computational
science. Thus, researchers have to rely on a growing number of increasingly complex software. All widely used core tools
in the field have grown considerably, in terms of the number of features as well as lines of code and consequently, also
with respect to software complexity. A topic that has received little attention is the software engineering quality of widely
used core analysis tools. Software developers appear to rarely assess the quality of their code, and this can have potential
negative consequences for end-users. To this end, we assessed the code quality of 16 highly cited and compute-intensive
tools mainly written in C/CĂŸĂŸ (e.g., MrBayes, MAFFT, SweepFinder, etc.) and JAVA (BEAST) from the broader area of
evolutionary biology that are being routinely used in current data analysis pipelines. Because, the software engineering
quality of the tools we analyzed is rather unsatisfying, we provide a list of best practices for improving the quality of
existing tools and list techniques that can be deployed for developing reliable, high quality scientific software from
scratch. Finally, we also discuss journal as well as science policy and, more importantly, funding issues that need to be
addressed for improving software engineering quality as well as ensuring support for developing new and maintaining
existing software. Our intention is to raise the awareness of the community regarding software engineering quality issues
and to emphasize the substantial lack of funding for scientific software developmen
Analysis of Round Off Errors with Reversibility Test as a Dynamical Indicator
We compare the divergence of orbits and the reversibility error for discrete
time dynamical systems. These two quantities are used to explore the behavior
of the global error induced by round off in the computation of orbits. The
similarity of results found for any system we have analysed suggests the use of
the reversibility error, whose computation is straightforward since it does not
require the knowledge of the exact orbit, as a dynamical indicator. The
statistics of fluctuations induced by round off for an ensemble of initial
conditions has been compared with the results obtained in the case of random
perturbations. Significant differences are observed in the case of regular
orbits due to the correlations of round off error, whereas the results obtained
for the chaotic case are nearly the same. Both the reversibility error and the
orbit divergence computed for the same number of iterations on the whole phase
space provide an insight on the local dynamical properties with a detail
comparable with other dynamical indicators based on variational methods such as
the finite time maximum Lyapunov characteristic exponent, the mean exponential
growth factor of nearby orbits and the smaller alignment index. For 2D
symplectic maps the differentiation between regular and chaotic regions is well
full-filled. For 4D symplectic maps the structure of the resonance web as well
as the nearby weakly chaotic regions are accurately described.Comment: International Journal of Bifurcation and Chaos, 201
Preservation of Lyapunov-Theoretic Proofs: From Real to Floating-Point Numbers
In Feron presents how Lyapunov-theoretic proofs of stability can be migrated toward computerreadable and verifiable certificates of control software behavior by relying of Floydâs and Hoareâs proof system.However, Feronâs proofs are addressed towards exact, real arithmetic and do not accurately represent the behavior of realistic programs run with machine arithmetic. We address the issue of errors resulting from the use of floating-point arithmetic: we present an approach to translate Feronâs proof invariants on real arithmetic to similar invariants on floating-point numbers and show how our methodology applies to prove stability, thus allowing to verify whether the stability invariant still holds when the controller is implemented.We study in details the open-loop system of Feronâs paper. We also use the same approach forFeronâs closed-loop system, but the constraints are too tights to show stability in this second case:more leeway should be introduced in the proof on real numbers, otherwise the resulting system might be unstable
Numerical limitations of the attainment of the orientation of geological planes
The paper discusses limitations of analytical
attainment of the attitude of a geological plane by using
three non-collinear points. We present problems that
arise during computing the orientation of a plane generated
by almost collinear points. We referred these errors
to floating-point arithmetic inaccuracies. To demonstrate
the problem, we examined a surface of constant orientation.
We used Delaunay triangulation to calculate its local
orientation parameters. We introduced a new measure of
collinearity applicable for collecting attitude of planar triangles.
Using this measure we showed that certain planes
generated by the triangulation cannot be treated as a reliable
source of measurement. To examine the relationship
between collinearity and orientation, we used a combinatorial
algorithm to obtain all possible planes from the
given set of points. A statistical criterion of rejecting almost
collinear planes was suggested
Reproducible Econometric Simulations
Reproducibility of economic research has attracted considerable attention in recent years. So far, the discussion has focused on reproducibility of empirical analyses. This paper addresses a further aspect of reproducibility, the reproducibility of computational experiments. We examine the current situation in econometrics and derive a set of guidelines from our findings. To illustrate how computational experiments could be conducted and reported we present an example from time series econometrics that explores the finite-sample power of certain structural change tests.computational experiment, reproducibility, simulation, software.
Hyperbolic polyhedral surfaces with regular faces
We study hyperbolic polyhedral surfaces with faces isometric to regular
hyperbolic polygons satisfying that the total angles at vertices are at least
The combinatorial information of these surfaces is shown to be
identified with that of Euclidean polyhedral surfaces with negative
combinatorial curvature everywhere. We prove that there is a gap between areas
of non-smooth hyperbolic polyhedral surfaces and the area of smooth hyperbolic
surfaces. The numerical result for the gap is obtained for hyperbolic
polyhedral surfaces, homeomorphic to the double torus, whose 1-skeletons are
cubic graphs.Comment: 23 pages, 3 figures. arXiv admin note: text overlap with
arXiv:1804.1103
A non-local method for robustness analysis of floating point programs
Robustness is a standard correctness property which intuitively means that if
the input to the program changes less than a fixed small amount then the output
changes only slightly. This notion is useful in the analysis of rounding error
for floating point programs because it helps to establish bounds on output
errors introduced by both measurement errors and by floating point computation.
Compositional methods often do not work since key constructs---like the
conditional and the while-loop---are not robust. We propose a method for
proving the robustness of a while-loop. This method is non-local in the sense
that instead of breaking the analysis down to single lines of code, it checks
certain global properties of its structure. We show the applicability of our
method on two standard algorithms: the CORDIC computation of the cosine and
Dijkstra's shortest path algorithm.Comment: QAPL - Tenth Workshop on Quantitative Aspects of Programming
Languages (2012
- âŠ