219 karma · joined August 10, 2016
Happy to answer any questions people have, including on other simulation methods other than state vector!
The benefit of having typed notes at least for me come from being able to search, having a good record of my own understanding of a course and also not having to rely on keeping handwritten notes safe. They also look pretty which is a bonus for studying from them.
Examples:
- Analysis I (which have been edited): https://adamkelly.me/files/ia-analysis-i/analysis-i.pdf
- Graph Theory (not edited but diagrams added): https://adamkelly.me/files/ii-graph-theory/graph-theory.pdf
As a side note, one other thing I do is write short 'handouts' on topics that I think I have something to say about. For example https://adamkelly.me/files/handouts/direct-products/direct-p....
- vEnhance (https://www.youtube.com/c/vEnhance), an MIT student and IMO Gold Medalist who solved problems live on stream (and plays various games)
- Osman Nal (https://www.youtube.com/c/OsmanNal), looking at problems ranging from AMC/AIME to IMO 3/6s
- Michael Greenberg (https://www.youtube.com/channel/UC3mhbGC7kQgzkXT9fceNOwA), a geometry enthusiast who also live solves problems, though the production quality isn't amazing
And of course, Michael Penn (but that's in the post above)!
A similar but less malicious case would be one of organising the seating on a train or in a cinema, but rather then biasing against families, biasing against other, unrelated groups.
For example - in a cinema, you usually do not wish to sit right beside another group when the rest of the seats are free. Still, you don't want to be that far from the center.
How do you design an algorithm for this? How will it scale? How can you make the most number of groups happy with their seats? How do you avoid having individual seats that nobody wants?
In the sort term though there's a big place for languages like C, C++ and Rust for things like simulations which need to be done
If I wanted the best possible speed, latest features ect. I would write multiple back ends in things like CUDA.
I choose OpenCL because I can develop code on my Macbook pro, and run that on a computer with a discrete GPU on a different operating system, and have a fair amount of confidence that it would work.
:/
This, along with really simple testing, benchmarking and the ease of adding dependencies (through crates) made it a good choice. There are almost no downsides from using rust, provided you have experience with it!
- https://www.youtube.com/watch?v=JhHMJCUmq28 | Quantum Computers Explained - https://www.youtube.com/watch?v=IrbJYsep45E | The Mathematics of Quantum Computers - https://www.youtube.com/watch?v=wUwZZaI5u0c | Hacking at Quantum Speed with Shor's Algorithm - https://www.youtube.com/playlist?list=PL1826E60FD05B44E4 | A series by the author of the standard textbook
These are videos I particularly like!
I am currently working on implementing shors algorithm into my main, simulation library. I already have grovers algorithm! https://qcgpu.github.io/qcgpu-rust/book/algorithms/grover.ht...
A well-written version using OpenCL and written in rust is also available: http://github.com/qcgpu/qcgpu-rust if you are interested! Always looking for feedback