<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://blog.caramizaru.xyz/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>𝐶𝑎𝑟𝑎𝑚𝑖𝑧𝑎𝑟𝑢'𝑠 𝐵𝑙𝑜𝑔 feed:2024:03:24</title>
        <description></description>
        <link>https://blog.caramizaru.xyz/</link>
        <lastBuildDate>Mon, 18 May 2026 02:59:45 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://blog.caramizaru.xyz/lib/exe/fetch.php/wiki:favicon.ico</url>
            <title>𝐶𝑎𝑟𝑎𝑚𝑖𝑧𝑎𝑟𝑢'𝑠 𝐵𝑙𝑜𝑔</title>
            <link>https://blog.caramizaru.xyz/</link>
        </image>
        <item>
            <title>Matrix Calculus for Machine Learning and Beyond</title>
            <link>https://blog.caramizaru.xyz/doku.php/feed:2024:03:24:matrix_calculus_for_machine_learning_and_beyond</link>
            <description>
&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;matrix_calculus_for_machine_learning_and_beyond&quot;&gt;Matrix Calculus for Machine Learning and Beyond&lt;/h1&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Matrix Calculus for Machine Learning and Beyond&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;matrix_calculus_for_machine_learning_and_beyond&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;23-&amp;quot;} --&gt;&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Course Description&lt;/strong&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
We all know that calculus courses such as &lt;em&gt;18.01 Single Variable Calculus&lt;/em&gt; and &lt;em&gt;18.02 Multivariable Calculus&lt;/em&gt; cover univariate and vector calculus, respectively. Modern applications such as &lt;strong&gt;machine learning&lt;/strong&gt; and &lt;strong&gt;large-scale optimization&lt;/strong&gt; require the next big step, &lt;strong&gt;“matrix calculus”&lt;/strong&gt; and &lt;strong&gt;calculus on arbitrary vector spaces&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
This class covers a coherent approach to &lt;strong&gt;matrix calculus&lt;/strong&gt; showing techniques that allow you to think of a matrix holistically (not just as an array of scalars), generalize and compute &lt;strong&gt;derivatives of important matrix factorizations&lt;/strong&gt; and many other complicated-looking operations, and understand how differentiation formulas must be reimagined in large-scale computing. We will discuss &lt;strong&gt;reverse/adjoint/backpropagation differentiation&lt;/strong&gt;, custom &lt;strong&gt;vector-Jacobian products&lt;/strong&gt;, and how modern &lt;strong&gt;&lt;em&gt;automatic differentiation&lt;/em&gt;&lt;/strong&gt; is more computer science than calculus (&lt;strong&gt;it is neither symbolic formulas nor finite differences&lt;/strong&gt;).
&lt;/p&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;hr /&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023/&quot; class=&quot;urlextern&quot; title=&quot;https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023/&quot; rel=&quot;ugc nofollow&quot;&gt;Course  Link&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023/resources/mit18_s096iap23_lec_full_pdf/&quot; class=&quot;urlextern&quot; title=&quot;https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023/resources/mit18_s096iap23_lec_full_pdf/&quot; rel=&quot;ugc nofollow&quot;&gt;Matrix Calculus (for Machine Learning and Beyond)&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://arxiv.org/abs/2501.14787&quot; class=&quot;urlextern&quot; title=&quot;https://arxiv.org/abs/2501.14787&quot; rel=&quot;ugc nofollow&quot;&gt;Matrix Calculus (for Machine Learning and Beyond) - arxiv version&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;strong&gt;Here are some of the topics covered:&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Derivatives as linear operators and linear approximation on arbitrary vector spaces: beyond gradients and Jacobians.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Derivatives of functions with matrix inputs and/or outputs (e.g. matrix inverses and determinants). Kronecker products and matrix “vectorization.”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Derivatives of matrix factorizations (e.g. eigenvalues/SVD) and derivatives with constraints (e.g. orthogonal matrices).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Multidimensional chain rules, and the significance of right-to-left (“forward”) vs. left-to-right (“reverse”) composition. Chain rules on computational graphs (e.g. neural networks).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Forward- and reverse-mode manual and automatic multivariate differentiation.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Adjoint methods (vJp/pullback rules) for derivatives of solutions of linear, nonlinear, and differential equations.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Application to nonlinear root-finding and optimization. Multidimensional Newton and steepest–descent methods.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Applications in engineering/scientific optimization and machine learning.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Second derivatives, Hessian matrices, quadratic approximations, and quasi-Newton methods.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:math?do=showtag&amp;amp;tag=math&quot; class=&quot;wikilink1&quot; title=&quot;tag:math&quot; rel=&quot;tag&quot;&gt;math&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:optimization?do=showtag&amp;amp;tag=optimization&quot; class=&quot;wikilink1&quot; title=&quot;tag:optimization&quot; rel=&quot;tag&quot;&gt;optimization&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:derivatives?do=showtag&amp;amp;tag=Derivatives&quot; class=&quot;wikilink1&quot; title=&quot;tag:derivatives&quot; rel=&quot;tag&quot;&gt;Derivatives&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:automatic-differentiation?do=showtag&amp;amp;tag=automatic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:automatic-differentiation&quot; rel=&quot;tag&quot;&gt;automatic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:algorithmic-differentiation?do=showtag&amp;amp;tag=algorithmic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:algorithmic-differentiation&quot; rel=&quot;tag&quot;&gt;algorithmic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:ml?do=showtag&amp;amp;tag=ML&quot; class=&quot;wikilink1&quot; title=&quot;tag:ml&quot; rel=&quot;tag&quot;&gt;ML&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:alan-edelman?do=showtag&amp;amp;tag=Alan-Edelman&quot; class=&quot;wikilink1&quot; title=&quot;tag:alan-edelman&quot; rel=&quot;tag&quot;&gt;Alan-Edelman&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:steven-johnson?do=showtag&amp;amp;tag=Steven-Johnson&quot; class=&quot;wikilink1&quot; title=&quot;tag:steven-johnson&quot; rel=&quot;tag&quot;&gt;Steven-Johnson&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:mit?do=showtag&amp;amp;tag=MIT&quot; class=&quot;wikilink1&quot; title=&quot;tag:mit&quot; rel=&quot;tag&quot;&gt;MIT&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:mit-opencourseware?do=showtag&amp;amp;tag=mit-opencourseware&quot; class=&quot;wikilink1&quot; title=&quot;tag:mit-opencourseware&quot; rel=&quot;tag&quot;&gt;mit-opencourseware&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:2023?do=showtag&amp;amp;tag=2023&quot; class=&quot;wikilink1&quot; title=&quot;tag:2023&quot; rel=&quot;tag&quot;&gt;2023&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:course?do=showtag&amp;amp;tag=course&quot; class=&quot;wikilink1&quot; title=&quot;tag:course&quot; rel=&quot;tag&quot;&gt;course&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;



&lt;p&gt;
&lt;ul class=&quot;socialite&quot;&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;twitter&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;facebook&quot; target=&quot;_blank&quot; href=&quot;http://www.facebook.com/sharer.php?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;googleplus&quot; target=&quot;_blank&quot; href=&quot;https://plus.google.com/share?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Google+&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;linkedin&quot; target=&quot;_blank&quot; href=&quot;https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;summary=&amp;mini=true&amp;source=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;pinterest&quot; target=&quot;_blank&quot; href=&quot;https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Pinterest&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;tumblr&quot; target=&quot;_blank&quot; href=&quot;http://www.tumblr.com/share/link?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Tumblr&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;reddit&quot; target=&quot;_blank&quot; href=&quot;http://www.reddit.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;Reddit&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;taringa&quot; target=&quot;_blank&quot; href=&quot;http://www.taringa.net/widgets/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;body=&quot;&gt;Taringa&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;stumbleupon&quot; target=&quot;_blank&quot; href=&quot;http://www.stumbleupon.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;StumbleUpon&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;telegram&quot; target=&quot;_blank&quot; href=&quot;https://telegram.me/share/url?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;hackernews&quot; target=&quot;_blank&quot; href=&quot;https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;t=&quot;&gt;Hacker News&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;xing&quot; target=&quot;_blank&quot; href=&quot;https://www.xing-share.com/app/user?op=share;sc_p=xing-share;url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Xing&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;vk&quot; target=&quot;_blank&quot; href=&quot;https://vk.com/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;description=&amp;noparse=true&quot;&gt;Vk&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;email&quot; target=&quot;_blank&quot; href=&quot;mailto:?subject=&amp;body=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F: &quot;&gt;Email&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>math</category>
        <category>optimization</category>
        <category>derivatives</category>
        <category>automatic-differentiation</category>
        <category>algorithmic-differentiation</category>
        <category>ml</category>
        <category>alan-edelman</category>
        <category>steven-johnson</category>
        <category>mit</category>
        <category>mit-opencourseware</category>
        <category>2023</category>
        <category>course</category>
            <pubDate>Fri, 13 Jun 2025 10:19:10 +0000</pubDate>
        </item>
        <item>
            <title>The Elements of Differentiable Programming</title>
            <link>https://blog.caramizaru.xyz/doku.php/feed:2024:03:24:the_elements_of_differentiable_programming</link>
            <description>
