Ask Your Question
2

Edge isoperimetric number

asked 2020-07-10 22:04:04 +0100

ARG gravatar image

updated 2020-07-11 23:23:00 +0100

This is probably a very silly question. How does one get the edge isoperimetric number of a graph?

As seen under here there should be an algorithm for it, but when I define a graph (say H), then

edge_isoperimetric_number(H)

returns "name 'edge_isoperimetric_number' is not defined"

and

H.edge_isoperimetric_number()

returns "'Graph' object has no attribute 'edge_isoperimetric_number'"

(while

edge_isoperimetric_number?

returns "Object edge_isoperimetric_number not found."

So how do I load said algorithm for use?

edit retag flag offensive close merge delete

Comments

This ticket has not been merged in sage, so that code is not available. You can try to use git to pull the branch on the ticket page, fix the merge conflict and recompile sage after.

FrédéricC gravatar imageFrédéricC ( 2020-07-11 08:16:45 +0100 )edit

Thanks...I've never done that before: what is the merge conflict (or how does one fix such a conflict)?

ARG gravatar imageARG ( 2020-07-11 09:36:23 +0100 )edit

Actually how does one pull this branch? I don't know how to use the commit number 9a0062d887faa15d6e694f7143bd37514f31d790

ARG gravatar imageARG ( 2020-07-11 09:49:02 +0100 )edit

So far... I :

git clone git://github.com/sagemath/sage.git

but when I tried to do either

git fetch trac u/vdelecroix/21942

or

git pull u/vdelecroix/21942

or

git checkout 7880791d25423e16db76c5f855998818c3c8c45e

or many other numbers in the checkout. But it always returns a error message.

ARG gravatar imageARG ( 2020-07-11 10:21:40 +0100 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2020-07-11 11:30:22 +0100

FrédéricC gravatar image

There is now a new branch without merge conflict on the trac ticket. So you "just" need to pull and compile. This is quite a task if you are not used to this process.

Some instructions for usage of git for sage developement are here : https://doc.sagemath.org/html/en/deve... Please read them carefully.

(1) First, git clone as you did, and then switch to the develop branch.

(2) create a new branch as a copy of "develop" using

git checkout develop  -b some_branch_name_with_cheeger_inside

(3) Then

git pull origin public/ticket/21942

should work and then you will need to compile sage (takes time..)

You may need to configure "trac" as a remote server for git

edit flag offensive delete link more

Comments

Thanks for pointing me in the right direction. At the moment, I get the error:

git_trac.trac_error.TracAuthenticationError: Authentication with trac server failed.

if I try git trac config --user=myusername --pass=mypasswd with my (usual) github usernames and passwords. Then I get the error

fatal: Couldn't find remote ref public/ticket/21942

upon doing git pull origin public/ticket/21942 ...

ARG gravatar imageARG ( 2020-07-11 12:35:48 +0100 )edit

Do not use "git trac". Rather do

git remote add trac git@trac.sagemath.org:sage.git -t master
FrédéricC gravatar imageFrédéricC ( 2020-07-11 12:44:19 +0100 )edit

and then

git pull trac public/ticket/21942
FrédéricC gravatar imageFrédéricC ( 2020-07-11 12:44:36 +0100 )edit

git remote add trac git@trac.sagemath.org:sage.git -t master printed out fatal: remote trac already exists. But then git pull trac public/ticket/21942 worked, many thanks! I still need to compile ...

ARG gravatar imageARG ( 2020-07-11 13:15:05 +0100 )edit

Compiled and tested, many thanks again. Just a little "bug": the is_connected() function (which the Cheeger functions use) gave an error because it did not like how the vertices of my graph were labeled. After I ran G.relabel() everything went fine.

ARG gravatar imageARG ( 2020-07-11 23:20:39 +0100 )edit

Could you post the graph with labeling leading to an error ? If it's a bug, it can certainly be fixed.

David Coudert gravatar imageDavid Coudert ( 2020-07-12 10:56:01 +0100 )edit

where should I post it? it's probably too long for a comment... Basically, I think the problem is that the name of my vertices is a list (e.g. [0,1,1,0]) which is then gone through a Sequence(TheList,immutable=True)

ARG gravatar imageARG ( 2020-07-12 22:20:51 +0100 )edit

Here is a "minimum bugging example":

vert = [ Sequence([i,i^2],immutable=True) for i in range(0,3)];
dico = dict([ [vert[0],[vert[1],vert[2]]], [vert[1],[vert[0],vert[2]]], [vert[2],[vert[1],vert[0]]], ]);
G = Graph(dico);
G.is_connected()

ARG gravatar imageARG ( 2020-07-12 22:33:12 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-07-10 22:04:04 +0100

Seen: 353 times

Last updated: Jul 11 '20