As an extra minor nit, italicizing functions like sin, etc. is also somewhat unconventional in mathematical typesetting.
@media (max-width: 768px) {
p {
font-size: 1rem;
}
}The only tensor notation I've been happy with is that used in J (http://www.jsoftware.com), which is simple, flexible, and concise.
There's also some nice-enough modern notation used in this excellent review: http://www.cs.cmu.edu/~christos/courses/826-resources/PAPERS...
A_ij = B_ik C_kj
Differentiating this with respect to variable l: ∂_l A_ij = ∂_l (B_ik C_kj) = (∂_l B_ik) C_kj + B_ik (∂_l C_kj)
By writing out indices you can just use the rules for scalar derivatives.If we're talking about Einstein notation, then I'm a fan - `np.einsum()` is often a great way to create fast tensor computations with minimal code.
Eg. In the first line in 'References'
HTML: "When looking for resources on the web, search for “matrix calculus” not “vector calculus.” "
Latex/pdf: "When looking for resources on the web, search for “elements” not “elements” "
But more importantly - I need to mention that Terence Parr did nearly all the work on this. He shared my passion for making something that anyone could read on any device to such an extent that he ended up creating a new tool for generating fast, mobile-friendly math-heavy texts: https://github.com/parrt/bookish . (We tried Katex, Mathjax, and pretty much everything else but nothing rendered everything properly).
I've never found anything that introduces the necessary matrix calculus for deep learning clearly, correctly, and accessibly - so I'm happy that this now exists.