# Lenticulum.jl - a Lux.jl for Implicit Learning / relation learning

**URL:** <https://discourse.julialang.org/t/lenticulum-jl-a-lux-jl-for-implicit-learning-relation-learning/139834>\
**Category:** Package Announcements\
**Tags:** machine-learning, experimentation\
**Created:** [October 5, 2026, 12:54pm UTC](https://discourse.julialang.org/t/lenticulum-jl-a-lux-jl-for-implicit-learning-relation-learning/139834 "2026-10-05T12:54:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![DnBgk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnbgk/32/208819_2.png) [@DnBgk](https://discourse.julialang.org/u/DnBgk)\
**Post date:** [October 5, 2026, 12:54pm UTC](https://discourse.julialang.org/t/lenticulum-jl-a-lux-jl-for-implicit-learning-relation-learning/139834/1 "2026-10-05T12:54:52Z")

</div>

> **[GitHub - MathStruct/Lenticulum.jl: An Implicit Learning Library](https://github.com/MathStruct/Lenticulum.jl)**
>
> An Implicit Learning Library

So this library deliberately mirrors Lux.jl however it is build on the more general idea of learning with parametrized functions not relations

| | [Lux.jl](https://lux.csail.mit.edu/?utm_source=chatgpt.com) | [Lenticulum.jl](https://github.com/MathStruct/Lenticulum.jl?utm_source=chatgpt.com) |
| --- | --- | --- |
| architecture | explicit | implicit |
| Learner | f\_\theta(x): X\rightarrow Y | R\_\theta\subset Z |
| Directionality | Directed: inputs → outputs | must choose directions |
| Wiring | directed acylic graph | arbitrary graphs |
| inference | function evaluation | root finding |
| backpropagation | autodiff | implicit function theorem |

The main workhorse of this library are diffusion models:  
You can see some of the results in the tutorials already:  
[https://mathstruct.github.io/Lenticulum.jl/dev/](https://mathstruct.github.io/Lenticulum.jl/dev/)  
or you can even look into the corresponding theory wiki, which is an obsidian vault turned into a website:

> **[Lenticulum — theory vault · Lenticulum](https://mathstruct.org/Lenticulum.jl/dev/vault/)**
>
> Lenticulum.jl learns relations instead of functions: a model of a joint space Z = X \\times Y \\times U that decides at query time which coordinates are inputs X, outputs Y and latents U.

It is of course still mostly AI generated, however the core idea is more than validated.

I will not register it anytime soon but feel free to try it out.

Feedback appreciated!

---

<div class="post-metadata">

**Author:** ![stustd](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stustd/32/21430_2.png) [@stustd](https://discourse.julialang.org/u/stustd)\
**Post date:** [October 5, 2026, 2:10pm UTC](https://discourse.julialang.org/t/lenticulum-jl-a-lux-jl-for-implicit-learning-relation-learning/139834/2 "2026-10-05T14:10:52Z")

</div>

How does this compare to factor graph implementations (e.g. RxInfer.jl)?
