21,179 research outputs found

    Automatic C library wrapping Ctypes from the trenches

    Get PDF
    At some point of time many Python developers at least in computational science will face the situation that they want to interface some natively compiled library from Python. For binding native code to Python by now a larger variety of tools and technologies are available. This paper focuses on wrapping shared C libraries, using Python's default Ctypes. Particularly tools to ease the process (by using code generation) and some best practises will be stressed. The paper will try to tell a step by step story of the wrapping and development process, that should be transferable to similar problems

    Source code: automatic C library wrapping - Ctypes from the trenches

    Get PDF
    At some point of time many Python developers at least in computational science will face the situation that they want to interface some natively compiled library from Python. For binding native code to Python by now a larger variety of tools and technologies are available. This paper focuses on wrapping shared C libraries, using Python's default Ctypes, with the help of the matching source code generator from CtypesLib

    A C++ library using quantum trajectories to solve quantum master equations

    Get PDF
    Quantum trajectory methods can be used for a wide range of open quantum systems to solve the master equation by unraveling the density operator evolution into individual stochastic trajectories in Hilbert space. This C++ class library offers a choice of integration algorithms for three important unravelings of the master equation. Different physical systems are modeled by different Hamiltonians and environment operators. The program achieves flexibility and user friendliness, without sacrificing execution speed, through the way it represents operators and states in Hilbert space. Primary operators, implemented in the form of simple routines acting on single degrees of freedom, can be used to build up arbitrarily complex operators in product Hilbert spaces with arbitrary numbers of components. Standard algebraic notation is used to build operators and to perform arithmetic operations on operators and states. States can be represented in a local moving basis, often leading to dramatic savings of computing resources. The state and operator classes are very general and can be used independently of the quantum trajectory algorithms. Only a rudimentary knowledge of C++ is required to use this package.Comment: 17 pages standard LaTeX + 3 figures (postscript). Submitted to Computer Physics Communications. Web site: http://galisteo.ma.rhbnc.ac.uk/applied/QSD.htm

    CAMORRA: a C++ library for recursive computation of particle scattering amplitudes

    Get PDF
    We present a new Monte Carlo tool that computes full tree-level matrix elements in high-energy physics. The program accepts user-defined models and has no restrictions on the process multiplicity. To achieve acceptable performance, CAMORRA evaluates the matrix elements in a recursive way by combining off-shell currents. Furthermore, CAMORRA can be used to compute amplitudes involving continuous color and helicity final states.Comment: 22 page

    Chaste: an open source C++ library for computational physiology and biology

    Get PDF
    Chaste - Cancer, Heart And Soft Tissue Environment - is an open source C++ library for the computational simulation of mathematical models developed for physiology and biology. Code development has been driven by two initial applications: cardiac electrophysiology and cancer development. A large number of cardiac electrophysiology studies have been enabled and performed, including high performance computational investigations of defibrillation on realistic human cardiac geometries. New models for the initiation and growth of tumours have been developed. In particular, cell-based simulations have provided novel insight into the role of stem cells in the colorectal crypt. Chaste is constantly evolving and is now being applied to a far wider range of problems. The code provides modules for handling common scientific computing components, such as meshes and solvers for ordinary and partial differential equations (ODEs/PDEs). Re-use of these components avoids the need for researchers to "re-invent the wheel" with each new project, accelerating the rate of progress in new applications. Chaste is developed using industrially-derived techniques, in particular test-driven development, to ensure code quality, re-use and reliability. In this article we provide examples that illustrate the types of problems Chaste can be used to solve, which can be run on a desktop computer. We highlight some scientific studies that have used or are using Chaste, and the insights they have provided. The source code, both for specific releases and the development version, is available to download under an open source Berkeley Software Distribution (BSD) licence at http://www.cs.ox.ac.uk/chaste, together with details of a mailing list and links to documentation and tutorials
    corecore