rwth-acis / REST-OCD-Services

This repository contains the OCD service of WebOCD. In the repository, java based codes of overlapping community detection algorithms (OCDA) can be found.
Apache License 2.0
14 stars 10 forks source link

Migration to la4j-0.5.0 #1

Closed vkostyukov closed 10 years ago

vkostyukov commented 10 years ago

Hi all,

I've bumped at this repository and found here really good examples of la4j API usage. Thanks for using it!

The library is almost ready for new release: 0.5.0. New version will include sparse iterators as well as efficient sparse operations (which is very useful for your case). I'm planing to release the 0.5.0 version in 3 weeks. If you want I can try to submit you a couple of pull-requests within the examples of new API so you can migrate the rest of the code by you own.

Anyway, I still planing to support the backward capability, so you can just update the library dependency and keep using the same API. This approach will work fine for the complex operations like matrix multiplications: you will get a huge performace gain here. But you still should rewrite your custom code (based on primitive matrix operations) with iteratos in order to increse the peformace there.

Please, let me know if you need any help with migrating the source code to new library version once it released.

seb-kro commented 10 years ago

Hello,

first of all thank you very much for creating and maintaining this library, it has really been of great help for my project. And some additional support for sparse iterators seems a very good idea to me. I managed to do everything I wanted, but a few times I was missing short cuts particularly for iterating over sparse matrices / vectors and had to do some work arounds to operate only on the non zero entries by using VectorProcedure.

This project is actually part of my Bachelor Thesis and I am hoping to finish the main aspects of the service this week, so after this I will focus more on persistense, client development and the like. Therefore I might just leave it at the status quo in order to no mess anything up in the end when I am actually already through with all the testing.

But the service is supposed to be extended in the coming months so that might give the chance to update some of the code and start making use of the new functionalities. Of course backward capability is still very important.

So thanks also for the heads up. Best, Sebastian

vkostyukov commented 10 years ago

Sure! I totally agree that in the case of a degree project it's better to leave it as is (especially when it's already tested and if the overall performance is OK).

Anyway, thanks for using it. I've been googling quite a lot for the examples of API usage (trying to understand whether or not people caught my ideas). You'r code (la4j API usage) looks like it was written by me :) It's awesome! Good luck with your thesis work!