&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;the_elements_of_differentiable_programming&quot;&gt;The Elements of Differentiable Programming&lt;/h1&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;The Elements of Differentiable Programming&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;the_elements_of_differentiable_programming&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;23-&amp;quot;} --&gt;&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Abstract&lt;/strong&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;em&gt;Artificial intelligence has recently experienced remarkable advances, fueled by large models, vast datasets, accelerated hardware, and, last but not least, the transformative power of differentiable programming. This new programming paradigm enables end-to-end differentiation of complex computer programs (including those with control flows and data structures), making gradient-based optimization of program parameters possible. As an emerging paradigm, differentiable programming builds upon several areas of computer science and applied mathematics, including automatic differentiation, graphical models, optimization and statistics. This book presents a comprehensive review of the fundamental concepts useful for differentiable programming. We adopt two main perspectives, that of optimization and that of probability, with clear analogies between the two. Differentiable programming is not merely the differentiation of programs, but also the thoughtful design of programs intended for differentiation. By making programs differentiable, we inherently introduce probability distributions over their execution, providing a means to quantify the uncertainty associated with program outputs. 
&lt;/em&gt;
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://arxiv.org/abs/2403.14606&quot; class=&quot;urlextern&quot; title=&quot;https://arxiv.org/abs/2403.14606&quot; rel=&quot;ugc nofollow&quot;&gt;Arxiv Link&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;hr /&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:mathieu-blondel?do=showtag&amp;amp;tag=Mathieu-Blondel&quot; class=&quot;wikilink1&quot; title=&quot;tag:mathieu-blondel&quot; rel=&quot;tag&quot;&gt;Mathieu-Blondel&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:vincent-roulet?do=showtag&amp;amp;tag=Vincent-Roulet&quot; class=&quot;wikilink1&quot; title=&quot;tag:vincent-roulet&quot; rel=&quot;tag&quot;&gt;Vincent-Roulet&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:optimization?do=showtag&amp;amp;tag=optimization&quot; class=&quot;wikilink1&quot; title=&quot;tag:optimization&quot; rel=&quot;tag&quot;&gt;optimization&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:derivatives?do=showtag&amp;amp;tag=Derivatives&quot; class=&quot;wikilink1&quot; title=&quot;tag:derivatives&quot; rel=&quot;tag&quot;&gt;Derivatives&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:automatic-differentiation?do=showtag&amp;amp;tag=automatic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:automatic-differentiation&quot; rel=&quot;tag&quot;&gt;automatic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:algorithmic-differentiation?do=showtag&amp;amp;tag=algorithmic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:algorithmic-differentiation&quot; rel=&quot;tag&quot;&gt;algorithmic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:differentiable-programming?do=showtag&amp;amp;tag=Differentiable-Programming&quot; class=&quot;wikilink1&quot; title=&quot;tag:differentiable-programming&quot; rel=&quot;tag&quot;&gt;Differentiable-Programming&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:ml?do=showtag&amp;amp;tag=ML&quot; class=&quot;wikilink1&quot; title=&quot;tag:ml&quot; rel=&quot;tag&quot;&gt;ML&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;



