SUBSPACE-INATOR
Inspiration:
The reason why we wanted to do this is because we realized we could do a harder prompt to challenge our thinking and programming skills. We wanted to push ourselves to do something we haven't done before.
What it does:
A user can enter in a number for the size of the n x n matrix, and with that matrix, they can input their own matrix. It would then solve for the total number of invariant subspaces of the matrix.
How we built it:
back-end: We used the NumPy, SciPy, and SymPy packages to find the Generalized Eigenvalues, Eigenvectors, and Eigenspace, as well as the Jordan basis and the Jordan Canonical Form. We then used the Jordan Canonical Form to calculate the number of invariant subspaces by counting the number of Jordan blocks
front-end: We used a library called Tkinter which handles all of the GUI aspects of the program. The library allows us to make text boxes for user input, and buttons for the user to navigate through the program. It also allowed us to use an image as a background, as well as making custom windows.
Challenges we ran into:
With the front-end side, we were not familiar with Tkinter and how to use the library to make a GUI. There were a lot of image-loading problems, and user-input was not working as intended. There was a lot of trial and error when it came to making the user interface.
Accomplishments that we're proud of:
- Learning to work with Tkinter.
- We worked under a short amount of time
Log in or sign up for Devpost to join the conversation.