qiskit-advocate / qamp-fall-22

Qiskit advocate mentorship program (QAMP) fall 22 cohort (Sep - Dec 2022)
15 stars 7 forks source link

Good first issues in rustworkx #19

Open mtreinish opened 2 years ago

mtreinish commented 2 years ago

Description

rustworkx is a high performance general purpose graph library for python written in Rust to take advantage of the performance and safety that Rust provides. It was originally built as a replacement for Qiskit's previous networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage both in Qiskit and other applications. We use rustworkx at the core of many of Qiskit's algorithms and functions (including the transpiler) when a graph representation is needed.

This project is to work on improving rustworkx and to help maintain the project. The primary activities around this project are going to be contributing to rustworkx and working on open issues. The full list of good first issues in rustworkx can be found here.

Deliverables

The project is to work through good first issues on rustworkx. So ideally pull requests and reviews of others pull requests on rustworkx are the deliverable for this project. However, as it is a fairly open ended project to get involved in the development of rustworkx the exact deliverables aren't set in stone. In previous iterations mentees have helped opened pull requests to other projects using rustworkx along with other related tasks

Mentors details

Number of mentees

3

Type of mentees

acharyasourav commented 2 years ago

Hello @mtreinish I'm new to open-source and would love to contribute all I lack is a mentor to guide me through stuff. I've experience in python and also learning graph theory as a part of my course. I don't mind learning rust on the go. It would be great being a mentee.

miamico commented 2 years ago

I'd like to be a mentee on this issue. Is this a possibility for IBMers too?

gideonuchehara commented 2 years ago

Hello @mtreinish , I am interested in this project. I have submitted my application for mentorship. Please, let me know what the next steps are. Looking forward to working with you. Thanks.

gprs1809 commented 2 years ago

Hello @mtreinish, I have opted for this project. It looks super interesting. I am well-versed with Python, I loved graph theory when I studied it and would love to get back to it. I am extremely keen on learning Rust as well. Would be really happy to learn more about this project from you. Looking forward to a discussion and hopefully, also getting an opportunity to work on this :)

Seungwook-Woo commented 2 years ago

@GemmaDawson

prakharb10 commented 2 years ago

@GemmaDawson

acharyasourav commented 2 years ago

@GemmaDawson

GemmaDawson commented 2 years ago

@SUGARXUST - Please email or Slack me to discuss as I cannot find your application or advocate listing.

prakharb10 commented 2 years ago

Checkpoint 1 presentation - qamp-ch-1.pdf

Seungwook-Woo commented 2 years ago

Checkpoint 2 update

Add ladder graph generator and test unit

I have studied the Rust-lang and submitted a PR Qiskit/rustworkx#705 for the ladder graph generator. I plan to resolve some conflicts in the PR and contribute to Rustworkx in another issue.

An example of the ladder graph ladder_graph

prakharb10 commented 2 years ago

Apologies for the delay. I've been extra busy with school and other work. My contributions in this phase have been less than the first four weeks, mainly due to the above reasons. My semester ends soon, and I plan to work full-time for the rest of the project.


I added two graph generators - complete and empty (https://github.com/Qiskit/rustworkx/pull/679). This is part of the more significant issue of expanding the generator module. Minor QA work - https://github.com/Qiskit/rustworkx/pull/691. I'm also continuing my work on https://github.com/Qiskit/rustworkx/issues/587 to close the issue.

Visualizations of the graphs: Empty Graph rustworkx generators empty_graph_0_0

Complete Graph (Directed) rustworkx generators directed_complete_graph_0_0

GemmaDawson commented 1 year ago

@prakharb10 & @Seungwook-Woo - please upload your Final Showcase presentation materials, and if needed, update the project Title and/or description.

Seungwook-Woo commented 1 year ago

@GemmaDawson Hello, sorry for the late upload. In this QAMP fall 22, I have dealt with a ladder graph generator and now I'm dealing with periphery issue. This is the final showcase presentation file. QAMP_Final_SWWOO.pptx

GemmaDawson commented 1 year ago

Congratulations on completing all the requirements for QAMP Fall 2022!! ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ

prakharb10 commented 1 year ago

Final ppt: qamp-final.pdf