81 research outputs found

    Implementation of linear minimum area enclosing traingle algorithm

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    No full text
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    We study hyperbolic polyhedral surfaces with faces isometric to regular hyperbolic polygons satisfying that the total angles at vertices are at least 2π.2\pi. 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

    Get PDF
    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
    • 

    corecore