&lt;p&gt;
&lt;ul class=&quot;socialite&quot;&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;twitter&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;facebook&quot; target=&quot;_blank&quot; href=&quot;http://www.facebook.com/sharer.php?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;googleplus&quot; target=&quot;_blank&quot; href=&quot;https://plus.google.com/share?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Google+&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;linkedin&quot; target=&quot;_blank&quot; href=&quot;https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;summary=&amp;mini=true&amp;source=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;pinterest&quot; target=&quot;_blank&quot; href=&quot;https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Pinterest&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;tumblr&quot; target=&quot;_blank&quot; href=&quot;http://www.tumblr.com/share/link?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Tumblr&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;reddit&quot; target=&quot;_blank&quot; href=&quot;http://www.reddit.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;Reddit&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;taringa&quot; target=&quot;_blank&quot; href=&quot;http://www.taringa.net/widgets/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;body=&quot;&gt;Taringa&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;stumbleupon&quot; target=&quot;_blank&quot; href=&quot;http://www.stumbleupon.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;StumbleUpon&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;telegram&quot; target=&quot;_blank&quot; href=&quot;https://telegram.me/share/url?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;hackernews&quot; target=&quot;_blank&quot; href=&quot;https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;t=&quot;&gt;Hacker News&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;xing&quot; target=&quot;_blank&quot; href=&quot;https://www.xing-share.com/app/user?op=share;sc_p=xing-share;url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Xing&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;vk&quot; target=&quot;_blank&quot; href=&quot;https://vk.com/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;description=&amp;noparse=true&quot;&gt;Vk&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;email&quot; target=&quot;_blank&quot; href=&quot;mailto:?subject=&amp;body=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F: &quot;&gt;Email&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>mathieu-blondel</category>
        <category>vincent-roulet</category>
        <category>optimization</category>
        <category>derivatives</category>
        <category>automatic-differentiation</category>
        <category>algorithmic-differentiation</category>
        <category>differentiable-programming</category>
        <category>ml</category>
            <pubDate>Sun, 24 Mar 2024 14:35:26 +0000</pubDate>
        </item>
        <item>
            <title>TinyAD: Automatic Differentiation in Geometry Processing Made Simple</title>
            <link>https://blog.caramizaru.xyz/doku.php/feed:2024:03:24:tinyad_automatic_differentiation_in_geometry_processing_made_simple</link>
            <description>
