Knowledge-based automatic generation of partitioned matrix expressions. (English) Zbl 1344.68298

Gerdt, Vladimir P. (ed.) et al., Computer algebra in scientific computing. 13th international workshop, CASC 2011, Kassel, Germany, September 5–9, 2011. Proceedings. Berlin: Springer (ISBN 978-3-642-23567-2/pbk). Lecture Notes in Computer Science 6885, 144-157 (2011).
Summary: In a series of papers it has been shown that for many linear algebra operations it is possible to generate families of algorithms by following a systematic procedure. Although powerful, such a methodology involves complex algebraic manipulation, symbolic computations and pattern matching, making the generation a process challenging to be performed by hand. We aim for a fully automated system that from the sole description of a target operation creates multiple algorithms without any human intervention. Our approach consists of three main stages. The first stage yields the core object for the entire process, the Partitioned Matrix Expression (PME), which establishes how the target problem may be decomposed in terms of simpler sub-problems. In the second stage the PME is inspected to identify predicates, the Loop-Invariants, to be used to set up the skeleton of a family of proofs of correctness. In the third and last stage the actual algorithms are constructed so that each of them satisfies its corresponding proof of correctness. In this paper we focus on the first stage of the process, the automatic generation of Partitioned Matrix Expressions. In particular, we discuss the steps leading to a PME and the knowledge necessary for a symbolic system to perform such steps. We also introduce cl1ck, a prototype system written in Mathematica that generates PMEs automatically.
For the entire collection see [Zbl 1221.68017].


68W30 Symbolic computation and algebraic computation
65F30 Other matrix algorithms (MSC2010)
Full Text: DOI arXiv