algebra icon indicating copy to clipboard operation
algebra copied to clipboard

Math Documentation

Open jon-chuang opened this issue 5 years ago • 6 comments

It might be helpful to add some Readmes in the algebra and in the future, other directories, that lists out basic math of the various curves, including security, special characteristics like twists, GLV, also list some relevant references etc. Since we seem to be adding more curves. Sort of like a pokedex. My inspiration is OpenAI's SpinningUp, which had a nice documentation that explained some of the differences in RL algorithms and threw in some useful formulas.

I am happy to do this as it will help motivate my study of elliptic curves.

jon-chuang avatar Apr 07 '20 11:04 jon-chuang

I have some in-progress documentation for the curve constants, but more information about the underlying constants would definitely be useful!

I think it would be best to add these as doc-comments, because this should show up in documentation generated by cargo doc.

Pratyush avatar Apr 07 '20 22:04 Pratyush

To give an example of what I have in mind, check out spinning up's docs, e.g. for PPO. As you can see, there is fairly lengthy exposition which is not suitable for doc-comments. I think doc-comments are more suitable for API documentation.

Perhaps I should add a docs folder, I'll see what nice tools there are to generate suitable docs.

jon-chuang avatar Apr 08 '20 01:04 jon-chuang

Hmm I disagree somewhat. See, for example: https://doc-internal.dalek.rs/bulletproofs/notes/index.html

Pratyush avatar Apr 08 '20 02:04 Pratyush

Actually, those docs are generated by files in a docs folder, see https://doc-internal.dalek.rs/src/bulletproofs/lib.rs.html. Nevertheless, I like the dalek docs too.

Where can they be hosted? https://docs.rs/ is available only if you are on crates.io. Apparently one can use Travis CI + github pages

jon-chuang avatar Apr 09 '20 09:04 jon-chuang

I double-checked the constants for (almost all) Zexe implemented curves using Wolfram Mathematica. I plan to translate these to either sage or Magma in near future, and can add the files to the Zexe repo, too.

UlrichHaboeck75 avatar May 20 '20 09:05 UlrichHaboeck75

Cool, that would be greatly appreciated =)

Pratyush avatar May 20 '20 21:05 Pratyush