ENH: Implemented det and rref for frame.py(determinant and row reduced form)
Our features consist in:
-Calculating the determinant of a DataFrame
-Reducing a DataFrame to its row reduced echelon form The DataFrame's determinant algorithm tries to find linear dependencies If there are some, it will immediately return 0
Otherwise it will calculate it through recursion
The row reduction algorithm removes linear dependencies between rows And reduces the values to as low as it can

- [x] doesn't close any issue
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

i asked on slack if me and my colleague could develop some more methods for the dataframes related to linear algebra, we were asked if what we wanted was already in numpy or other libraries, to which i replied yes and justified our decision with the existance of the dot method for the dataframes. i totally understand if the people in charge decide not to accept this pull request, we implemented these methods to the DataFrame because we thought it made sense for us to do so. Thanks for the PR! I also think we should not implement these methods since they already exist in scipy.

But let's get another pandas dev's opinion before closing Yea I agree with @Aloqeely - we generally have a really high bar to expand our API. The fact that this is already available in SciPy and likely with a more performant implementation makes it less than ideal to try and duplicate in pandas.

Appreciate the PR though. Sounds like you might have done this as an exploration which is great, though for future reference it is usually best to open an enhancement request first and have someone approve at a high level before putting effort into the implementation. We are cognizant of contributor time so we want to avoid situations as much as possible where people put time into things that are unlikely to be accepted to the library