Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm going to start a scientific project about automata and graph theory, and I'm searching for a graph library that supports features like:
directed/undirected graphs
graph isomorphism test (i.e. is graph g1 isomorphic w.r.t. g2?)
subgraph isomorphism test (i.e. is a graph g1 isomorphic to a subgraph of g2?)
graph search, visits and such
possibly, quite fast since I need to make some serious computations
I know about the Boost Graph Library, but it lacks subgraph testing as far as I understood from its documentation.
So, my question is: which are the best c++ graph libraries, please?
They do not have to provide support for every feature I need, I know it's certainly possible that no existing library fits perfectly my needs.
You could use iGraph: http://igraph.sourceforge.net/ which is a C library which should satisfy what you are after.
There is also http://ubietylab.net/ubigraph/, there is a related SO post here: https://stackoverflow.com/questions/2751826/which-c-graph-library-should-i-use.
I have not used ubigraph so cannot comment on that, I mainly use networkX and iGraph
UPDATE
It seems that ubigraph is dead now so only igraph is maintained currently
You may use Cliquer library http://users.tkk.fi/pat/cliquer.html for all calculations related to finding cliques.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've recently begun development on a project that requires me to visualize graphs, and I am looking for a decent algorithm to tackle this problem.
The graphs I'm drawing model data flow, so a reasonable drawing could be left-to-right or top-to-bottom. They are, of course, directed and mostly acyclic -- that is, there might be a few backwards edges, but these would be a small proportion and I would be happy to remove these before calculating vertex positions if having a DAG as input would substantially improve runtime.
I'm using C++ and Qt for this project and am already very familiar with the Elastic Nodes and the Diagram Scene examples Qt provides. If anyone has seen KCacheGrind, what I'm trying to do is similar to its call graph visualization.
My current attempts have included an original algorithm that assigns each node to a layer based on its minimum distance from the root and then tries to position the nodes inside each layer in such a way that edge crossings are minimized. I was unable to implement the last part of that correctly, and I believe the problem to be NP-Hard.
What I'm looking for is guidance as to what kinds of algorithms have been used to efficiently solve this problem in the past.
I'd suggest using QGraphicsScene to implement directed acyclic graph. Also please check these links to help you out with implementation:
https://github.com/qknight/automate
http://invalidmagic.wordpress.com/2009/12/10/qgraphicsscene-used-as-a-qabstractitemmodel/
http://socnetv.sourceforge.net/
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm studying physics and I know C++ at a basic level. at my study it's sometimes really useful to create a program which can graphicly represent some data or do calculations and then graphicly represent them. I read that, for example, to be able to master the basics of openGL I would need to do a 10 week long course of openGL. But that is too much time.
I'm wondering if there are any libraries available (for windows) which allow me to do some easy stuff like:
-DrawPixel(x,y,color)
-DrawCircle/Line/Shape/Polygon([list of points])/Triangle/Square (+rotation)
-DrawImage(filename,width,height,etc...)
-DrawText()
Is there any library which has this easyness? It would be really cool because if I do something (create a program) and I need to explain my team (who have never programmed) how I have done it (the program / results), this would make it much easier to explain!
I looked at SDL, HGE, OpenFrameworks (somewhat the "closest" yet still far away) and a few other popular libraries but they are all so far away.. why is there no such easy library?
Are there any available which are just not being found with the keywords i search in google?
I would suggest that you take a look at cinder. Try out the Hello Cinder tutorial. I think you will find it supports your needs by providing an abstraction layer above DirectX or OpenGL.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am looking for some c/c++ libraries to do fixed point singular value decomposition or eigenvalue decomposition. Do you know any libraries or any pointers to existing codes?
Thanks
There is a good answer to your question in this thread:
Single Value Decomposition implementation C++
Also, #Bathsheba is pointing you to a good resource, in Numerical Recipes. C is free, but C++ is only "available" with the paid version:
C: http://apps.nrbook.com/c/index.html
C++: http://www.nr.com/oldverswitcher.html
Numerical recipes is a good place to start for all this stuff, visit www.nr.com.
It has versions in C and C++ and other languages although an old cat like me sticks to the C versions.
The very well-written book also explains the algorithms in good detail (the authors are 4 Cambridge professors).
You will have to do some tweaking for fixed point; may be as simple as changing the data types.
Worth a look though methinks.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm looking for high performance code (needs to run in real-time), preferably open source, but if there is nothing that's free and high-perf, I'll take something well supported and of high quality for a cost.
Any suggestions?
These are the ones I've found so far, in no particular order:
CodeCogs
GSL
Cephes
Boost MathToolkit
Blitz++
TNT
Check the links on mathtools.net. The page for statistics libraries for C++ has links. Another page http://www.thefreecountry.com/sourcecode/mathematics.shtml lists few more.
Have you checked the 'R project'? I think you can call 'R objects' from C/C++.
I'm surprised nobody's mentioned ALGLIB: http://www.alglib.net/
Root has pretty good statistical support. At least as us particle physics types judge these thing. Works in cint interpretation or as a native c++ library.
TNT is for matrix calculations but doesn't have any statistics functionality. (e.g. erf, mean/std/cov etc)
I haven't used Boost Math Toolkit, but skimming through the documentation, it looks like it has the opposite problem, e.g. lots of goodies for scalar calculations, but no support (that I could find) for multivariate situations.
I have used the IT++ library in the past, this library supports ACML and MKL routines trough BLAS and LAPACK. If it are calculations that need to happen fast, there is the possibility of using this library together with HPC, this is an although undocumented feature so some thought will be required.
The focus on this library is however positioned on matrix calculations, but many normal mathematic and statistic functions can be found in this framework thanks to its excellent signal processing support.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm looking to work with others to quickly build a rather large class flow diagram that may or may not be strict UML. Can anyone recommend a networked, concurrent collaboration tool for such a task? Price is not an issue, but the target system must be Windows.
Surely someone must have done something like this in the past.
Any ideas?
DabbleBoard has an online diagramming tool that may do what you want. It should work on Windows, although it is a web-based and fairly low-level.
I don't know exactly how concurrent you need it, but Google Docs have just introduced a 'drawing' document type, which is basically a stencil based system like visio. It includes flowchart elements, and of course can be shared.