Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

try to upgrade tdlib #30813

Closed
dimpase opened this issue Oct 22, 2020 · 14 comments · Fixed by #38163
Closed

try to upgrade tdlib #30813

dimpase opened this issue Oct 22, 2020 · 14 comments · Fixed by #38163

Comments

@dimpase
Copy link
Member

dimpase commented Oct 22, 2020

tdlib appears in development, at https://github.com/freetdi/tdlib - now at version 0.9.

Not sure whether it it easy to upgrade, but one should try.

CC: @dcoudert @sagetrac-llarisch

Component: packages: optional

Issue created by migration from https://trac.sagemath.org/ticket/30813

@dimpase dimpase added this to the sage-9.3 milestone Oct 22, 2020
@dcoudert
Copy link
Contributor

comment:2

It's in my todo list since several months now... but I don't know how to do that.

We should also expose other algorithms from this library (heuristics, cuset, etc.). I plan to move the treewidth method into a new tree_decomposition.pyx file and add an exact algorithm for treelength (I have one). But one step at a time.

@mkoeppe
Copy link
Contributor

mkoeppe commented Oct 22, 2020

comment:3

Note that Cython code that uses tdlib should remain in its own module and not be mixed with other Cython code - this is important for the modularization effort (#29864)

@dimpase
Copy link
Member Author

dimpase commented Oct 23, 2020

comment:4

I opened freetdi/tdlib#34

it principle, all the C++ headers as in the current package are still there, whether they are compatible is another question. I asked the upstream to make a release.

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 13, 2021

comment:5

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@fchapoton
Copy link
Contributor

comment:6

now on gitlab, and with a new name

https://gitlab.com/freetdi/treedec/-/releases

@dimpase
Copy link
Member Author

dimpase commented Jul 14, 2021

comment:7

and a new release: https://gitlab.com/freetdi/treedec/-/releases

@sheerluck
Copy link
Contributor

comment:8

Replying to @dimpase:

and a new release: https://gitlab.com/freetdi/treedec/-/releases

--- a/src/sage/graphs/graph_decompositions/sage_tdlib.cpp
+++ b/src/sage/graphs/graph_decompositions/sage_tdlib.cpp
@@ -2,8 +2,9 @@
 #include <map>
 
 #include <boost/graph/adjacency_list.hpp>
-#include "tdlib/TD_combinations.hpp"
-#include "tdlib/TD_misc.hpp"
+#include <treedec/combinations.hpp>
+#include <treedec/misc.hpp>
+#include <treedec/treedec.hpp>
 
 #ifndef TD_STRUCT_VERTEX
 #define TD_STRUCT_VERTEX
@@ -20,7 +21,6 @@ struct bag{
     std::set<unsigned int> bag;
 };
 
-typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, bag> TD_tree_dec_t;
 
 
 void make_tdlib_graph(TD_graph_t &G, std::vector<unsigned int> &V, std::vector<unsigned int> &E){

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 1, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 6, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
@guojing0 guojing0 self-assigned this Oct 31, 2023
@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 6, 2024

@felix-salfelder
Copy link

There's some unfinished work on new python bindings for treedec. The goal is to replace the "tdlib" cython code by ordinary c++, with a more pythonic interface. And there is an experimental but stand-alone setup.py.

See the python_build branch in the git source repo and https://www.algok.uni-bamberg.de/freetdi.html for possible future work.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jun 7, 2024

@felix-salfelder Thanks for the pointer. Note we are packaging https://pypi.org/project/sagemath-tdlib/ (you may have already seen that)

@antonio-rojas
Copy link
Contributor

@antonio-rojas
Copy link
Contributor

@felix-salfelder hi, is there a reason why there is no 0.9.2 tag? Last commit being "Release 0.9.2" suggests that it's done.

@felix-salfelder
Copy link

felix-salfelder commented Jun 7, 2024 via email

vbraun pushed a commit to vbraun/sage that referenced this issue Jun 10, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

- FIxes sagemath#30813
- Fixes sagemath#38159

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

- Depends on sagemath#38144 (merged here for testing)
    
URL: sagemath#38163
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this issue Jun 16, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

- FIxes sagemath#30813

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

- Depends on sagemath#38144 (merged here for testing)
    
URL: sagemath#38163
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this issue Jun 16, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

- FIxes sagemath#30813

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

- Depends on sagemath#38144 (merged here for testing)
    
URL: sagemath#38163
Reported by: Matthias Köppe
Reviewer(s): David Coudert
vbraun pushed a commit to vbraun/sage that referenced this issue Jun 17, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

- FIxes sagemath#30813

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

- Depends on sagemath#38144 (merged here for testing)
    
URL: sagemath#38163
Reported by: Matthias Köppe
Reviewer(s): David Coudert
@mkoeppe mkoeppe added this to the sage-10.4 milestone Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants