SymbolicTensors.jl -- high-level tensor manipulation in Julia | Robert Rosati | JuliaCon 2020

Опубликовано: 24 Октябрь 2024
на канале: The Julia Programming Language
1,552
35

Abstract:
Learn how to speed up your tensor calculations with SymbolicTensors.jl, a package designed to manipulate and simplify your tensor expressions before rewriting them in performant pure Julia using ITensors.jl.

Many numerical tensor manipulation packages exist (e.g. Einsum.jl), but treating tensors at a purely numeric level throws away a lot of potential optimizations. Often, it's possible to exploit the symmetries of a problem to dramatically reduce the calculation steps necessary, or perform some tensor contractions symbolically rather than numerically.

SymbolicTensors.jl is designed to exploit these simplifications to generate more efficient input into numeric tensor packages than you would write by hand. It based on SymPy.jl, sympy.tensor.tensor, and ITensors.jl.

Contents
0:00 Welcome!
0:21 Introduction
0:47 Informal introductions to tensors
1:45 Aim of the SymbolicTensors.jl
2:36 Example of using SymbolicTensors.jl
3:32 Improving SymPy capabilities
4:30 Support for derivatives of tensors
5:06 Simplification option
5:40 SymbolicTensors.jl and General Relativity
6:23 Generating SymPy expressions
7:08 Benchmarking
8:05 Summary
8:37 Acknowledgments

S/O to https://github.com/KZiemian for the video timestamps!

Want to help add timestamps to our YouTube videos to help with discoverability? Find out more here: https://github.com/JuliaCommunity/You...

Interested in improving the auto generated captions? Get involved here: https://github.com/JuliaCommunity/You...