Morse matchings seem to be missing

Questions and problems about using polymake go here.
julian
Developer
Posts: 20
Joined: 08 Nov 2011, 15:55

Morse matchings seem to be missing

Postby julian » 08 Nov 2011, 16:18

Hi guys,

It looks like the clients

Code: Select all

morse_matching.cc, morse_matching_critical_faces.cc, morse_matching_n_critical_faces.cc, morse_matching_size.cc
have gone missing since 2.3 ...

At least, it appears from /usr/local/share/polymake/apps/topaz/rules/morse_matching.rules that these clients should be callable. Saying

Code: Select all

application("topaz"); $cc = cube_complex(1,1,1); print $cc->MORSE_MATCHING_CRITICAL_FACES;
yields

Code: Select all

polymake: WARNING: Use of inherited AUTOLOAD for non-method Polymake::topaz::SimplicialComplex::client() is deprecated at /usr/local/share/polymake/apps/topaz/rules/morse_matching.rules line 106, <GEN9> line 79. polymake: WARNING: rule greedy.morse_matching: MORSE_MATCHING, MORSE_MATCHING_SIZE, MORSE_MATCHING_CRITICAL_FACES, MORSE_MATCHING_N_CRITICAL_FACES, MORSE_MATCHING_CRITICAL_FACE_VECTOR : HASSE_DIAGRAM failed: Can't locate object method "type" via package "morse_matching" (perhaps you forgot to load "morse_matching"?) at /usr/local/share/polymake/perllib/Polymake/Core/Object.pm line 1712, <GEN9> line 79. polymake: WARNING: Use of inherited AUTOLOAD for non-method Polymake::topaz::SimplicialComplex::client() is deprecated at /usr/local/share/polymake/apps/topaz/rules/morse_matching.rules line 111, <GEN9> line 79. polymake: WARNING: rule cancel.morse_matching: MORSE_MATCHING, MORSE_MATCHING_SIZE, MORSE_MATCHING_CRITICAL_FACES, MORSE_MATCHING_N_CRITICAL_FACES, MORSE_MATCHING_CRITICAL_FACE_VECTOR : HASSE_DIAGRAM failed: Can't locate object method "type" via package "morse_matching" (perhaps you forgot to load "morse_matching"?) at /usr/local/share/polymake/perllib/Polymake/Core/Object.pm line 1712, <GEN9> line 79. polymake: WARNING: Use of inherited AUTOLOAD for non-method Polymake::topaz::SimplicialComplex::client() is deprecated at /usr/local/share/polymake/apps/topaz/rules/morse_matching.rules line 101, <GEN9> line 79. polymake: WARNING: rule MORSE_MATCHING, MORSE_MATCHING_SIZE, MORSE_MATCHING_CRITICAL_FACES, MORSE_MATCHING_N_CRITICAL_FACES, MORSE_MATCHING_CRITICAL_FACE_VECTOR : HASSE_DIAGRAM failed: Can't locate object method "type" via package "morse_matching" (perhaps you forgot to load "morse_matching"?) at /usr/local/share/polymake/perllib/Polymake/Core/Object.pm line 1712, <GEN9> line 79. polymake: ERROR: no more rules available to compute 'MORSE_MATCHING_CRITICAL_FACES'
so it could also be that something's going on with the "inherited AUTOLOAD".

Best,
Julian

paffenholz
Developer
Posts: 212
Joined: 24 Dec 2010, 13:47

Re: Morse matchings seem to be missing

Postby paffenholz » 08 Nov 2011, 21:57

The bad news is that the error is not the non-existence of the *.cc files, but the appearance of the rule file defining the morse matching operations in the release. With the transition from 2.3 to 2.9 the way functions are called has changed fundamentally, and all c++ files need to be rewritten in the new style. topaz has not received as much attention in this process as other parts of polymake.

The good news is: we are working on this. Slowly though.

Best
Andreas


Return to “Helpdesk”