Re: [sage-devel] vote: include pip with sage
On Wed, Apr 23, 2014 at 03:46:50PM -0700, William Stein wrote: > [ ] Yes, make pip a standard part of Sage. > > [ ] No, pip does not belong in Sage. Definitely +1 on any step toward using standard package managers, and this sounds like a nice one. Now which tools is most appropriate, I have no clue. I'd love to hear back from people working on Sage's distribution in different forms (integration in linux distribs, lemonade, ...). Cheers, Nicolas -- Nicolas M. Thiéry "Isil" http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] vote: include pip with sage
[ ] Yes, make pip a standard part of Sage. [ ] No, pip does not belong in Sage. It depends: I would say Yes if the objective is to simplify the install script (i.e. use pip for all our Python packages that are not patched). Note that pip is very convenient and takes care of versioning and dependencies Vincent -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: vote: include pip with sage
On Wed, Apr 23, 2014 at 11:09 PM, mmarco wrote: > Can it handle non-python packages? No -- it is the standard package manager *for* Python. > Or the idea is to use it only for python packages that need no compilation at > all? This question doesn't make sense to me, because many Python packages involve some amount of compilation. William > > El jueves, 24 de abril de 2014 00:46:50 UTC+2, William escribió: >> >> Hi, >> >> There used to be a lot of confusion about which package manager / >> installer one should use with python -- easy_install? setuptools? >> etc. >> >> Now the choice is clear: pip -- A tool for installing and managing >> Python packages. >> >> See https://pypi.python.org/pypi/pip >> >> pip is amazing -- you can actually install/upgrade/remove Python >> packages (see below), unlike the mess that we had to deal with for >> years. We should pay attention to the existence of this tool. >> >> I think we should include pip with Sage, especially since installing a >> package manager is always a little _weird_. Right now, one installs >> pip by doing this: >> >> sage -sh >> wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py; >> python get-pip.py >> >> >> >> [ ] Yes, make pip a standard part of Sage. >> >> [ ] No, pip does not belong in Sage. >> >> >> >> >> -- >> >> ~$ pip --help >> >> Usage: >> pip [options] >> >> Commands: >> install Install packages. >> uninstall Uninstall packages. >> freeze Output installed packages in requirements >> format. >> listList installed packages. >> showShow information about installed packages. >> search Search PyPI for packages. >> wheel Build wheels from your requirements. >> zip DEPRECATED. Zip individual packages. >> unzip DEPRECATED. Unzip individual packages. >> bundle DEPRECATED. Create pybundles. >> helpShow help for commands. >> >> General Options: >> -h, --help Show help. >> -v, --verbose Give more output. Option is additive, >> and can be used up to 3 times. >> -V, --version Show version and exit. >> -q, --quiet Give less output. >> --log-filePath to a verbose non-appending log, >> that only logs failures. This log is active by default at >> /projects/3702601d-9fbc-4e4e-b7ab-c10a79e34d3b/.pip/pip.log. >> --log Path to a verbose appending log. This >> log is inactive by default. >> --proxy Specify a proxy in the form >> [user:passwd@]proxy.server:port. >> --timeout Set the socket timeout (default 15 seconds). >> --exists-action Default action when a path already >> exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. >> --certPath to alternate CA bundle. > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- William Stein Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: vote: include pip with sage
Can it handle non-python packages? Or the idea is to use it only for python packages that need no compilation at all? El jueves, 24 de abril de 2014 00:46:50 UTC+2, William escribió: > > Hi, > > There used to be a lot of confusion about which package manager / > installer one should use with python -- easy_install? setuptools? > etc. > > Now the choice is clear: pip -- A tool for installing and managing > Python packages. > > See https://pypi.python.org/pypi/pip > > pip is amazing -- you can actually install/upgrade/remove Python > packages (see below), unlike the mess that we had to deal with for > years. We should pay attention to the existence of this tool. > > I think we should include pip with Sage, especially since installing a > package manager is always a little _weird_. Right now, one installs > pip by doing this: > > sage -sh > wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py; > python get-pip.py > > > > [ ] Yes, make pip a standard part of Sage. > > [ ] No, pip does not belong in Sage. > > > > > -- > > ~$ pip --help > > Usage: > pip [options] > > Commands: > install Install packages. > uninstall Uninstall packages. > freeze Output installed packages in requirements > format. > listList installed packages. > showShow information about installed packages. > search Search PyPI for packages. > wheel Build wheels from your requirements. > zip DEPRECATED. Zip individual packages. > unzip DEPRECATED. Unzip individual packages. > bundle DEPRECATED. Create pybundles. > helpShow help for commands. > > General Options: > -h, --help Show help. > -v, --verbose Give more output. Option is additive, > and can be used up to 3 times. > -V, --version Show version and exit. > -q, --quiet Give less output. > --log-filePath to a verbose non-appending log, > that only logs failures. This log is active by default at > /projects/3702601d-9fbc-4e4e-b7ab-c10a79e34d3b/.pip/pip.log. > --log Path to a verbose appending log. This > log is inactive by default. > --proxy Specify a proxy in the form > [user:passwd@]proxy.server:port. > --timeout Set the socket timeout (default 15 seconds). > --exists-action Default action when a path already > exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. > --certPath to alternate CA bundle. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: git merge: good practice
Also, ccache is your friend if you want to cut compile times a lot here (and elsewhere). On Wed, Apr 23, 2014 at 2:46 PM, Nathann Cohen wrote: > If it can help, here is my "gtmp" function : > > function gtmp > { > cd ~/sage > git checkout d > git branch -D tmp > git checkout -b tmp d && > git pull trac "$1" > } > > gtmp public/whatever fetches the branches and merges it with the develop > branch (named d on my computer). No pain involved, no recompilation. From > time to time, i.e. old branches, you have to add a commit message which is > usually : "trac #: Merged into 6.2.whatever" > > Nathann > > On Wednesday, April 23, 2014 6:26:37 PM UTC+2, vdelecroix wrote: >> >> I see. Thanks Volker. >> >> Are there any concrete plans for making the build system better ? > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: vote: include pip with sage
On Wednesday, April 23, 2014 6:46:50 PM UTC-4, William wrote: > > Hi, > > There used to be a lot of confusion about which package manager / > installer one should use with python -- easy_install? setuptools? > etc. > > Now the choice is clear: pip -- A tool for installing and managing > Python packages. > > See https://pypi.python.org/pypi/pip > > pip is amazing -- you can actually install/upgrade/remove Python > packages (see below), unlike the mess that we had to deal with for > years. We should pay attention to the existence of this tool. > > I think we should include pip with Sage, especially since installing a > package manager is always a little _weird_. Right now, one installs > pip by doing this: > > sage -sh > wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py; > python get-pip.py > > > I have no problem with this (I assume it is pretty small relative to all the other kitchen sinks we include). If it would make it easier to deal with "optional spkgs" that are really just standard Python packages (biopython, brain, lots of other stuff?) then it seems like a pretty good idea. Would there be an alias of some kind within Sage or a command line option like "sage -pip" or something that makes it clear this is the canonical way to get stuff to work within Sage? There are always people asking about using this or that Python package within Sage, and somehow using sage -sh and easy_install or whatever ends up being a little annoying for them. - kcrisman -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] vote: include pip with sage
Hi, There used to be a lot of confusion about which package manager / installer one should use with python -- easy_install? setuptools? etc. Now the choice is clear: pip -- A tool for installing and managing Python packages. See https://pypi.python.org/pypi/pip pip is amazing -- you can actually install/upgrade/remove Python packages (see below), unlike the mess that we had to deal with for years. We should pay attention to the existence of this tool. I think we should include pip with Sage, especially since installing a package manager is always a little _weird_. Right now, one installs pip by doing this: sage -sh wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py; python get-pip.py [ ] Yes, make pip a standard part of Sage. [ ] No, pip does not belong in Sage. -- ~$ pip --help Usage: pip [options] Commands: install Install packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. listList installed packages. showShow information about installed packages. search Search PyPI for packages. wheel Build wheels from your requirements. zip DEPRECATED. Zip individual packages. unzip DEPRECATED. Unzip individual packages. bundle DEPRECATED. Create pybundles. helpShow help for commands. General Options: -h, --help Show help. -v, --verbose Give more output. Option is additive, and can be used up to 3 times. -V, --version Show version and exit. -q, --quiet Give less output. --log-filePath to a verbose non-appending log, that only logs failures. This log is active by default at /projects/3702601d-9fbc-4e4e-b7ab-c10a79e34d3b/.pip/pip.log. --log Path to a verbose appending log. This log is inactive by default. --proxy Specify a proxy in the form [user:passwd@]proxy.server:port. --timeout Set the socket timeout (default 15 seconds). --exists-action Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. --certPath to alternate CA bundle. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: UniqueRepresentation and cached_method don't mix
I agree that it is tricky. There is no need to cache the unique output since it itself is cached by being unique. This is testable with some effort; in doctest mode the memoization decorators should performs some additional testing. Takes some work to write but no conceptual problem. Also, I think that caches should age out eventually. This would also mitigate a lot of possible memleaks. Downside is of course that you might have to recompute intermediate results, but that is still better than being reaped by the OOM killer ;-) On Wednesday, April 23, 2014 11:02:04 PM UTC+1, Nathann Cohen wrote: > > Please guys.. Answer this thread, this is a bad problem. It is important > to do something about it... :-/ > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: UniqueRepresentation and cached_method don't mix
(this thread follows https://groups.google.com/d/topic/sage-devel/awjiHPph6f8/discussion) -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: UniqueRepresentation and cached_method don't mix
Please guys.. Answer this thread, this is a bad problem. It is important to do something about it... :-/ Nathann On Sunday, April 6, 2014 7:21:18 PM UTC+2, Nils Bruin wrote: > > The following paradigm happens for > "sage.combinat.posets.posets.FinitePoset" and their "linear_extensions", > but it's such an easy mistake to make that I'd almost consider it a flaw in > our design: > > class A(Parent,UniqueRepresentation): > > @cached_method > def BfromA(self): > return B(A) > > class B(Parent,UniqueRepresentation): > ... > > If one does > > a = A() > b = a.BfromA() > del a,b > > one leaks memory. This is because the (global!) UniqueRepresentation cache > for B will have a strong reference to a (as a key in a WeakValueDictionary) > , since it's a construction parameter for b, and a will be holding a strong > reference to b because BfromA was declared a cached method. Hence, a keeps > b alive, and as long as b is alive, a will be kept alive due to the strong > reference in the weakvaluedict. > > The solution here probably is to NOT cache BfromA, since the lookup > performed by B(A) will be very fast anyway (if the thing already exists), > but you can see how difficult it now becomes to decide whether you can > safely stick a @cached_method decorator somewhere: If the result contains a > UniqueRepresentation object that is constructed using something linked to > the object on which the cached_method lives, you probably can't. But this > becomes a highly non-local thing to decide, because now you need to know > the implementation details of lots of things you might be using. > > The real problem here is UniqueRepresentation. Fundamentally, that breaks > locality. We try to hide the problems a little bit by using a WeakValueDict > to cache things, but as this example shows, it only takes one extra level > to let the problems resurface. Any ideas on how we can mitigate these > problems? Educating developers perhaps? > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: git merge: good practice
If it can help, here is my "gtmp" function : function gtmp { cd ~/sage git checkout d git branch -D tmp git checkout -b tmp d && git pull trac "$1" } gtmp public/whatever fetches the branches and merges it with the develop branch (named d on my computer). No pain involved, no recompilation. From time to time, i.e. old branches, you have to add a commit message which is usually : "trac #: Merged into 6.2.whatever" Nathann On Wednesday, April 23, 2014 6:26:37 PM UTC+2, vdelecroix wrote: > > I see. Thanks Volker. > > Are there any concrete plans for making the build system better ? > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] An Embarrassing Bug?
On Wed, Apr 23, 2014 at 11:31 PM, Kannappan Sampath wrote: > > > > On Wed, Apr 23, 2014 at 11:19 PM, Vincent Delecroix < > 20100.delecr...@gmail.com> wrote: > >> Me again... >> >> If you correct the code, please provide a piece of code that does not >> work with the current implementation (otherwise, it can not be >> considered as a bug). >> >> Well, OK. My fault. Pass any non-square 0, 1 matrix to it and you would > see: for example, > > IncidenceStructureFromMatrix(Matrix(ZZ, 2, 3, [1]*2*3)) > > Sorry, actually: IncidenceStructureFromMatrix(Matrix(ZZ, 3, 2, [1]*2*3)) > If you do correct it please change >> {{{ >> v = len(M.rows()) >> b = len(M.columns()) >> }}} >> by >> {{{ >>v = M.nrows() >>b = M.ncols() >> }}} >> >> > Will do! > > >> Best >> Vincent > > >> > 2014-04-23 19:42 UTC+02:00, Kannappan Sampath : >> > :-) >> > >> > >> > On Wed, Apr 23, 2014 at 11:07 PM, Vincent Delecroix < >> > 20100.delecr...@gmail.com> wrote: >> > >> >> What is the problem? You just copy/paste the definition of a function. >> >> >> >> 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : >> >> > Hello group, >> >> > >> >> > I think this is probably an embarrassing bug: >> >> > >> >> > def IncidenceStructureFromMatrix(M, name=None): >> >> > """ >> >> > Builds and incidence structure from a matrix. >> >> > >> >> > INPUT: >> >> > >> >> > - ``M`` -- a binary matrix. Creates a set of "points" from the >> rows >> >> and >> >> > a >> >> > set of "blocks" from the columns. >> >> > >> >> > EXAMPLES:: >> >> > >> >> > sage: from sage.combinat.designs.block_design import >> >> > BlockDesign >> >> > sage: BD1 = >> >> > >> BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) >> >> > sage: M = BD1.incidence_matrix() >> >> > sage: BD2 = IncidenceStructureFromMatrix(M) >> >> > sage: BD1 == BD2 >> >> > True >> >> > """ >> >> > nm = name >> >> > v = len(M.rows()) >> >> > b = len(M.columns()) >> >> > #points = range(v) >> >> > blocks = [] >> >> > for i in range(b): >> >> > B = [] >> >> > for j in range(v): >> >> > if M[i, j] != 0: >> >> >> > >> > As I tried to explain, the indexing is ballsed up: v is the number of >> rows, >> > b is the number of columns. Since i is in range(b), i is a column index >> and >> > similarly, j is a row index. So, the code should have looked at M[j, i] >> as >> > opposed M[i, j] in the if condition. >> > >> > Kannappan. >> > >> >> > B.append(j) >> >> > blocks.append(B) >> >> > return IncidenceStructure(range(v), blocks, name=nm) >> >> > >> >> > >> >> > The problem is with the indexing "if M[i, j] != 0". Of course, this >> >> > will >> >> not >> >> > be a problem for square 2-designs like the Hadamard design or >> >> > ProjectivePlaneDesign (thanks to Fisher Type counting), but this >> should >> >> > cause problem for designs that are not square. I was bitten by this >> bug >> >> when >> >> > I tried to implement Hadamard 3-design from a Hadamard matrix. >> >> > >> >> > I will open a ticket if somebody does a sanity check for me. >> >> > >> >> > With Sincere Regards, >> >> > Kannappan. >> >> > >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups >> >> > "sage-devel" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> send >> >> > an >> >> > email to sage-devel+unsubscr...@googlegroups.com. >> >> > To post to this group, send email to sage-devel@googlegroups.com. >> >> > Visit this group at http://groups.google.com/group/sage-devel. >> >> > For more options, visit https://groups.google.com/d/optout. >> >> > >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> Groups >> >> "sage-devel" group. >> >> To unsubscribe from this group and stop receiving emails from it, send >> an >> >> email to sage-devel+unsubscr...@googlegroups.com. >> >> To post to this group, send email to sage-devel@googlegroups.com. >> >> Visit this group at http://groups.google.com/group/sage-devel. >> >> For more options, visit https://groups.google.com/d/optout. >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "sage-devel" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to sage-devel+unsubscr...@googlegroups.com. >> > To post to this group, send email to sage-devel@googlegroups.com. >> > Visit this group at http://groups.google.com/group/sage-devel. >> > For more options, visit https://groups.google.com/d/optout. >> > >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com. >> To post to this group, send email to sage-devel@googlegroups.com. >> Visit
Re: [sage-devel] An Embarrassing Bug?
On Wed, Apr 23, 2014 at 11:19 PM, Vincent Delecroix < 20100.delecr...@gmail.com> wrote: > Me again... > > If you correct the code, please provide a piece of code that does not > work with the current implementation (otherwise, it can not be > considered as a bug). > > Well, OK. My fault. Pass any non-square 0, 1 matrix to it and you would see: for example, IncidenceStructureFromMatrix(Matrix(ZZ, 2, 3, [1]*2*3)) > If you do correct it please change > {{{ > v = len(M.rows()) > b = len(M.columns()) > }}} > by > {{{ >v = M.nrows() >b = M.ncols() > }}} > > Will do! > Best > Vincent > 2014-04-23 19:42 UTC+02:00, Kannappan Sampath : > > :-) > > > > > > On Wed, Apr 23, 2014 at 11:07 PM, Vincent Delecroix < > > 20100.delecr...@gmail.com> wrote: > > > >> What is the problem? You just copy/paste the definition of a function. > >> > >> 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : > >> > Hello group, > >> > > >> > I think this is probably an embarrassing bug: > >> > > >> > def IncidenceStructureFromMatrix(M, name=None): > >> > """ > >> > Builds and incidence structure from a matrix. > >> > > >> > INPUT: > >> > > >> > - ``M`` -- a binary matrix. Creates a set of "points" from the > rows > >> and > >> > a > >> > set of "blocks" from the columns. > >> > > >> > EXAMPLES:: > >> > > >> > sage: from sage.combinat.designs.block_design import > >> > BlockDesign > >> > sage: BD1 = > >> > > BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) > >> > sage: M = BD1.incidence_matrix() > >> > sage: BD2 = IncidenceStructureFromMatrix(M) > >> > sage: BD1 == BD2 > >> > True > >> > """ > >> > nm = name > >> > v = len(M.rows()) > >> > b = len(M.columns()) > >> > #points = range(v) > >> > blocks = [] > >> > for i in range(b): > >> > B = [] > >> > for j in range(v): > >> > if M[i, j] != 0: > >> > > > > As I tried to explain, the indexing is ballsed up: v is the number of > rows, > > b is the number of columns. Since i is in range(b), i is a column index > and > > similarly, j is a row index. So, the code should have looked at M[j, i] > as > > opposed M[i, j] in the if condition. > > > > Kannappan. > > > >> > B.append(j) > >> > blocks.append(B) > >> > return IncidenceStructure(range(v), blocks, name=nm) > >> > > >> > > >> > The problem is with the indexing "if M[i, j] != 0". Of course, this > >> > will > >> not > >> > be a problem for square 2-designs like the Hadamard design or > >> > ProjectivePlaneDesign (thanks to Fisher Type counting), but this > should > >> > cause problem for designs that are not square. I was bitten by this > bug > >> when > >> > I tried to implement Hadamard 3-design from a Hadamard matrix. > >> > > >> > I will open a ticket if somebody does a sanity check for me. > >> > > >> > With Sincere Regards, > >> > Kannappan. > >> > > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "sage-devel" group. > >> > To unsubscribe from this group and stop receiving emails from it, send > >> > an > >> > email to sage-devel+unsubscr...@googlegroups.com. > >> > To post to this group, send email to sage-devel@googlegroups.com. > >> > Visit this group at http://groups.google.com/group/sage-devel. > >> > For more options, visit https://groups.google.com/d/optout. > >> > > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "sage-devel" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to sage-devel+unsubscr...@googlegroups.com. > >> To post to this group, send email to sage-devel@googlegroups.com. > >> Visit this group at http://groups.google.com/group/sage-devel. > >> For more options, visit https://groups.google.com/d/optout. > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > > "sage-devel" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to sage-devel+unsubscr...@googlegroups.com. > > To post to this group, send email to sage-devel@googlegroups.com. > > Visit this group at http://groups.google.com/group/sage-devel. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-dev
[sage-devel] Re: Error compiling ncurses
That seemed to work, thanks. El miércoles, 23 de abril de 2014 18:24:57 UTC+2, Volker Braun escribió: > > Its not a problem with ncurses but with your bash crapping out if > LD_LIBRARY_PATH is set.Delete the Sage ncurses libraries and continue > building. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] An Embarrassing Bug?
Actually the whole function can be done with one line {{{ blocks = [[i for i in xrange(M.nrows()) if M[i,j]] for j in xrange(M.ncols())] }}} 2014-04-23 19:49 UTC+02:00, Vincent Delecroix <20100.delecr...@gmail.com>: > Me again... > > If you correct the code, please provide a piece of code that does not > work with the current implementation (otherwise, it can not be > considered as a bug). > > If you do correct it please change > {{{ > v = len(M.rows()) > b = len(M.columns()) > }}} > by > {{{ >v = M.nrows() >b = M.ncols() > }}} > > Best > Vincent > > 2014-04-23 19:42 UTC+02:00, Kannappan Sampath : >> :-) >> >> >> On Wed, Apr 23, 2014 at 11:07 PM, Vincent Delecroix < >> 20100.delecr...@gmail.com> wrote: >> >>> What is the problem? You just copy/paste the definition of a function. >>> >>> 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : >>> > Hello group, >>> > >>> > I think this is probably an embarrassing bug: >>> > >>> > def IncidenceStructureFromMatrix(M, name=None): >>> > """ >>> > Builds and incidence structure from a matrix. >>> > >>> > INPUT: >>> > >>> > - ``M`` -- a binary matrix. Creates a set of "points" from the >>> > rows >>> and >>> > a >>> > set of "blocks" from the columns. >>> > >>> > EXAMPLES:: >>> > >>> > sage: from sage.combinat.designs.block_design import >>> > BlockDesign >>> > sage: BD1 = >>> > BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) >>> > sage: M = BD1.incidence_matrix() >>> > sage: BD2 = IncidenceStructureFromMatrix(M) >>> > sage: BD1 == BD2 >>> > True >>> > """ >>> > nm = name >>> > v = len(M.rows()) >>> > b = len(M.columns()) >>> > #points = range(v) >>> > blocks = [] >>> > for i in range(b): >>> > B = [] >>> > for j in range(v): >>> > if M[i, j] != 0: >>> >> >> As I tried to explain, the indexing is ballsed up: v is the number of >> rows, >> b is the number of columns. Since i is in range(b), i is a column index >> and >> similarly, j is a row index. So, the code should have looked at M[j, i] >> as >> opposed M[i, j] in the if condition. >> >> Kannappan. >> >>> > B.append(j) >>> > blocks.append(B) >>> > return IncidenceStructure(range(v), blocks, name=nm) >>> > >>> > >>> > The problem is with the indexing "if M[i, j] != 0". Of course, this >>> > will >>> not >>> > be a problem for square 2-designs like the Hadamard design or >>> > ProjectivePlaneDesign (thanks to Fisher Type counting), but this >>> > should >>> > cause problem for designs that are not square. I was bitten by this >>> > bug >>> when >>> > I tried to implement Hadamard 3-design from a Hadamard matrix. >>> > >>> > I will open a ticket if somebody does a sanity check for me. >>> > >>> > With Sincere Regards, >>> > Kannappan. >>> > >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups >>> > "sage-devel" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> > an >>> > email to sage-devel+unsubscr...@googlegroups.com. >>> > To post to this group, send email to sage-devel@googlegroups.com. >>> > Visit this group at http://groups.google.com/group/sage-devel. >>> > For more options, visit https://groups.google.com/d/optout. >>> > >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups >>> "sage-devel" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an >>> email to sage-devel+unsubscr...@googlegroups.com. >>> To post to this group, send email to sage-devel@googlegroups.com. >>> Visit this group at http://groups.google.com/group/sage-devel. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com. >> To post to this group, send email to sage-devel@googlegroups.com. >> Visit this group at http://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] An Embarrassing Bug?
Me again... If you correct the code, please provide a piece of code that does not work with the current implementation (otherwise, it can not be considered as a bug). If you do correct it please change {{{ v = len(M.rows()) b = len(M.columns()) }}} by {{{ v = M.nrows() b = M.ncols() }}} Best Vincent 2014-04-23 19:42 UTC+02:00, Kannappan Sampath : > :-) > > > On Wed, Apr 23, 2014 at 11:07 PM, Vincent Delecroix < > 20100.delecr...@gmail.com> wrote: > >> What is the problem? You just copy/paste the definition of a function. >> >> 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : >> > Hello group, >> > >> > I think this is probably an embarrassing bug: >> > >> > def IncidenceStructureFromMatrix(M, name=None): >> > """ >> > Builds and incidence structure from a matrix. >> > >> > INPUT: >> > >> > - ``M`` -- a binary matrix. Creates a set of "points" from the rows >> and >> > a >> > set of "blocks" from the columns. >> > >> > EXAMPLES:: >> > >> > sage: from sage.combinat.designs.block_design import >> > BlockDesign >> > sage: BD1 = >> > BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) >> > sage: M = BD1.incidence_matrix() >> > sage: BD2 = IncidenceStructureFromMatrix(M) >> > sage: BD1 == BD2 >> > True >> > """ >> > nm = name >> > v = len(M.rows()) >> > b = len(M.columns()) >> > #points = range(v) >> > blocks = [] >> > for i in range(b): >> > B = [] >> > for j in range(v): >> > if M[i, j] != 0: >> > > As I tried to explain, the indexing is ballsed up: v is the number of rows, > b is the number of columns. Since i is in range(b), i is a column index and > similarly, j is a row index. So, the code should have looked at M[j, i] as > opposed M[i, j] in the if condition. > > Kannappan. > >> > B.append(j) >> > blocks.append(B) >> > return IncidenceStructure(range(v), blocks, name=nm) >> > >> > >> > The problem is with the indexing "if M[i, j] != 0". Of course, this >> > will >> not >> > be a problem for square 2-designs like the Hadamard design or >> > ProjectivePlaneDesign (thanks to Fisher Type counting), but this should >> > cause problem for designs that are not square. I was bitten by this bug >> when >> > I tried to implement Hadamard 3-design from a Hadamard matrix. >> > >> > I will open a ticket if somebody does a sanity check for me. >> > >> > With Sincere Regards, >> > Kannappan. >> > >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "sage-devel" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to sage-devel+unsubscr...@googlegroups.com. >> > To post to this group, send email to sage-devel@googlegroups.com. >> > Visit this group at http://groups.google.com/group/sage-devel. >> > For more options, visit https://groups.google.com/d/optout. >> > >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com. >> To post to this group, send email to sage-devel@googlegroups.com. >> Visit this group at http://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] An Embarrassing Bug?
:-) On Wed, Apr 23, 2014 at 11:07 PM, Vincent Delecroix < 20100.delecr...@gmail.com> wrote: > What is the problem? You just copy/paste the definition of a function. > > 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : > > Hello group, > > > > I think this is probably an embarrassing bug: > > > > def IncidenceStructureFromMatrix(M, name=None): > > """ > > Builds and incidence structure from a matrix. > > > > INPUT: > > > > - ``M`` -- a binary matrix. Creates a set of "points" from the rows > and > > a > > set of "blocks" from the columns. > > > > EXAMPLES:: > > > > sage: from sage.combinat.designs.block_design import BlockDesign > > sage: BD1 = > > BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) > > sage: M = BD1.incidence_matrix() > > sage: BD2 = IncidenceStructureFromMatrix(M) > > sage: BD1 == BD2 > > True > > """ > > nm = name > > v = len(M.rows()) > > b = len(M.columns()) > > #points = range(v) > > blocks = [] > > for i in range(b): > > B = [] > > for j in range(v): > > if M[i, j] != 0: > As I tried to explain, the indexing is ballsed up: v is the number of rows, b is the number of columns. Since i is in range(b), i is a column index and similarly, j is a row index. So, the code should have looked at M[j, i] as opposed M[i, j] in the if condition. Kannappan. > > B.append(j) > > blocks.append(B) > > return IncidenceStructure(range(v), blocks, name=nm) > > > > > > The problem is with the indexing "if M[i, j] != 0". Of course, this will > not > > be a problem for square 2-designs like the Hadamard design or > > ProjectivePlaneDesign (thanks to Fisher Type counting), but this should > > cause problem for designs that are not square. I was bitten by this bug > when > > I tried to implement Hadamard 3-design from a Hadamard matrix. > > > > I will open a ticket if somebody does a sanity check for me. > > > > With Sincere Regards, > > Kannappan. > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "sage-devel" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to sage-devel+unsubscr...@googlegroups.com. > > To post to this group, send email to sage-devel@googlegroups.com. > > Visit this group at http://groups.google.com/group/sage-devel. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] An Embarrassing Bug?
What is the problem? You just copy/paste the definition of a function. 2014-04-23 19:31 UTC+02:00, Kannappan Sampath : > Hello group, > > I think this is probably an embarrassing bug: > > def IncidenceStructureFromMatrix(M, name=None): > """ > Builds and incidence structure from a matrix. > > INPUT: > > - ``M`` -- a binary matrix. Creates a set of "points" from the rows and > a > set of "blocks" from the columns. > > EXAMPLES:: > > sage: from sage.combinat.designs.block_design import BlockDesign > sage: BD1 = > BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) > sage: M = BD1.incidence_matrix() > sage: BD2 = IncidenceStructureFromMatrix(M) > sage: BD1 == BD2 > True > """ > nm = name > v = len(M.rows()) > b = len(M.columns()) > #points = range(v) > blocks = [] > for i in range(b): > B = [] > for j in range(v): > if M[i, j] != 0: > B.append(j) > blocks.append(B) > return IncidenceStructure(range(v), blocks, name=nm) > > > The problem is with the indexing "if M[i, j] != 0". Of course, this will not > be a problem for square 2-designs like the Hadamard design or > ProjectivePlaneDesign (thanks to Fisher Type counting), but this should > cause problem for designs that are not square. I was bitten by this bug when > I tried to implement Hadamard 3-design from a Hadamard matrix. > > I will open a ticket if somebody does a sanity check for me. > > With Sincere Regards, > Kannappan. > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] An Embarrassing Bug?
Hello group, I think this is probably an embarrassing bug: def IncidenceStructureFromMatrix(M, name=None): """ Builds and incidence structure from a matrix. INPUT: - ``M`` -- a binary matrix. Creates a set of "points" from the rows and a set of "blocks" from the columns. EXAMPLES:: sage: from sage.combinat.designs.block_design import BlockDesign sage: BD1 = BlockDesign(7,[[0,1,2],[0,3,4],[0,5,6],[1,3,5],[1,4,6],[2,3,6],[2,4,5]]) sage: M = BD1.incidence_matrix() sage: BD2 = IncidenceStructureFromMatrix(M) sage: BD1 == BD2 True """ nm = name v = len(M.rows()) b = len(M.columns()) #points = range(v) blocks = [] for i in range(b): B = [] for j in range(v): if M[i, j] != 0: B.append(j) blocks.append(B) return IncidenceStructure(range(v), blocks, name=nm) The problem is with the indexing "if M[i, j] != 0". Of course, this will not be a problem for square 2-designs like the Hadamard design or ProjectivePlaneDesign (thanks to Fisher Type counting), but this should cause problem for designs that are not square. I was bitten by this bug when I tried to implement Hadamard 3-design from a Hadamard matrix. I will open a ticket if somebody does a sanity check for me. With Sincere Regards, Kannappan. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: git merge: good practice
I see. Thanks Volker. Are there any concrete plans for making the build system better ? -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Error compiling ncurses
Its not a problem with ncurses but with your bash crapping out if LD_LIBRARY_PATH is set.Delete the Sage ncurses libraries and continue building. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Error compiling ncurses
I just pulled the last development release, and when compiling, i got this error. Someone can reproduce? Host system: Linux localhost 3.10.17-gentoo #2 SMP PREEMPT Tue Dec 10 22:34:37 CET 2013 x86_64 Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz GenuineIntel GNU/Linux C compiler: gcc C compiler version: Usando especificaciones internas. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/lto-wrapper Objetivo: x86_64-pc-linux-gnu Configurado con: /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --without-cloog --without-ppl --disable-lto --enable-nls --without-included-gettext --with-system-zlib --enable-obsolete --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/python --enable-checking=release --disable-libgcj --enable-libstdcxx-time --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.6.3 p1.13, pie-0.5.2' Modelo de hilos: posix gcc versión 4.6.3 (Gentoo 4.6.3 p1.13, pie-0.5.2) bash: symbol lookup error: /home/mmarco/sagedevel/sage/local/lib/libncurses.so.5: undefined symbol: _nc_putchar real0m0.001s user0m0.000s sys 0m0.001s Error installing package ncurses-5.9.p2 Please email sage-devel (http://groups.google.com/group/sage-devel) explaining the problem and including the relevant part of the log file /home/mmarco/sagedevel/sage/logs/pkgs/ncurses-5.9.p2.log Describe your computer, operating system, etc. If you want to try to fix the problem yourself, *don't* just cd to /home/mmarco/sagedevel/sage/local/var/tmp/sage/build/ncurses-5.9.p2 and type 'make' or whatever is appropriate. Instead, the following commands setup all environment variables correctly and load a subshell for you to debug the error: (cd '/home/mmarco/sagedevel/sage/local/var/tmp/sage/build/ncurses-5.9.p2' && '/home/mmarco/sagedevel/sage/sage' --sh) When you are done debugging, you can type "exit" to leave the subshell. make[2]: *** [/home/mmarco/sagedevel/sage/local/var/lib/sage/installed/ncurses-5.9.p2] Error 1 make[2]: se sale del directorio `/home/mmarco/sagedevel/sage/build' make[1]: *** [all] Error 2 make[1]: se sale del directorio `/home/mmarco/sagedevel/sage/build' real0m0.767s user0m0.596s sys 0m0.177s *** Error building Sage. The following package(s) may have failed to build: package: ncurses-5.9.p2 log file: /home/mmarco/sagedevel/sage/logs/pkgs/ncurses-5.9.p2.log build directory: /home/mmarco/sagedevel/sage/local/var/tmp/sage/build/ncurses-5.9.p2 The build directory may contain configuration files and other potentially helpful information. WARNING: if you now run 'make' again, the build directory will, by default, be deleted. Set the environment variable SAGE_KEEP_BUILT_SPKGS to 'yes' to prevent this. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: git merge: good practice
1) is the normal way, your first parent is your development branch. That is, HEAD~ is your previous commit etc. 2) is a bit wonky but permissible if you want to. The build system needs to be changed to not look at filesystem timestamps but repository information. Once that is fixed there is no advantage whatsoever for 2). -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] git merge: good practice
Hi, I was working on a ticket on my local branch X based on an old Sage version. Let say that my develop is up to date and my HEAD is currently at develop. I want to merge X to be up to date and see two ways to do this 1) {{{ git checkout X git merge develop }}} 2) {{{ git checkout -b Y git merge X }}} Solution 2) looks better because if everything went smoothly you do not have to rebuild Sage. But with solution 2) I have some renaming to do... which might be painful if I have many waiting local branches. What should I do? Is there a better solution? Best Vincent -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: sage -dev diff
On Wed, Apr 23, 2014 at 4:06 PM, Kannappan Sampath wrote: > Thank you all for suggesting that I take a look at GIT. I think I feel > better now. But, still I have gotten some questions. I am trying to review > 16091. > > I have checked out the ncohen's 16091 branch and have it as a local > branch. I would like to now let sage now that there has been a change in > its code due to this branch. I assume this means I run sage -b. Is this > correct? > Nearly, it tells the Sage build system to check all files, and rebuild the system if necessary. Since the branch in 16091 is based on version 6.2.beta6 of the system, any changes to the branch you upload will too, if you don't merge the newest developer branch. This may work or not, depending on if the developer branch changed things near the code that you are working on (you will see this when merging). Note it's required practice that, if you upload something, it must be includable without conflict, and it must build the system and the documentation without errors, as well as not produce any doctest errors. This can only be ensured if you work with the newest developer branch. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: sage -dev diff
>From the preview of the updated docs in the already-mentioned ticket #16030: http://boxen.math.washington.edu/home/vbraun/doc/developer/walk_through.html#rebuilding-sage On Wednesday, April 23, 2014 3:06:44 PM UTC+1, KnS wrote: > > Thank you all for suggesting that I take a look at GIT. I think I feel > better now. But, still I have gotten some questions. I am trying to review > 16091. > > I have checked out the ncohen's 16091 branch and have it as a local > branch. I would like to now let sage now that there has been a change in > its code due to this branch. I assume this means I run sage -b. Is this > correct? > > Will this let sage know that there has been a update of code? > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Building Sage with GCC 4.9
On Wednesday, April 23, 2014 4:48:32 PM UTC+2, leif wrote: > > Jean-Pierre Flori wrote: > > On Tuesday, April 22, 2014 5:42:44 PM UTC+2, leif wrote: > > >> (Release of 4.9.0 is scheduled for Tuesday, so we'll presumably > > face it > > >> soon in some distros.) > > > > I'm updating an Ubuntu LTS and it seems gcc 4.9 is shipped with it (I > > did not trigger its install myself). > > Not sure it will be the default compiler though. > > The default on Trusty Tahr (14.04) is Ubuntu/Linaro GCC 4.8.2-19ubuntu1, > but Ubuntu's GCC x.y.z usually comes with stuff (fixes and new bugs) > from later FSF releases (or trunk), so their version number doesn't tell > much. > Indeed, it was just some gcc-4.9-base package used as a dependency of libgcc1. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Building Sage with GCC 4.9
Jean-Pierre Flori wrote: On Tuesday, April 22, 2014 5:42:44 PM UTC+2, leif wrote: >> (Release of 4.9.0 is scheduled for Tuesday, so we'll presumably face it >> soon in some distros.) I'm updating an Ubuntu LTS and it seems gcc 4.9 is shipped with it (I did not trigger its install myself). Not sure it will be the default compiler though. The default on Trusty Tahr (14.04) is Ubuntu/Linaro GCC 4.8.2-19ubuntu1, but Ubuntu's GCC x.y.z usually comes with stuff (fixes and new bugs) from later FSF releases (or trunk), so their version number doesn't tell much. -leif -- () The ASCII Ribbon Campaign /\ Help Cure HTML E-Mail -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] sage days 58 and 59
Hi Sage Devs, There's more information about confirmed participants for SD58 and SD59 in June in Seattle now. There's still room for more people. http://wiki.sagemath.org/days58, http://wiki.sagemath.org/days59 Keith Clawson (Seattle) Miguel Marco-Buzunariz (Germany) Marcos Rodríguez Rodríguez (Spain, June 21-28) Andrey Novoseltsev (Canada) William Stein (Seattle) Mike Hansen (Seattle) Martin Albrecht (London) Julian Rüth David Mascharka (Drake) Chris Kees (Coastal and Hydraulics Laboratory, US Army Engineer Research and Development Center) Kevin Winters (Coastal and Hydraulics Laboratory, US Army Engineer Research and Development Center) Randall J LeVeque, and students (Seattle) -- William Stein Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: sage -dev diff
Thank you all for suggesting that I take a look at GIT. I think I feel better now. But, still I have gotten some questions. I am trying to review 16091. I have checked out the ncohen's 16091 branch and have it as a local branch. I would like to now let sage now that there has been a change in its code due to this branch. I assume this means I run sage -b. Is this correct? Will this let sage know that there has been a update of code? With sincere Regards, Kannappan. On Wed, Apr 23, 2014 at 11:23 AM, Ralf Stephan wrote: > After reading a bit about SCM and git I would advise against use of sage > -dev. > I had used sage -dev the last weeks but now I exclusively do 'git trac' > which > does all I need but much better than sage -dev. > > Documentation is in > > http://trac.sagemath.org/ticket/16030 > > Regards, > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Hadamard Designs
Yo !! > The thing is, it may be very useful for someone who has figured out how to > construct new t-designs for example. We should aim at implementing all cnstruction theorems we can find. It has to be there, invisbly working behind the scene :-P > I shall try to get this done... For now, I will try and get around to > reviewing your first trivial BIBD ticket and write the patch for the > HadamardThreeDesign. Good plan ! Thanks for you help ;-) Nathann -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Hadamard Designs
On Apr 23, 2014, at 1:41 PM, Nathann Cohen wrote: > Hello !! > >> And, we still have not thought about the nomenclature... :-) May be change >> the >> Hadamard design to HadamardTwoDesign and implement these as >> HadamardThreeDesign? > > Hmmm... Well, I would vote for HadamardDesign and > Hadamard3Design/HadamardThreeDesign. Everybody seems to agree on what > a Hadamard Design is, and on the other hand everybody seems to agree > on what a Hadamard 3-design is, so why change the first ? :-) Agreed! > >> Also, probably, we should have a generic implementation of block design, >> where one gives us the point set, the blocks but is interested in computing >> parametric things with it; or computing the derived design and so on... (This >> is done in Designs package in GAP, so may be we should just borrow it!) > > Well, once more I never needed any of those but I would be glad to > review it. What I like is to implement new constructions :-P > I lve constructions. > The thing is, it may be very useful for someone who has figured out how to construct new t-designs for example. >> GIT again is the barrier! :-( > > Well, it becomes rather easy very quickly... And there is a wealth of > tutorials on internet :-) > I shall try to get this done... For now, I will try and get around to reviewing your first trivial BIBD ticket and write the patch for the HadamardThreeDesign. -Kannappan. > Nathann > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Directions for idioms of free objects and free abelian groups
I've created http://trac.sagemath.org/ticket/16218 for the free objects and http://trac.sagemath.org/ticket/16219 for the algebras catalog. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] please review #15976
Hi, anyone up for reviewing http://trac.sagemath.org/ticket/15976 which adds an integer lattice class (discussed here before)? Cheers, Martin signature.asc Description: This is a digitally signed message part.
[sage-devel] Re: Building Sage with GCC 4.9
On Tuesday, April 22, 2014 5:42:44 PM UTC+2, leif wrote: > > leif wrote: > > leif wrote: > >> Is there already a ticket for issues with GCC 4.9? > > > > I think I'll open a (small) metaticket soon. > > Did so: http://trac.sagemath.org/ticket/16208 > > Although it's (currently) not a metaticket; I also haven't pushed the > patches yet, but will do so soon. > > Both patches (to Lcalc and PPL) are trivial, and apply to Sage 6.1.1 as > well as Sage 6.2.beta8. > > > >> (Release of 4.9.0 is scheduled for Tuesday, so we'll presumably face it > >> soon in some distros.) > > I'm updating an Ubuntu LTS and it seems gcc 4.9 is shipped with it (I did not trigger its install myself). Not sure it will be the default compiler though. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Re: Problems in the computation of hyperbolicity.
Dear Miguel, Memory is not the sole limitation here. The main problem is that the worst case time complexity is O(n^4). For instance, it took me several weeks of computation to determine the hyperbolicity of the latest CAIDA maps (2012 and 2013). There is currently no exact algorithm for computing the hyperbolicity of graphs with millions of nodes. In fact, for such large graphs, it is already challenging to compute the diameter using classical approach. David. On Tuesday, April 22, 2014 3:27:23 PM UTC+2, leif wrote: > > Vincent Delecroix wrote: > > I was a bit wrong with my computations. Have a look at the file > > SAGE_ROOT/src/sage/graphs/distance_all_pairs.pyx > > > > You will see that matrices for distances are implemented as unsigned > > short (whose maximum is 65535=2^16) while eccentricity is made of int > > (whose maximum depends on your architecture). This was made for > > economy of space... if you want to compute all distances for a graphs > > you still have this memory issue (you will need 16Go of RAM). > > Well, here RAM apparently wasn't the limiting factor (otherwise the > function would have bailed out differently, with a MemoryError). > > Obviously, the (length of a) shortest path between two vertices on a > graph of more than 2^16 vertices can exceed 2^16-1, and likewise the > current implementation cannot represent a predecessor whose "name" is > above 2^16-1, hence here actually /the number of vertices/ (7) is > the limiting factor. > > > -leif > > > > 2014-04-22 12:56 UTC+02:00, Vincent Delecroix > > <20100.d...@gmail.com>: > > >> Hello Miguel, > >> > >> If you need support in Sage you should use the sage-support > >> googlegroups or ask.sagemath.org. The sage-devel mailing list is about > >> development and bug report. > >> > >> To answer your question, if you want to compute all distances in a > >> graph with more than 65535 vertices then your RAM must be greater than > >> 255To (because you need 65535 x 65535 x 2^16 bits of data)... in other > >> words it is a very very huge matrix. There is currently no hardware > >> that would support that quantity of data. > >> > >> 2014-04-22 12:36 UTC+02:00, Miguel Camelo > >> >: > > >>> Hi everyone, > >>> > >>> I'm interesting in to compute both the diameter and hyperbolicity of > >>> large > >>> graphs (between 10k and 10M of nodes) using SAGE. At the beginning I > had > >>> problems computing the diameter. However I solved the problem using > the > >>> solutions presented in the ticked #15507. Then, I tried to compute the > >>> hyperbolicity for a random graph with 7 nodes and 209991 edges. > >>> However, I received the following error: > >>> > >>> hyperbolicity(graphs.RandomBarabasiAlbert(7,3)) > >>> Exception ValueError: ValueError('The graph backend contains more than > >>> 65535 nodes and we cannot compute the matrix of distances/predecessors > on > >>> something like that !',) in > >>> 'sage.graphs.distances_all_pairs.c_distances_all_pairs' ignored. > >>> > >>> Is there any way to solve this problem? I also saw the same problem > when > >>> I > >>> tried to compute the distance matrix of the graph. > >>> > >>> Thanks very much. > >>> > >>> Miguel Camelo > > -- > () The ASCII Ribbon Campaign > /\ Help Cure HTML E-Mail > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Hadamard Designs
Hello !! > And, we still have not thought about the nomenclature… :-) May be change the > Hadamard design to HadamardTwoDesign and implement these as > HadamardThreeDesign? Hmmm... Well, I would vote for HadamardDesign and Hadamard3Design/HadamardThreeDesign. Everybody seems to agree on what a Hadamard Design is, and on the other hand everybody seems to agree on what a Hadamard 3-design is, so why change the first ? :-) > Also, probably, we should have a generic implementation of block design, > where one gives us the point set, the blocks but is interested in computing > parametric things with it; or computing the derived design and so on… (This > is done in Designs package in GAP, so may be we should just borrow it!) Well, once more I never needed any of those but I would be glad to review it. What I like is to implement new constructions :-P I lve constructions. > GIT again is the barrier! :-( Well, it becomes rather easy very quickly... And there is a wealth of tutorials on internet :-) Nathann -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Difficulty with Galois group
On 2014-04-22 23:11, Dima Pasechnik wrote: On 2014-04-22, Jeroen Demeyer wrote: On 2014-04-21 10:10, Dima Pasechnik wrote: this is not a normal extension, and apparently neither Pari nor GAP can deal with it. Pathetic... Is it really so hard to implement, having the library of permutation groups at hand (from GAP)? The hard part is the number theory, not the group theory. If the splitting field is very large (that seems to be the case here), then how would you represent elements of the Galois group? I am pretty ignorant about the way(s) these elements become available in this setting. The most economic way I know offhand involves generators and relations (either in the classical combinatorial group theory sense, or in the sense of "vector enumeration" - when the action is defined "locally" on a module). Matrices or permutations aren't often too bad either - depends upon the sparsity. Yes, but you're thinking again in terms of group theory and, like I said, that's the easy part. What I'm trying to say is that there is no easy way to compute *any* representation of the Galois group. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.