Reproducibility
Firstly, I tried to make sure the code I was writing so far and commiting to my github could be reproduced and checked by anyone. So now, the complete status and instructions for how the code written by me can be reproduced and tested on various systems is documented in this README file on my branch, and I will keep updating it as per any changes in subsequent commits.
Optimization
While the NVector implementation can be used in the example shown, I worked on it throughout this week function-by-function to make them wrappers to ColumnVector methods rather than elementwise operations on ColumnVector entries, to take advantage of vectorization in octave.
[/quote]
Here, I first identified only the required functions needed by IDA , added the tests I was using on my local system to test each function individually, documented the tests and code to be reproducible on other systems, learnt about overloaded operators by broadcasting and using builtin functions and have since then been trying to replace all required functions by IDA with the correct ColumnVector function implementations, in the N_Vector implementation. Here are the functions I have worked on since then, so you can view the Octave functions I have used in my wrappers at a glance :
In everything mentioned above, I have tried to best of my ability to use as many optimized functions and test so as to ensure this custom implementation of N_Vector would work as intended. I just have a few small things I would like to confirm wrt functions N_VScale, N_VCompare and N_VConstrMask, to make sure the way I have approached them is correct.