&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;tinyadautomatic_differentiation_in_geometry_processing_made_simple&quot;&gt;TinyAD: Automatic Differentiation in Geometry Processing Made Simple&lt;/h1&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;TinyAD: Automatic Differentiation in Geometry Processing Made Simple&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tinyadautomatic_differentiation_in_geometry_processing_made_simple&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;23-&amp;quot;} --&gt;&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;iframe src=&quot;//www.youtube-nocookie.com/embed/FGG07HoVFEk?&quot; width=&quot;520&quot; height=&quot;293&quot; style=&quot;width:520px;height:293px;&quot; class=&quot;vshare vshare__center&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-domain=&quot;www.youtube-nocookie.com&quot; loading=&quot;lazy&quot;&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/iframe&gt;&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;hr /&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://www.graphics.rwth-aachen.de/publication/03341/&quot; class=&quot;urlextern&quot; title=&quot;https://www.graphics.rwth-aachen.de/publication/03341/&quot; rel=&quot;ugc nofollow&quot;&gt;Project Page&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://github.com/patr-schm/TinyAD&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/patr-schm/TinyAD&quot; rel=&quot;ugc nofollow&quot;&gt;Github Project&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;https://github.com/patr-schm/TinyAD-Examples&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/patr-schm/TinyAD-Examples&quot; rel=&quot;ugc nofollow&quot;&gt;Examples&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_centeralign plugin_wrap&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Abstract:&lt;/strong&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;strong&gt;
Non-linear optimization&lt;/strong&gt; is essential to many areas of &lt;strong&gt;geometry processing&lt;/strong&gt; research. However, when experimenting with different problem formulations or when prototyping new algorithms, a major practical obstacle is the need to figure out derivatives of objective functions, especially when &lt;strong&gt;second-order derivatives&lt;/strong&gt; are required. Deriving and manually implementing &lt;strong&gt;gradients&lt;/strong&gt; and &lt;strong&gt;Hessians&lt;/strong&gt; is both time-consuming and error-prone. &lt;strong&gt;Automatic differentiation&lt;/strong&gt; techniques address this problem, but can introduce a diverse set of obstacles themselves, e.g. limiting the set of supported language features, imposing restrictions on a program&amp;#039;s control flow, incurring a significant run time overhead, or making it hard to exploit &lt;strong&gt;sparsity patterns&lt;/strong&gt; common in geometry processing. We show that for many geometric problems, in particular on meshes, the simplest form of &lt;strong&gt;forward-mode automatic differentiation&lt;/strong&gt; is not only the most flexible, but also actually the most efficient choice. We introduce &lt;strong&gt;TinyAD&lt;/strong&gt;: a lightweight C++ library that automatically computes gradients and Hessians, in particular of sparse problems, by differentiating small (tiny) sub-problems. Its simplicity enables easy integration; no restrictions on, e.g., looping and branching are imposed. &lt;strong&gt;TinyAD&lt;/strong&gt; provides the basic ingredients to quickly implement first and &lt;strong&gt;second-order Newton-style solvers&lt;/strong&gt;, allowing for flexible adjustment of both problem formulations and solver details. By showcasing compact implementations of methods from parametrization, deformation, and direction field design, we demonstrate how TinyAD lowers the barrier to exploring non-linear optimization techniques. This enables not only fast prototyping of new research ideas, but also improves replicability of existing algorithms in geometry processing. TinyAD is available to the community as an &lt;strong&gt;open-source library&lt;/strong&gt;.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:patrick-schmidt?do=showtag&amp;amp;tag=Patrick-Schmidt&quot; class=&quot;wikilink1&quot; title=&quot;tag:patrick-schmidt&quot; rel=&quot;tag&quot;&gt;Patrick-Schmidt&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:janis-born?do=showtag&amp;amp;tag=Janis-Born&quot; class=&quot;wikilink1&quot; title=&quot;tag:janis-born&quot; rel=&quot;tag&quot;&gt;Janis-Born&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:david-bommes?do=showtag&amp;amp;tag=David-Bommes&quot; class=&quot;wikilink1&quot; title=&quot;tag:david-bommes&quot; rel=&quot;tag&quot;&gt;David-Bommes&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:marcel-campen?do=showtag&amp;amp;tag=Marcel-Campen&quot; class=&quot;wikilink1&quot; title=&quot;tag:marcel-campen&quot; rel=&quot;tag&quot;&gt;Marcel-Campen&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:leif-kobbelt?do=showtag&amp;amp;tag=Leif-Kobbelt&quot; class=&quot;wikilink1&quot; title=&quot;tag:leif-kobbelt&quot; rel=&quot;tag&quot;&gt;Leif-Kobbelt&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:geometric-processing?do=showtag&amp;amp;tag=Geometric-Processing&quot; class=&quot;wikilink1&quot; title=&quot;tag:geometric-processing&quot; rel=&quot;tag&quot;&gt;Geometric-Processing&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:automatic-differentiation?do=showtag&amp;amp;tag=automatic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:automatic-differentiation&quot; rel=&quot;tag&quot;&gt;automatic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:algorithmic-differentiation?do=showtag&amp;amp;tag=algorithmic-differentiation&quot; class=&quot;wikilink1&quot; title=&quot;tag:algorithmic-differentiation&quot; rel=&quot;tag&quot;&gt;algorithmic-differentiation&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:tinyad?do=showtag&amp;amp;tag=TinyAD&quot; class=&quot;wikilink1&quot; title=&quot;tag:tinyad&quot; rel=&quot;tag&quot;&gt;TinyAD&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:ad?do=showtag&amp;amp;tag=AD&quot; class=&quot;wikilink1&quot; title=&quot;tag:ad&quot; rel=&quot;tag&quot;&gt;AD&lt;/a&gt;,
	&lt;a href=&quot;https://blog.caramizaru.xyz/doku.php/tag:2022?do=showtag&amp;amp;tag=2022&quot; class=&quot;wikilink1&quot; title=&quot;tag:2022&quot; rel=&quot;tag&quot;&gt;2022&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;



