Skip to content

Commit 28236d0

Browse files
authored
GSoC23 Rvolesti blog added (#25)
1 parent 1546bf6 commit 28236d0

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

Diff for: _posts/2023-08-27-Progress-of-Rvolesti-GSoC23.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
layout: single
3+
title: "Enhancing Volesti R Package: A Journey Towards Improved Performance and Testability"
4+
date: 2023-08-27
5+
author: Soumya Tarafder
6+
author_profile: true
7+
read_time: true
8+
comments: true
9+
share: true
10+
related: true
11+
hidden: false
12+
---
13+
<div style="text-align:center;">
14+
<b style="font-size:25px">Enhancing Volesti R Package: A Journey Towards Improved Performance and Testability</b>
15+
<br>
16+
by
17+
<br>
18+
<b>Soumya Tarafder</b>
19+
<br>
20+
<b>GSoC 2023 | GeomScale | IIT Kharagpur</b>
21+
<br>
22+
<br>
23+
</div>
24+
25+
## Introduction:
26+
27+
Here's a detailed overview of the progress achieved during the <b>Google Summer of Code (GSoC) 2023</b>, focusing on refining the <b>Volesti R Package</b> for <b>GeomScale</b>.
28+
29+
Throughout this venture, several key aspects of the project were thoroughly examined, including the strategic restructuring of the repository, the integration of comprehensive tests and optimization efforts to boost the package's overall performance.
30+
31+
- <b>Repository Restructuring:</b>
32+
33+
Merged PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/1</b>
34+
35+
<b>Overview:</b> One of the principal objectives encompassed the establishment of a dedicated repository for the <b>Volesti R Package</b>, in light of the prior amalgamation of both <b>R</b> and <b>C++</b> code within a singular repository, which subsequently posed organizational complexities. In response, a conscientious endeavor was undertaken to restructure the repository framework for the stable <b>Volesti</b> version <b>1.1.2-6</b>. This endeavor involved the segregation of the <b>R</b> package code into a distinct repository denominated as <b>Rvolesti</b>, resulting in heightened lucidity and a more streamlined developmental approach.
36+
37+
In order to facilitate seamless cohesion between the <b>Rvolesti</b> and <b>Volesti</b> repositories, the implementation of <b>Git Submodule</b> was undertaken. This strategic step enabled the <b>Rvolesti</b> repository to seamlessly retrieve the requisite <b>Header Files</b> from the <b>Volesti</b> repository.
38+
39+
- <b>Integration of Comprehensive Tests:</b>
40+
41+
Merged PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/5</b>
42+
43+
<b>Overview:</b> Ensuring the dependability and resilience of the <b>Volesti R Package</b> necessitated the incorporation of thorough testing mechanisms. In pursuit of this goal, emphasis was placed on the implementation of <b>CI</b> tests through the utilization of <b>GitHub Actions</b>. Specifically, the <b>rcmdcheck</b> package was utilized to execute static analysis and validate the <b>R</b> package comprehensively.
44+
45+
- <b>Elimination of the Test Notes with .Rbuildignore:</b>
46+
47+
Merged PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/6</b>
48+
49+
<b>Overview:</b> During the <b>CI</b> testing phase, there were instances where unnecessary <b>Notes</b> were generated, posing a potential for ambiguity. In response, efforts were channeled towards the integration of the <b>.Rbuildignore</b> file into the <b>Rvolesti</b> repository. This file facilitated the exclusion of certain files or elements from the testing procedure.
50+
51+
- <b>Modification of the R Codes:</b>
52+
53+
Merged PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/7</b>
54+
55+
<b>Overview:</b> Upon the establishment of the initial framework, a requirement emerged to integrate the latest functionalities into <b>Rvolesti</b>. Subsequently, the process of replicating the <b>R</b> files from the <b>develop</b> branch of <b>Volesti</b> was initiated, leading to the assimilation of the following functions:
56+
57+
- <b>ess()</b>
58+
- <b>geweke()</b>
59+
- <b>ode_solve()</b>
60+
- <b>psrf_multivariate()</b>
61+
- <b>psrf_univariate()</b>
62+
- <b>raftery()</b>
63+
<br><br>
64+
65+
- <b>Deletion of C++ Modules:</b>
66+
67+
Merged PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/12</b>
68+
69+
<b>Overview:</b> To resolve the challenges posed by the <b>CI</b> tests post the assimilation of the latest code, distinct <b>Class Files</b> were incorporated into the <b>R</b> directory. The files, specifically <b>HpolytopeClass.R</b>, <b>SpectrahedronClass.R</b>, <b>VpolytopeClass.R</b>, <b>VpolytopeIntersectionClass.R</b>, and <b>ZonotopeClass.R</b>, had earlier been realized as a <b>C++</b> module.
70+
71+
## <b>Other Works:</b>
72+
73+
In addition to the tasks previously outlined, several other issues pertinent to both <b>Volesti</b> and <b>Rvolesti</b> were addressed. Notable among these were:
74+
75+
- <b>Modification of the cran_include Branch of Volesti</b><br>
76+
PR Link: <b>https://github.com/GeomScale/volesti/pull/277</b>
77+
78+
- <b>Restructuring the README.md in Rvolesti</b><br>
79+
PR Link: <b>https://github.com/GeomScale/Rvolesti/pull/14</b>
80+
81+
## <b>Conclusion:</b>
82+
83+
Lastly, it is important to note that <b>Rvolesti</b> is a newly established repository that may necessitate further refinement to attain full functionality. The prospect of contributing towards enhancing its functionality is an endeavor that holds a strong appeal and interest.
84+
85+
## <b>Acknowledgement:</b>
86+
87+
I extend my heartfelt gratitude to the <b>GeomScale</b> community for providing an enriching environment for development and growth. And the insights and expertise shared by my mentors, <b>Apostolos Chalkis</b> and <b>Vissarion Fisikopoulos</b>, have been instrumental in shaping this journey.
88+
89+
90+
<div style="text-align:center;">
91+
<br>
92+
<br>
93+
<b style="font-size:25px">Thank You</b>
94+
</div>

0 commit comments

Comments
 (0)