| Requirement | Description |
|---|---|
| Basic Matrix Operations | The library shall implement basic functions for matrix, such as addition, subtraction, multiplication and scalar multiplication. |
| Advanced Matrix Operations | The library shall provide advanced functions for matrix, such as calculating the determinant of a matrix or transposition. |
| Matrix Validation and Checking Class | The library shall include functions to check the compatibility of matrices for operations and multiple checks to determine the kind of matrix. |
| File Operations Class | The library shall provide functions to save matrices to a file and to load matrix file. |
| Error Reporting | The library shall provide clear error messages for failed operations, such as dimension mismatches or attempts to invert a singular matrix. |
| Software Documentation | The library shall include comprehensive software documentation with examples for each function. |
| Requirement | Description |
|---|---|
| Programming Language | The application shall be written in C++. |
| Code Quality | The library shall adhere to industry-standard coding practices, including proper indentation, naming conventions, and use of comments for clarity. |
| Error Handling | The library shall include robust error handling mechanisms to manage exceptions and unexpected inputs without crashing. |
| Modular Design | The library shall be developed with a modular design, allowing individual components to be updated or replaced without affecting the entire system. |
| Testing Framework | The library shall include a comprehensive test suite using a testing framework. |
| Version Control | The library shall be maintained using the Git version control system to track changes and manage versions. |