&lt;p&gt;
&lt;ul class=&quot;socialite&quot;&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;twitter&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Twitter&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;facebook&quot; target=&quot;_blank&quot; href=&quot;http://www.facebook.com/sharer.php?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;googleplus&quot; target=&quot;_blank&quot; href=&quot;https://plus.google.com/share?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Google+&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;linkedin&quot; target=&quot;_blank&quot; href=&quot;https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;summary=&amp;mini=true&amp;source=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;pinterest&quot; target=&quot;_blank&quot; href=&quot;https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Pinterest&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;tumblr&quot; target=&quot;_blank&quot; href=&quot;http://www.tumblr.com/share/link?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;description=&quot;&gt;Tumblr&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;reddit&quot; target=&quot;_blank&quot; href=&quot;http://www.reddit.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;Reddit&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;taringa&quot; target=&quot;_blank&quot; href=&quot;http://www.taringa.net/widgets/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;body=&quot;&gt;Taringa&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;stumbleupon&quot; target=&quot;_blank&quot; href=&quot;http://www.stumbleupon.com/submit?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&quot;&gt;StumbleUpon&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;telegram&quot; target=&quot;_blank&quot; href=&quot;https://telegram.me/share/url?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;text=&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;hackernews&quot; target=&quot;_blank&quot; href=&quot;https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;t=&quot;&gt;Hacker News&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;xing&quot; target=&quot;_blank&quot; href=&quot;https://www.xing-share.com/app/user?op=share;sc_p=xing-share;url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&quot;&gt;Xing&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;vk&quot; target=&quot;_blank&quot; href=&quot;https://vk.com/share.php?url=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F&amp;title=&amp;description=&amp;noparse=true&quot;&gt;Vk&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;icon&quot;&gt;&lt;a class=&quot;email&quot; target=&quot;_blank&quot; href=&quot;mailto:?subject=&amp;body=https%3A%2F%2Fblog.caramizaru.xyz%2Fdoku.php%2F: &quot;&gt;Email&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>patrick-schmidt</category>
        <category>janis-born</category>
        <category>david-bommes</category>
        <category>marcel-campen</category>
        <category>leif-kobbelt</category>
        <category>geometric-processing</category>
        <category>automatic-differentiation</category>
        <category>algorithmic-differentiation</category>
        <category>tinyad</category>
        <category>ad</category>
        <category>2022</category>
            <pubDate>Sun, 24 Mar 2024 22:27:13 +0000</pubDate>
        </item>
    </channel>
</rss>
