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

Improve performance of function fields #31841

Closed
kwankyu opened this issue May 20, 2021 · 16 comments
Closed

Improve performance of function fields #31841

kwankyu opened this issue May 20, 2021 · 16 comments

Comments

@kwankyu
Copy link
Collaborator

kwankyu commented May 20, 2021

We provide a dedicated reversed Hermite normal form computation implementation for function fields. It seems that we gain 30% in performance.

Performance comparison of ideal arithmetic:

sage: k.<a> = GF(16)
sage: K.<x> = FunctionField(k)
sage: Y = polygen(K, 'Y')
sage: L.<y> = K.extension(Y^4 + Y - x^5)
sage: O = L.maximal_order()
sage: i = O.ideal(y)
sage: j = O.ideal(x, 1/y)
sage: I = (i + j)^10
sage: J = (i / j)^10
sage: timeit('I + J')  # add
sage: timeit('I * J')  # mul
sage: timeit('I / J')  # div
sage: timeit('I^10')   # pow
add mul div pow
Before 9.56ms 31.8ms 153.0ms 522ms
After 5.37ms 25.1ms 96.3ms 391ms

CC: @slel

Component: performance

Author: Kwankyu Lee

Branch/Commit: 1e24242

Reviewer: Travis Scrimshaw

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

@kwankyu kwankyu added this to the sage-9.4 milestone May 20, 2021
@kwankyu
Copy link
Collaborator Author

kwankyu commented May 20, 2021

Branch: u/klee/31841

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 20, 2021

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

671eef1Improve performance of function field

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 20, 2021

Commit: 671eef1

@kwankyu

This comment has been minimized.

@kwankyu
Copy link
Collaborator Author

kwankyu commented May 20, 2021

Author: Kwankyu Lee

@kwankyu

This comment has been minimized.

@slel

This comment has been minimized.

@slel
Copy link
Member

slel commented May 20, 2021

comment:7

Don't forget to set to needs review when ready for review.

@tscrim
Copy link
Collaborator

tscrim commented May 21, 2021

comment:8

One quick comment: you did not declare cdef Py_ssize_t ip.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 23, 2021

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

1e24242Improve performance of function fields

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 23, 2021

Changed commit from 671eef1 to 1e24242

@kwankyu

This comment has been minimized.

@kwankyu

This comment has been minimized.

@tscrim
Copy link
Collaborator

tscrim commented May 23, 2021

comment:13

LGTM.

@tscrim
Copy link
Collaborator

tscrim commented May 23, 2021

Reviewer: Travis Scrimshaw

@vbraun
Copy link
Member

vbraun commented Jun 21, 2021

Changed branch from u/klee/31841 to 1e24242

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

4 participants