# NeuralMag > Differentiable micromagnetic simulation (PyTorch/JAX) with a SymPy form compiler: energy functionals compile to branch-free, JIT-friendly, autodifferentiable tensor kernels. Full offline-equivalent context (`neuralmag.llm_context()`): [llms-full.txt](https://docs.neuralmag.org/llms-full.txt) ## User guide - [Introduction](https://docs.neuralmag.org/user_guide/introduction.html): mental model + philosophy - [Dynamic attributes](https://docs.neuralmag.org/user_guide/dynamic_attributes.html): branch-free differentiable kernels - [Form compiler](https://docs.neuralmag.org/user_guide/form_compiler.html) - [Discretization](https://docs.neuralmag.org/user_guide/discretization.html): nodal-FD vs FIC - [Domains](https://docs.neuralmag.org/user_guide/domains.html): add_domain + fill_by_domain - [Periodic boundaries](https://docs.neuralmag.org/user_guide/pbc.html) ## Reference - [State / Mesh / Function](https://docs.neuralmag.org/reference/state.html) - [Field terms](https://docs.neuralmag.org/reference/field_terms.html) - [LLG solver](https://docs.neuralmag.org/reference/llg_solver.html) - [Config & env vars](https://docs.neuralmag.org/reference/config.html) ## Examples - [Example gallery](https://docs.neuralmag.org/examples/index.html): standard problems, DMI, optimization