5,103 research outputs found

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010

    A CasADi Based Toolchain For JModelica.org

    Get PDF
    Computer-aided modeling for simulation, optimization and analysis is increasingly used for product development in industry today, resulting in high demands on the tools used. A tool chain for transferring interpreted code of the modeling languages Modelica and Optimica from the simulation and optimization tool JModelica.org to CasADi has been implemented. CasADi provides several desirable features, most importantly an integrated and ecient automatic dierentiation engine and the ability to interactively work with the systems expressed using it. The biggest problems solved to enable this were the creation of a representation of the mathematical systems described by Modelica and Optimica code that is integrated with CasADi, and the construction of a transfer scheme for moving information from the Java-based JModelica.org compiler to C++ in which CasADi resides. This was successfully achieved for a continuous subset of Modelica and Optimica that may contain functions

    On the growth rate of 1324-avoiding permutations

    Full text link
    We give an improved algorithm for counting the number of 13241324-avoiding permutations, resulting in 5 further terms of the generating function. We analyse the known coefficients and find compelling evidence that unlike other classical length-4 pattern-avoiding permutations, the generating function in this case does not have an algebraic singularity. Rather, the number of 1324-avoiding permutations of length nn behaves as B⋅μn⋅μ1nσ⋅ng.B\cdot \mu^n \cdot \mu_1^{n^{\sigma}} \cdot n^g. We estimate μ=11.60±0.01,\mu=11.60 \pm 0.01, σ=1/2,\sigma=1/2, μ1=0.0398±0.0010,\mu_1 = 0.0398 \pm 0.0010, g=−1.1±0.2g = -1.1 \pm 0.2 and B=9.5±1.0.B =9.5 \pm 1.0.Comment: 20 pages, 10 figure

    Certified Roundoff Error Bounds Using Semidefinite Programming.

    Get PDF
    Roundoff errors cannot be avoided when implementing numerical programs with finite precision. The ability to reason about rounding is especially important if one wants to explore a range of potential representations, for instance for FPGAs or custom hardware implementation. This problem becomes challenging when the program does not employ solely linear operations as non-linearities are inherent to many interesting computational problems in real-world applications. Existing solutions to reasoning are limited in the presence of nonlinear correlations between variables, leading to either imprecise bounds or high analysis time. Furthermore, while it is easy to implement a straightforward method such as interval arithmetic, sophisticated techniques are less straightforward to implement in a formal setting. Thus there is a need for methods which output certificates that can be formally validated inside a proof assistant. We present a framework to provide upper bounds on absolute roundoff errors. This framework is based on optimization techniques employing semidefinite programming and sums of squares certificates, which can be formally checked inside the Coq theorem prover. Our tool covers a wide range of nonlinear programs, including polynomials and transcendental operations as well as conditional statements. We illustrate the efficiency and precision of this tool on non-trivial programs coming from biology, optimization and space control. Our tool produces more precise error bounds for 37 percent of all programs and yields better performance in 73 percent of all programs

    An Optimisation-Driven Prediction Method for Automated Diagnosis and Prognosis

    Get PDF
    open access articleThis article presents a novel hybrid classification paradigm for medical diagnoses and prognoses prediction. The core mechanism of the proposed method relies on a centroid classification algorithm whose logic is exploited to formulate the classification task as a real-valued optimisation problem. A novel metaheuristic combining the algorithmic structure of Swarm Intelligence optimisers with the probabilistic search models of Estimation of Distribution Algorithms is designed to optimise such a problem, thus leading to high-accuracy predictions. This method is tested over 11 medical datasets and compared against 14 cherry-picked classification algorithms. Results show that the proposed approach is competitive and superior to the state-of-the-art on several occasions
    • …
    corecore