-
-
Notifications
You must be signed in to change notification settings - Fork 481
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
Interface to the KnotInfo and LinkInfo databases #30352
Comments
Branch: u/soehms/knotinfo |
Tarball for KnotInfo |
Commit: |
comment:2
Attachment: knotinfo-20200713.tar.bz2.gz New commits:
|
This comment has been minimized.
This comment has been minimized.
Author: Sebastian Oehms |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
I add a sample of 20 links with about 20 of their properties as demonstration examples in order to have most of the doctests work on standard tests. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
I do the following:
Now a state is reached where about a quarter of the more than 120 properties of links listed in the KnotInfo databases have conversions to Sage objects (whereas all of them can be accessed as string). Surely, useres will still miss conversion methods in the remaining cases. But, from my point of view the current set is sufficient for a start with that interface. More conversion methods can be added on demand. Therefore, I think this is ready for review. |
This comment has been minimized.
This comment has been minimized.
comment:11
I feel like there should be something added to the I am not entirely convinced by name of the method Now for some minor things: It would be good to limit things in the docstrings to ~80 characters per line. Missing blankline:
You don't need to apologize
Also, error messages should start with a lowercase. Do you need this import? sage: from sage.databases.knotinfo_db import KnotInfoDataBase
- sage: from sage.env import SAGE_SHARE
sage: ki_db = KnotInfoDataBase()
sage: ki_db.filename.links
<KnotInfoFilename.links: ['https://linkinfo.sitehost.iu.edu/', 'linkinfo_data_complete']> I don't see where it is used in the doctest. The bullet points are overindented:
A trivial thing: |
comment:12
Replying to @tscrim: Thank you for having a look at this, Travis! Also, many thanks for the organization of that great Sage Days!
Indeed, it seems so! I didn't notice that because only two of the databases did that and everything worked fine, so far. Surely, it would be no mistake to do it. So I will include that in the next commit.
What about
I will add one in the next commit and fix the other minor issues, as well. |
comment:13
Replying to @soehms:
Thank you.
Better, but it is not really returning a |
comment:15
Replying to @tscrim:
It's okay for me, as well. The same concerning all your other suggestions, as you can see from the recent commit. Note, that the SnapPy doctests don't work any more since #24483 introduced an incompatibility in 9.3.beta0 ( |
comment:59
I do the following:
|
This comment has been minimized.
This comment has been minimized.
comment:61
Some suggestions for the upstream repository (in the direction of #30914):
|
comment:62
Replying to @mkoeppe:
Sounds good! I hope the new repository is as expected. Please don't hesitate to make any changes you think are necessary! Many Thanks! |
comment:64
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date. |
comment:66
Replying to @mkoeppe:
I've tried it now on my own and at least it is working. But since I needed a lot of trial error cycles I would appreciate it if you could have a look at it. The current commit here concerns the adaption to the pip-installable package. Furthermore, it contains adaptations to SnapPy 3.0.1 and an addition of some verbose messages to |
This comment has been minimized.
This comment has been minimized.
comment:68
I don't think it is necessary to cache Other than that, I am happy with the current state of things. Does anyone else have any comments or suggestions? |
comment:69
Looks great to me! |
Reviewer: Matthias Koeppe |
comment:70
I agree that this is not that effective. In general, my consideration concerning caching was that with the database available you easily can have hundreds or thousands of invocations of any method. Anyway, I think that is nothing that could hurt, and thus would keep it for a start. Many thanks to everyone who helped to have this interface realized! |
Changed branch from u/soehms/knotinfo to |
comment:72
Follow up at #31921. |
Changed commit from |
comment:73
Another follow up at #32760. |
At the moment Sage offers just a small set of 250 named knots (
src/sage/knots/knot_table.py
) taken form the Rolfsen table. Proper named links aren't available at all.Nowadays, larger databases for knots and links are available at the Knot Atlas pages in RDF-format and at KnotInfo as XLS / XLSX -files. Since parsing of CSV files is already supported by Sage, this is a good start to produce a Sage packages from these files containing about 3000 knots and 4000 proper links together with a lot of their properties and invariants.
Such a package has a couple of advantages:
The aim of this ticket is to have the databases accessible in Sage together with conversion methods for the most important properties and invariants.
Many thanks to Allison Moore and Chuck Livingston for their kind permission to have this interface implemented and their offer to support us.
Having checked out the ticket for the first time, you have to run
in order to have the databases installed. If you like to run all relevant doctests on the installation use:
CC: @miguelmarco @mkoeppe @kiwifb
Component: algebraic topology
Keywords: knot, link
Author: Sebastian Oehms
Branch:
9cde996
Reviewer: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/30352
The text was updated successfully, but these errors were encountered: