1,388 research outputs found

    Aspects of Large Scale Symbolic Computation Management

    Get PDF
    The special-purpose computer algebra system FELIX is designed for computations in constructive commutative and non-commutative algebra. In this paper we discuss some features of the system supporting the computation of rather complex problems, especially standard basis computations, using standard hardware. There is a frst aspect concerning the definition and implementation of the basic data types which should be a good compromise between space and time efficient representations of the algebraic objects. Usually, rather complex computations are very time consuming (up to weeks) and often require several attempts. So, there are included special session saving methods in FELIX which allows to backup the attained intermediate results in form of memory images into special session files and to restart later on. Finally, we describe our efforts crunching complex problems by parallelization. The implemented interface is based on stream sockets and includes a special protocol for the data exchange. It supports the distributed computation on heterogeneous, loosely coupled systems

    Evaluating probabilistic programming languages for simulating quantum correlations

    Full text link
    This article explores how probabilistic programming can be used to simulate quantum correlations in an EPR experimental setting. Probabilistic programs are based on standard probability which cannot produce quantum correlations. In order to address this limitation, a hypergraph formalism was programmed which both expresses the measurement contexts of the EPR experimental design as well as associated constraints. Four contemporary open source probabilistic programming frameworks were used to simulate an EPR experiment in order to shed light on their relative effectiveness from both qualitative and quantitative dimensions. We found that all four probabilistic languages successfully simulated quantum correlations. Detailed analysis revealed that no language was clearly superior across all dimensions, however, the comparison does highlight aspects that can be considered when using probabilistic programs to simulate experiments in quantum physics.Comment: 24 pages, 8 figures, code is available at https://github.com/askoj/bell-ppl

    Opt: A Domain Specific Language for Non-linear Least Squares Optimization in Graphics and Imaging

    Full text link
    Many graphics and vision problems can be expressed as non-linear least squares optimizations of objective functions over visual data, such as images and meshes. The mathematical descriptions of these functions are extremely concise, but their implementation in real code is tedious, especially when optimized for real-time performance on modern GPUs in interactive applications. In this work, we propose a new language, Opt (available under http://optlang.org), for writing these objective functions over image- or graph-structured unknowns concisely and at a high level. Our compiler automatically transforms these specifications into state-of-the-art GPU solvers based on Gauss-Newton or Levenberg-Marquardt methods. Opt can generate different variations of the solver, so users can easily explore tradeoffs in numerical precision, matrix-free methods, and solver approaches. In our results, we implement a variety of real-world graphics and vision applications. Their energy functions are expressible in tens of lines of code, and produce highly-optimized GPU solver implementations. These solver have performance competitive with the best published hand-tuned, application-specific GPU solvers, and orders of magnitude beyond a general-purpose auto-generated solver

    The Model Concept: Nonprocedural Programming for Nonprogrammers, II

    Get PDF
    This text contains description of the syntax and semantics of the language, MODEL, and techniques for its use. MODEL is a fifth-generation computer language. It is equational and non-procedural. (What these terms mean will be made clear to you as you begin to get involved in the MODEL system.) In this chapter, we shall discuss the value of the language. MODEL is a tool for systems and program design and development. Like most computer languages, the MODEL system comes with a compiler which is used to receive and analyze the language statements. But as we shall see later on, the whole process of analysis and coding is radically different in the MODEL system from programming methods in current practice. Using today\u27s conventional technology, it is necessary for the analyst to have knowledge of how a computer works internally. Otherwise, the analysis is often unusable by the programmers. To express data processing requirements that are translatable into a procedural language requires knowledge of how a computer executes the solution of the problem Non-procedural languages are problem-oriented and independent of knowledge of how the computer works. MODEL eliminates the need for transfer of information from analyst to programmer. The MODEL system uses the computer to perform program design and coding automatically. In traditional systems design, after the requirements and analysis phases are completed, the programming task begins. Specifications are given to programmers who fmt perform the program &sign and then write and debug the programs. In MODEL, once a specification is completed, the programming task is also done as a byproduct The specification itself is entered into the computer; submitted to the MODEL compiler. A PL/I program is generated, as well as a series of reports about the newly generated program. MODEL has facilities for automating all program development phases: design, coding and testing. It reduces the analyst\u27s involvement with computer execution through having the compiler interface with the computer and its environment. The analyst writes a specification which is entered into the computer. The specification is transformed into a PL/I program by the MODEL compiler. As soon as the specification is completed the system is ready for testing. In short, MODEL is an outgrowth of a widespread need to make programming more natural and more accessible to non-programmers. Welcome to the realm of non-procedurality. You are going to learn a new methodology for systems analysis. It will help you to complete complex projects and enable you to conceptualize problems in a clear, precise manner, without having to at the same time worry about its implementation in a computer
    • …
    corecore