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

implement Conway polynomial #27522

Closed
fchapoton opened this issue Mar 21, 2019 · 22 comments
Closed

implement Conway polynomial #27522

fchapoton opened this issue Mar 21, 2019 · 22 comments

Comments

@fchapoton
Copy link
Contributor

as deduced from Alexander polynomial

CC: @tscrim @miguelmarco @slel @soehms

Component: algebraic topology

Keywords: knot

Author: Frédéric Chapoton

Branch/Commit: bd2b791

Reviewer: Sebastian Oehms, Travis Scrimshaw

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

@fchapoton
Copy link
Contributor Author

comment:1

still needs work


New commits:

7130792implement the Conway polynomial of knots and links

@fchapoton
Copy link
Contributor Author

Branch: u/chapoton/27522

@fchapoton
Copy link
Contributor Author

Commit: 7130792

@fchapoton
Copy link
Contributor Author

comment:2

There remains an issue about normalisation, plus more doctests needed.

@embray
Copy link
Contributor

embray commented Jun 14, 2019

comment:3

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).

@embray embray removed this from the sage-8.8 milestone Jun 14, 2019
@fchapoton
Copy link
Contributor Author

Changed keywords from none to knot

@soehms
Copy link
Member

soehms commented Jun 30, 2020

comment:5

I don't understand the line

M = M // 2

in your code. If I uncomment it I'm getting the correct result.

BTW: Wouldn't it by useful, to introduce a second option to obtain the Conway polynomial via the Homfly polynomial for cross check purpose?

sage: B = BraidGroup(3)
sage: L41 = Link(B([1, -2, 1, -2]))
sage: h41 = L41.homfly_polynomial(normalization='az'); h41
L^2 - M^2 - 1 + L^-2
sage: c41 = L41.conway_polynomial(); c41
1 - t^2
sage: t, = c41.variables()
sage:  hc41 = h41(1,t); hc41
1 - t^2
sage: hc41 == c41
True

Since now we have Puiseux series available the Homfly polynomial can also easily be used for cross checks with Alexander and Jones polynomials:

sage: a41 = L41.alexander_polynomial(); a41
-t^-1 + 3 - t
sage: j41 = L41.jones_polynomial(); j41
t^2 - t - 1/t + 1/t^2 + 1

sage: P.<t> = PuiseuxSeriesRing(ZZ)
sage: ha41 = h41(1,t^(-1/2) -t^(1/2)); ha41
-t^-1 + 3 - t
sage: ha41.laurent_series().laurent_polynomial() == a41
True

sage: hj41 = h41(~t,t^(-1/2) -t^(1/2)); hj41
t^-2 - t^-1 + 1 - t + t^2
sage: hjp41 = hj41.laurent_series().laurent_polynomial()
sage: L = hjp41.parent()
sage: hjp41 == L(j41)
True

As soon as we have Puiseux polynomials available, an option to use it would be a nice enhancement here, too.

@soehms
Copy link
Member

soehms commented May 6, 2022

Changed branch from u/chapoton/27522 to u/soehms/27522

@soehms
Copy link
Member

soehms commented May 6, 2022

Changed commit from 7130792 to 9f0bbf3

@soehms
Copy link
Member

soehms commented May 6, 2022

Reviewer: Sebastian Oehms

@soehms
Copy link
Member

soehms commented May 6, 2022

comment:7

Frederic, I still think that the line of code I posted in my previous comment (from June 2020) should be removed. After removing it the cross check against all of KnotInfo's Conway polynomials passes.

sage: B = BraidGroup(3)
....: L = Link(B([1, -2, 1, -2]))
....: L.conway_polynomial()
-t^2 + 1
sage: R = _.parent()
sage: kicps = {k:R(k[k.items.conway_polynomial].replace('z', 't')) for k in KnotInfo}
sage: len(kicps)
7166
sage: %time all(k.link().conway_polynomial() == kicps[k] for k in KnotInfo)
CPU times: user 6min 25s, sys: 270 ms, total: 6min 26s
Wall time: 6min 26s
True

I push a corresponding fix and in addition add some doctests. If you agree with it you may give it a positive review.


New commits:

e0c61a3Merge branch 'u/chapoton/27522' of trac.sagemath.org:sage into conway_polynomial_27522
9f0bbf327522: fix an some more doctests

@tscrim
Copy link
Collaborator

tscrim commented May 9, 2022

comment:8

One small comment:

-: wikipedia:`Alexander_polynomial`
+:wikipedia:`Alexander_polynomial`

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 9, 2022

Changed commit from 9f0bbf3 to d5f83fd

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 9, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

d5f83fd27522: typo

@soehms
Copy link
Member

soehms commented May 9, 2022

comment:10

Replying to @tscrim:

One small comment:

-: wikipedia:`Alexander_polynomial`
+:wikipedia:`Alexander_polynomial`

Fixed!

@fchapoton
Copy link
Contributor Author

comment:11

looks good to me. Please set to positive if you agree

@fchapoton
Copy link
Contributor Author

comment:12

oh, by the way please fix the syntax in the second meth role here:

Sebastian Oehms (October 2020, add get_knotinfo() and meth:isisotopic

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 18, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

9cfb578Merge branch 'u/chapoton/27522' of trac.sagemath.org:sage into conway_27522
05e98beMerge branch 'u/soehms/27522' of trac.sagemath.org:sage into conway_27522
d40f741Merge branch 'u/soehms/27522' of trac.sagemath.org:sage into conway_27522
bd2b79127522: fix syntax error in meth role

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 18, 2022

Changed commit from d5f83fd to bd2b791

@soehms
Copy link
Member

soehms commented May 18, 2022

comment:14

Replying to @fchapoton:

looks good to me. Please set to positive if you agree

Thanks!

oh, by the way please fix the syntax in the second meth role here:

Done.

@soehms
Copy link
Member

soehms commented May 18, 2022

Changed reviewer from Sebastian Oehms to Sebastian Oehms, Travis Scrimshaw

@fchapoton fchapoton added this to the sage-9.7 milestone May 19, 2022
@vbraun
Copy link
Member

vbraun commented May 24, 2022

Changed branch from u/soehms/27522 to bd2b791

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants