by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 06 13:22
    szhorvat opened #108
  • Jul 28 21:07
    jonaprieto closed #107
  • Jul 28 19:08
    jonaprieto opened #107
  • May 04 21:04
    szhorvat labeled #106
  • May 04 21:04
    szhorvat opened #106
  • May 03 19:49
    szhorvat labeled #104
  • May 03 19:49
    szhorvat assigned #104
  • May 03 19:43
    szhorvat labeled #105
  • May 03 19:43
    szhorvat assigned #105
  • May 03 10:52
    jplauri edited #105
  • May 03 10:51
    jplauri edited #105
  • May 03 10:51
    jplauri edited #105
  • May 03 10:50
    jplauri opened #105
  • May 03 09:59
    jplauri edited #104
  • May 03 09:57
    jplauri edited #104
  • May 03 09:53
    jplauri opened #104
  • May 02 19:59
    szhorvat labeled #103
  • May 02 19:59
    szhorvat assigned #103
  • May 02 18:14
    jplauri opened #103
  • Apr 08 16:47
    szhorvat opened #102
Szabolcs Horvát
@szhorvat
@shepard76_gitlab Did you get my email? I am anxious to find out if works! :-)
Paul F Shepard
@shepard76_gitlab
Did you want to chat some more about this or just communicate by email?
Szabolcs Horvát
@szhorvat
@shepard76_gitlab Could you check your glibc version?
Apparently this can be done by finding out where the libc.so.6 file is and directly running it
On my system, I can use /lib/x86_64-linux-gnu/libc.so.6
On yours it may be elsewhere
From what I could fid so far: the problem is that your libc is too old, and my binary apparently requires glibc 2.14 or later
It also seems that the most practical option might be for you to also install a newer glibc (but not replace your old one). However, this is a bit messy.
I am still trying to understand if it is at all possible to compile in such a way as to reduce the glibc version dependency, without having to use an old Linux distro
Basically, you would need to: 1. download the source 2. configure it to install into e.g. /opt/glibc-2.14 It is important not to overwrite the system's version 3. compile and install into the above location 4. Temporarily set the LD_LIBRARY_PATH environment variable to look for libraries in that location, then run Mathematica and try again.
Szabolcs Horvát
@szhorvat
However, step 4. may not work immediately with Mathematica. As I remember, Mathematica's startup script messes with LD_LIBRARY_PATH. I need to look up what the issue was exactly and how to work around it.
@shepard76_gitlab So, to sum up: I'm still looking if I can work around the libc incompatibility without setting up a very old Linux to compile on. If that works, great. If it doesn't, I think the best workaround is for you to install a second, newer glibc. Actually, the best is to use a newer Linux but I understand you may not be able to do that right now.
Even if I can't support your system, I was able to extend compatibility further back, which is very useful.
I am going to log off for today though (it's 8:30 PM). I'll email you if there's progress on this.
Paul F Shepard
@shepard76_gitlab
Thank-you again for the help.
Szabolcs Horvát
@szhorvat
Interested people: Please test this before final release and let me know both if you found problems or if you didn't: https://www.dropbox.com/s/gxqsircmgp2q8ui/IGraphM-0.3.100.92.paclet?dl=0
Szabolcs Horvát
@szhorvat
Raspberry Pi support is re-added.
Szabolcs Horvát
@szhorvat
@/all New version released! v0.3.102 Please upgrade as there were important fixes recently. It's easy with the upgrade script.
Szabolcs Horvát
@szhorvat
@/all There is a new release. Please upgrade.
Szabolcs Horvát
@szhorvat
@/all I have restructured IGraph/M’s test suite to make it very easy to edit for anyone. If you are willing to help me write new tests, please write a message. New documentation examples are also welcome.
image.png
Szabolcs Horvát
@szhorvat
@/all New release out, please upgrade. https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@Juddd It has the beginnings of a matching (independent edge set) functionality, but perfect matchings are not yet included.
Szabolcs Horvát
@szhorvat
@/all New release, please upgrade.
Szabolcs Horvát
@szhorvat
@/all Last release of the year. Please upgrade. https://github.com/szhorvat/IGraphM/releases/tag/v0.3.108
Szabolcs Horvát
@szhorvat
@/all New release: 0.3.110. It fixes a serious bug in multigraph sub-isomorphism, so please upgrade. https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@/all New release: 0.3.111. It fixes serious bugs in IGPlanarGraph and IGEdgeTransitiveQ. It introduces several new functions for checking graph symmetry and regularity. Please upgrade! https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@/all If any of you uses this package on the Raspberry Pi, please let me know. I am thinking about stopping support for this platform due to lack of demand.
Szabolcs Horvát
@szhorvat
If you're wondering, IGraph/M works well with the new free Wolfram Engine http://wolfram.com/engine
Yaroslav Bulatov
@yaroslavvb
Curious how you made it portable -- I expected integration with igraph needs binary dependencies which would need platform-specific compilation instructions, right? Or is it pure mathematica?
Szabolcs Horvát
@szhorvat

@yaroslavvb

Curious how you made it portable -- I expected integration with igraph needs binary dependencies which would need platform-specific compilation instructions, right? Or is it pure mathematica?

Oh no, this can't be done with pure Mathematica :-) It has a big C++ component which needs to be compiled separately for each platform. That's really a pain ...

Currently, I ship 5 binaries: Windows 64-bit, Linux 64-bit, macOS 64-bit in two versions for M10.3- (libstdc++) and for M10.4+ (libc++) and Raspberry Pi.
Ensuring binary compatibility with all sorts of systems is a huge PITA. I struggled a lot with Linux where people complained that it didn't work on the ancient RedHat/CentOS/Scientific Linux 6 (it does work on 7+ now), which Mathematica still supports for some reason. I just gave up on that system ... RHEL 7 was also a struggle but I have the magic formula for that now.
Szabolcs Horvát
@szhorvat
@yaroslavvb BTW the binary components also mean that it won’t work in the cloud, at least not until Wolfram finally starts supporting paclets officially, sets up a paclet repo, irons out the problems with it, gets it to the point where they’d accept binary paclets into the repo—something that won’t happen initially—then finally build some signing/trust system which works well enough that they can start allowing binary paclets even in the cloud.
The chances of that happening are low, and even if it does, with the current apparent pace of progress on the paclet repo I’d expect it to take years.
BUT the things that are in IGraph/M (not all of which come from igraph) simply cannot be implemented in Mathematica with usable performance. Right now, graph colouring is the only serious functionality written in pure WL.
In fact, the Mathematica part of the package and the poor state of the Graph related functionality in Mathematica act as a drag on what the package could be capable of.
The little feedback that’s coming from WRI on my complaints about this suggests that some of the people who make decisions have rather poor understanding on what either graph theory or network analysis functionality needs to look like to be actually practically useful. It’s harsh to say this, but I became convinced that they don’t actually use the system in the way us users would ...
Szabolcs Horvát
@szhorvat
This stuff will never work well until they start listening to people who actually try to make use of this functionality to get real work done. Not play around and see what the system can do. That’s the wrong starting point. Instead, take a real problem and try to solve it with Mathematica.
The network analysis capabilities suffer even more than the graph theory ones.
It’s really sad to see this because there are not many alternatives with a similar breadth of functionality. However, most alternatives have better performance, much better reliability, and are simply more practical because their development is driven by real needs … Yes, they’re definitely much uglier and sometimes inconsistent, but they can do what people want to do most often. They’re also sufficiently flexible to build new functionality ...
arshishir
@arshishir
I made a graph using MNIST data which looks like this: imgur.com/a/CfVXvuO .. On that graph, I want to add a digit (for example : 2) just to see how that digit looks like in that graph landscape .. Basically, I want to represent the pixel values of digit 2 as intensities and the then map every pixel (which is the vertex of the graph) to the graph that I created using the ensemble of MNIST digits.. how should I do that?
Szabolcs Horvát
@szhorvat
@arshishir This does not look specific to IGraph/M … I would suggest that you post the question to https://mathematica.stackexchange.com/ as I do not have time to look right now
This channel is doe discussing issues specific to IGraph/M
arshishir
@arshishir
@szhorvat Thanks. Got it. I did post on mathematica stackexchange chat but then I found IGraph/M and I thought that I would insight from graph people here so I posted here.
Szabolcs Horvát
@szhorvat
@/all New release available. Please upgrade. https://github.com/szhorvat/IGraphM/
Szabolcs Horvát
@szhorvat

@/all IGraph/M 0.4 is released, and finally out of pre-release. https://igraph.discourse.group/t/igraph-m-0-4/166 Please upgrade, especially if you use Mathematica 12.1.

This chatroom will be slowly phased out. For support, use https://mathematica.stackexchange.com/ (tag the question with igraphm) or https://igraph.discourse.group/ . To be notified of future releases, simply register on https://igraph.discourse.group/ You will be automatically signed up for notifications, and you will also be able to disable them manually if you wish.