<html><head><meta http-equiv=Content-Type content="text/html; charset=UTF-8"><META name="Author" content="GroupWise WebAccess"><style type="text/css">
body p
{
margin: 0px;
}
</style></head><body style='font-family: Helvetica, Arial, sans-serif; font-size: 13px; '><p>Dear authors of pcalg,</p>
<p><br></p><p>I work as a post-doc in the "Institute of functional Genomics" at the University of Regensburg. I was using your package <strong>pcalg</strong> and implemented an optimization of the function <strong>idaFast, idaFastOpt</strong>. I created a pull request in your git-hub repository. Details on the implementation of the function can be read in the README.md file of my repository <br></p><p><br></p><p>https://github.com/PaulaAlessio/pcalg<br></p>
<p><br></p><p>Please find attached the patch file and a plot where the runtime of <b>idaFast </b>is compared to the runtime of <b>idaFastOpt </b>in a log-log file. Note that not only the total runtime is significantly reduced, but also the complexity of the algorithm seems to be reduced in my implementation. The improvement is most probably due to: <br></p><p><br></p><p>1. the optimized function was written in C++ using armadillo library<br></p><p>2. the new function creates all possible "configurations" from the set of "ambiguous parents" (to then direct the edges) using bitwise operations and this should be much faster than calling <b><code>combn </code></b>to obtain them. <br></p><p><br></p><p>Yours sincerely,</p>
<p><br></p><p><br></p><p>Paula</p></body></html>