Compare the execution time of different implementions of one of the following matrix operations using Einstein notation:
- Trace of an array
- Return a diagonal
- Array axis summations
- Transpositions and permutations
- Matrix multiplication and dot product
- Vector inner and outer products
- Broadcasting, element-wise and scalar multiplication
- Tensor contractions
- Chained array operations, in efficient calculation order
For this you have to complete the following steps:
- Discuss in this repository using issus which matrix operation you want to implement
- Discuss with the other groups using issues which matrix operation they implement. Each group should implement a different function.
- Discuss in this repository using issues who will do which task (developing algorithm, documentation, unit test)
- Discuss who should be the main responsible for the repository (the one that can accept merge requests, let me know in discord so I can adjust rights)
- Discuss and generate milestone for your project to optimize the timeline of your project
- Discuss and generate labels for your issues
- Fork this repository
- Generate the necessary files for your task and commit them. Commmit not just the final result but also intermediate steps. (Think of it like saving the file. Everytime you save, commit)
- create merge requests for your work
Also use discord for discussing solutions to any issues popping up.
- pay attention to add references to all code you use from somewhere else
- make sure the license of your sources permit to reuse their code
- add references for all factual statements you make
- include https://github.com/ubsuny/CompPhys/blob/main/ReviewPython/EinsteinNotation.ipynb in your homework keeping the above three points in mind
Homework Points | |||
---|---|---|---|
Interaction on own project | |||
Category | min per person | point factor | max points |
Commits | 6 | 1 | 6 |
Merge requests | 3 | 1 | 3 |
Merge Accepted | 1 | 1 | 1 |
Branches | 5 | 0.5 | 2.5 |
Issues | 10 | 0.5 | 5 |
Closed Issues | 5 | 0.2 | 1 |
# Conversations | 25 | 0.2 | 5 |
Total | 23.5 | ||
Shared project points | |||
# Label | 10 | 0.2 | 2 |
# Milestones | 2 | 1 | 2 |
# Tags | 0 | 1 | 0 |
Total | 10 | 4 | |
Interaction on others project(s) | |||
Category | min per person | point factor | max points |
Commits | 3 | 1 | 3 |
Branches | 1 | 0.5 | 0.5 |
Issues | 6 | 0.5 | 3 |
# Conversations | 15 | 0.2 | 3 |
Total | 22 | 9.5 | |
Result | |||
Task completion | 5 | 1 | 5 |
Sum | 42 |