Such a beautiful article! What tools did you use to draw the diagrams?
I’ve been working on a generalization of graphical tensor notation to include general functions. This is useful when combined with Penrose’s “Covariant Derivative” notation and allows you to mechanistically symbolically compute the derivative of complicated tensor networks with respect to arbitrary tensors: https://github.com/thomasahle/tensorgrad
I’d be curious to know what you think about the design choices involved, given your excellent distillation & pedagogy powers.
Thanks for the kind words! Sadly I just used inkscape for the diagrams—nothing fancy. Though hopefully that could change soon with the help of code like yours. Your library looks excellent! (though I initially confused it with https://github.com/wangleiphy/tensorgrad due to the name). I like how you represent functions on the tensors, like you’re peering inside them. I can see myself using it often, both for visualizing things, and for computing derivatives.
The difficulty in using it for final diagrams may be in getting the positions of the tensors arranged nicely. Do you use a force-directed layout like networkx for that currently? Regardless, a good thing about exporting tixz code is that you can change the positions manually, as long as the positions are set up as nice tikz variables rather than “hardcoded” numbers everywhere.
Anyway, I love it. Here’s an image for others to get the idea:
Such a beautiful article! What tools did you use to draw the diagrams?
I’ve been working on a generalization of graphical tensor notation to include general functions. This is useful when combined with Penrose’s “Covariant Derivative” notation and allows you to mechanistically symbolically compute the derivative of complicated tensor networks with respect to arbitrary tensors: https://github.com/thomasahle/tensorgrad
I’d be curious to know what you think about the design choices involved, given your excellent distillation & pedagogy powers.
Thanks for the kind words! Sadly I just used inkscape for the diagrams—nothing fancy. Though hopefully that could change soon with the help of code like yours. Your library looks excellent! (though I initially confused it with https://github.com/wangleiphy/tensorgrad due to the name).
I like how you represent functions on the tensors, like you’re peering inside them. I can see myself using it often, both for visualizing things, and for computing derivatives.
The difficulty in using it for final diagrams may be in getting the positions of the tensors arranged nicely. Do you use a force-directed layout like networkx for that currently? Regardless, a good thing about exporting tixz code is that you can change the positions manually, as long as the positions are set up as nice tikz variables rather than “hardcoded” numbers everywhere.
Anyway, I love it. Here’s an image for others to get the idea:
https://lh3.googleusercontent.com/pw/AP1GczOcN5JNU0oTkklp2dvgilWHN1DwDJWBuJ7j38iCuA0MBmEN-DmWY0YfjsRbBH-WgM6NjBuCPhtVGNiY2uG_z9dtsPnNp8Uw4UShPAIQOeMIaw0Zj-4dR6_u_lt9FIz6BsAJJtM91tpt4Dj7xlL_ybusKw=w990-h1974-s-no-gm?authuser=0