{"repo":"InteractiveComputerGraphics/SymX","free":true,"listed":false,"github":"https://github.com/InteractiveComputerGraphics/SymX","clone":"git clone https://github.com/InteractiveComputerGraphics/SymX.git","description":"Symbolic differentiation. C++ code generation. JIT compilation. Global assembly. Non-linear optimization.","language":"C++","stars":80,"topics":["automatic-differentiation","code-generation","computer-graphics","differentiable-simulation","finite-element-method","jit-compilation","multiphysics","nonlinear-optimization","physics-simulation","scientific-computing"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"SymX Symbolic differentiation. C++ code generation. Nonlinear optimization. Differentiable simulation. Docs &nbsp;·&nbsp; PDF &nbsp;·&nbsp; ACM Page SymX is a C++ library for symbolic differentiation with automatic code generation , compilation and evaluation . Write complex mathematical expressions concisely, differentiate them arbitrarily, and let SymX evaluate them on your data structures — including global gradient and Hessian assembly. SymX targets non-linear optimization pipelines typical of FEM solvers , but it can be used for any application that needs JIT compiled math. It uses a stencil-based perspective: expressions are defined per element and evaluated over a discretization. SymX is the core engine of STARK, a simulation framework for FEM elasticity, shells, rigid bodies, and frictional contact. SymX implements the adjoint method for differentiating through converged nonlinear simulations, enabling efficient inverse problems such as material, control, and shape identification. Here is an overview of the SymX pipeline for FEM elasticity simulation: The goal is to reduce time-to-solution . In research, the bottleneck is often the time between an idea and a trustworthy result. SymX lets you quickly iterate while avoiding sinking time in manual differentiation , testing derivatives , manual optimization , stack-indexed evaluation loops , parallelism/SIMD and more. You can develop complex solvers with great performance in a fraction of the time and code footprint , whi","default_branch":null,"files":null,"tree":[],"storefront":"/r/InteractiveComputerGraphics","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/InteractiveComputerGraphics/SymX/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}