index

This is a set of notes made in an attempt to organize my reading of, and thinking about, the documentation provided with the Ivy tool.

Ivy's existing docs are good, but have some shortcomings: they're incomplete (much is only covered in testcases, examples, or comments inside the implementation); they have a fixed tutorial-centric presentation order for many concepts; they assume a lot of background knowledge in formal logic; and they lack navigational structure (especially internal hyperlinking) which helps learn a concept that depends on several others one is learning simultaneously.

All this makes it a bit hard (or did for me) to learn the full scope of material presented. So I started making these notes to help myself out.

My goals here are threefold:

  • To decompose the existing documentation into lots of inter-linked concept-specific notes, to allow the reader to explore in any order they need to, iteratively, and starting from any point they wish.
  • To consolidate all the various facts mentioned or implied about each concept throughout multiple tutorials, test cases, papers and the existing reference into each concept-specific page.
  • To expand on each concept beyond how it's covered in the existing documentation, through linking to external papers, conducting experiments with the tool and recording the results as examples, and writing original text/explanations myself.

I hope that my doing this work is not viewed as a disapproval of the existing tutorials -- they are good for what they do, exploring a conceptual landscape and the intended organization and development of an Ivy project. But I've found them inadequate for my learning task, and Ivy is just conceptually quite big and complex! I think good documentation requires multiple perspectives and organizations, which I hope to help provide.

Source material for this is a mix of the existing Ivy docs (which are all MIT-licensed), my own writing (which is MIT-licensed) and small excerpts from papers that have particularly lucid explanations (which I believe / hope fall under either liberal licensing regimes or the doctrine of fair use, though not all of them are clear).

Please let me know if you see words of yours that you don't think it's license-legitimate for me to be publishing here. Also any other feedback, bug fixes, corrections or patches welcome!