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

GSoC 2024: Meta-Ticket for implementing a tropical polynomials #37962

Closed
1 task done
verreld7 opened this issue May 8, 2024 · 0 comments · Fixed by #38291
Closed
1 task done

GSoC 2024: Meta-Ticket for implementing a tropical polynomials #37962

verreld7 opened this issue May 8, 2024 · 0 comments · Fixed by #38291
Labels
c: algebra gsoc: 2024 Tag for GSoC2024 issues/PRs t: feature
Milestone

Comments

@verreld7
Copy link
Contributor

verreld7 commented May 8, 2024

Problem Description:

Currently, SageMath includes implementations for the tropical semiring and polynomial ring. We aim to extend the polynomial ring to support coefficients from a tropical semiring. This will form a commutative semiring composed of all finite linear combinations of tropical monomials under tropical addition and multiplication. To achieve this, we will implement custom classes for tropical polynomials that will provide benefits such as efficient representation and specialized methods, including the visualization of corresponding tropical hypersurfaces.

This is a project for Google Summer of Code 2024: Implementation of Tropical Polynomials and its Corresponding Tropical Hypersurfaces.

The proposed classes would include the following functionalities:

  • Finding tropical roots and performing factorization.
  • Plotting the graph of a tropical polynomial function in one or two variables.
  • Plotting tropical hypersurfaces corresponding to tropical polynomials in two or three variables.
  • Determining the dual subdivision for any tropical variety.
  • Determining the weight vectors for tropical curves and tropical surfaces.

Pull Requests:

Is there an existing issue for this?

  • I have searched the existing issues for a bug report that matches the one I want to file, without success.
@tscrim tscrim added t: feature gsoc: 2024 Tag for GSoC2024 issues/PRs c: algebra and removed t: enhancement labels May 10, 2024
@verreld7 verreld7 changed the title Implement a custom class for tropical polynomials Meta-Ticket: Implement a custom class for tropical polynomials Jun 27, 2024
@verreld7 verreld7 changed the title Meta-Ticket: Implement a custom class for tropical polynomials Meta-Ticket: Implement a custom class for tropical polynomials (GSoC 2024) Aug 18, 2024
@verreld7 verreld7 changed the title Meta-Ticket: Implement a custom class for tropical polynomials (GSoC 2024) GSoC 2024: Meta-Ticket for implementing a tropical polynomials Aug 18, 2024
@vbraun vbraun closed this as completed in e9b9d32 Sep 3, 2024
@mkoeppe mkoeppe added this to the sage-10.5 milestone Sep 3, 2024
vbraun pushed a commit to vbraun/sage that referenced this issue Nov 13, 2024
…ropical variety

    
<!-- ^ 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". -->

This PR introduces some new methods in `TropicalVariety` related to dual
subdivision and weight vectors.

### Summary of changes:

1. Add `dual_subdivision` in `TropicalVariety`: return the dual
subdivision for any tropical variety as a Graph object
2. Add `_components_of_vertices` in `TropicalCurve`: intermediate method
the help calculate weight vectors
3. Add `weight_vectors` in `TropicalCurve`: return the weight vectors of
each vertex
4. Add `weight_vectors` in `TropicalSurface`: return the weight vectors
of each unique line of intersection
5. Add a few methods related to dual subdivision of tropical curve such
as:

    - `is_smooth`
    - `is_simple`
    - `genus`
    - `contribution`


CC: @tscrim

### 📝 Checklist

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

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

### ⌛ Dependencies

sagemath#37962: issues related to this PR
sagemath#38291: continuation of this PR
    
URL: sagemath#38536
Reported by: Verrel Rievaldo Wijaya
Reviewer(s): Travis Scrimshaw, Verrel Rievaldo Wijaya
vbraun pushed a commit to vbraun/sage that referenced this issue Nov 14, 2024
…ropical variety

    
<!-- ^ 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". -->

This PR introduces some new methods in `TropicalVariety` related to dual
subdivision and weight vectors.

### Summary of changes:

1. Add `dual_subdivision` in `TropicalVariety`: return the dual
subdivision for any tropical variety as a Graph object
2. Add `_components_of_vertices` in `TropicalCurve`: intermediate method
the help calculate weight vectors
3. Add `weight_vectors` in `TropicalCurve`: return the weight vectors of
each vertex
4. Add `weight_vectors` in `TropicalSurface`: return the weight vectors
of each unique line of intersection
5. Add a few methods related to dual subdivision of tropical curve such
as:

    - `is_smooth`
    - `is_simple`
    - `genus`
    - `contribution`


CC: @tscrim

### 📝 Checklist

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

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

### ⌛ Dependencies

sagemath#37962: issues related to this PR
sagemath#38291: continuation of this PR
    
URL: sagemath#38536
Reported by: Verrel Rievaldo Wijaya
Reviewer(s): Travis Scrimshaw, Verrel Rievaldo Wijaya
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: algebra gsoc: 2024 Tag for GSoC2024 issues/PRs t: feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants