Hi everyone,
For my Google Summer of Code project, I'll be working on extending the abilities
of SymPy's code generation of expressions involving matrix operations such as
inversion, multiplication and transposition. SymPy currently has only partial
support for generating code involving operations on matrices, most of which is
restricted to high-level languages in which abstractions for matrix operations
already exist. The goal of my project is to fully extend this support to all
target languages currently supported by SymPy, including relatively "low-level"
languages such as Fortran and C. Within Fortran and C, my current intention is
to provide an option for generated code to either only use existing language
primitives or leverage external libraries.
I'm also working on extending SymPy to support code generation through the
LFortran (
https://lfortran.org/) project. This will hopefully bring a greater
level of interactivity to code targeted for generation in Fortran.
I'd love to see the ways in which the SymPy community has used SymPy's matrix
code generation and how the current limitations of codegen might have manifested
themselves. I'd also be very interested in seeing continued input from the
community throughout the course of this project.
-- Ankit