2,434 research outputs found

    Automatic linearity detection

    Get PDF
    Given a function, or more generally an operator, the question "Is it linear?" seems simple to answer. In many applications of scientific computing it might be worth determining the answer to this question in an automated way; some functionality, such as operator exponentiation, is only defined for linear operators, and in other problems, time saving is available if it is known that the problem being solved is linear. Linearity detection is closely connected to sparsity detection of Hessians, so for large-scale applications, memory savings can be made if linearity information is known. However, implementing such an automated detection is not as straightforward as one might expect. This paper describes how automatic linearity detection can be implemented in combination with automatic differentiation, both for standard scientific computing software, and within the Chebfun software system. The key ingredients for the method are the observation that linear operators have constant derivatives, and the propagation of two logical vectors, β„“\ell and cc, as computations are carried out. The values of β„“\ell and cc are determined by whether output variables have constant derivatives and constant values with respect to each input variable. The propagation of their values through an evaluation trace of an operator yields the desired information about the linearity of that operator

    Computing invariants of algebraic group actions in arbitrary characteristic

    Full text link
    Let G be an affine algebraic group acting on an affine variety X. We present an algorithm for computing generators of the invariant ring K[X]^G in the case where G is reductive. Furthermore, we address the case where G is connected and unipotent, so the invariant ring need not be finitely generated. For this case, we develop an algorithm which computes K[X]^G in terms of a so-called colon-operation. From this, generators of K[X]^G can be obtained in finite time if it is finitely generated. Under the additional hypothesis that K[X] is factorial, we present an algorithm that finds a quasi-affine variety whose coordinate ring is K[X]^G. Along the way, we develop some techniques for dealing with non-finitely generated algebras. In particular, we introduce the finite generation locus ideal.Comment: 43 page

    The Reverse Cuthill-McKee Algorithm in Distributed-Memory

    Full text link
    Ordering vertices of a graph is key to minimize fill-in and data structure size in sparse direct solvers, maximize locality in iterative solvers, and improve performance in graph algorithms. Except for naturally parallelizable ordering methods such as nested dissection, many important ordering methods have not been efficiently mapped to distributed-memory architectures. In this paper, we present the first-ever distributed-memory implementation of the reverse Cuthill-McKee (RCM) algorithm for reducing the profile of a sparse matrix. Our parallelization uses a two-dimensional sparse matrix decomposition. We achieve high performance by decomposing the problem into a small number of primitives and utilizing optimized implementations of these primitives. Our implementation shows strong scaling up to 1024 cores for smaller matrices and up to 4096 cores for larger matrices
    • …
    corecore