The aim of this project is to propose a new algorithm that will help the RCM algorithm to choose a more appropriate starting point thus improving the quality of the RCM algorithm. We call the RCM using this new algorithm RCM++ and compare it in detail with the now commonly used GL_RCM and MIND_RCM. Related research can be found in https://doi.org/10.48550/arXiv.2409.04171
This folder stores all the matrix data used in the experiments, divided into two datasets. Each dataset is prepared for different experiments to evaluate various aspects of the project.Click here to access the data
This directory contains the implementation of various algorithms, including:
- The novel algorithm proposed in this project
- Traditional algorithms such as GL and MIND
Additionally, it includes code for three distinct experiments that assess the proposed algorithm in terms of:
- ⏱️ Runtime
- 📊 Result quality
- ⚡ Equation-solving speed-up
This folder provides a runnable example using two small matrices. It offers an intuitive demonstration of the proposed algorithm in action, making it easy for users to explore its functionality.
Follow the steps below to set up the project and run the example:
-
Clone the repository to your local machine:
git clone <repository_url>
Replace
<repository_url>with the actual repository link. -
Create the
datafolder: Navigate to theBNFfolder and create a new folder calleddata. Place the downloaded input files into this folder.Example:
mkdir RCM_PP/data
-
Install the required dependencies: Run the following command to install all the dependencies listed in the
requirements.txtfile:pip install -r requirements.txt
-
Add the BNF directory to your Python path: To ensure Python can locate your project files, append the
BNFdirectory to the system path:import sys sys.path.append('/content/drive/MyDrive/RCM_PP')
-
Run the example script: Execute the provided example script using the following command:
%run /content/drive/MyDrive/RCM_PP/test/Example/Example_solve.py
-
View the results: Once the script completes, navigate to the
resultsfolder to check the output files generated by the script.