I accidentally made a mistake while explaining, in the photo with the AVL 
tree, the polynomial represented is P(x) = Cx^3 + Bx^2 + Ax, the {+0, +1, 
+2} tags are the heights for each node for the rotation.Sorry about that.

Στις Τετάρτη 17 Ιανουαρίου 2024 στις 5:54:55 μ.μ. UTC+2, ο χρήστης Spiros 
Maggioros έγραψε:

> Sure, as for using AVL trees to represent polynomials, the idea follows 
> the same approach as the AVL trees in case of insertion and deletion, so we 
> have O(logn) insertions and deletion, the tree stays balanced and we can 
> have the polynomial ordered every time.Here's an image for better 
> understanding:
> Here is a simple Right-Right rotation for the insertion process.
>
> [image: Screenshot 2024-01-17 at 17-48-49 polynomial_trees.png]
> Where A, B, C are the coefficients, i.e. the polynomial that this tree 
> represents is P(x) = Ax^2 + Bx + C.
> [image: Screenshot 2024-01-17 at 17-51-59 polynomial_trees.png]
> So we showed that, using AVL trees instead of arrays is much better(note 
> that even linked lists is slower cause the insertion time complexity is 
> O(n)).
> I have not seen the data structure that is used in SymPy, but i'm planning 
> to check what i need to see cause right now i'm in exam period and i have 
> no time at all.
> I will see the issues in the poly section as well and see if i can help 
> with something easy for now, cause i'm planning to apply for the GSoC this 
> year as well.
>
> Thanks for the information Oscar, i really appreciate that.
>
> Στις Τετάρτη 17 Ιανουαρίου 2024 στις 5:39:59 μ.μ. UTC+2, ο χρήστης Oscar 
> έγραψε:
>
>> On Wed, 17 Jan 2024 at 15:16, Spiros Maggioros <maggior...@gmail.com> 
>> wrote: 
>> > 
>> > Hi everyone! 
>>
>> Hi Spiros, 
>>
>> > My name is Spiros Maggioros and i'm a 3rd year undegraduate electrical 
>> & computer engineering student at National Technical University of 
>> Athens.I've worked as a machine learning engineering intern at OTE(HTO), 
>> i'm the lead of IEEEXtreme for the Greek section and a Computer Lab 
>> Assistant for my university.I have my own computer science research team 
>> working on prediction optimizations and algorithms.I would love to start 
>> contributing to SymPy and start solving some issues. 
>> > 
>> > One year ago i wrote a paper for polynomials representation(in the 
>> sparse representation) using AVL trees, and i would love to share my idea. 
>>
>> That sounds interesting. Do you have a link to it or can you explain 
>> the idea briefly here? 
>>
>> > Also, i would love to help with the implementation of the Polynomial 
>> GCD.Every help and details on what's the best way to contribute will be 
>> helpful! 
>>
>> That's great. There was a GSOC project last Summer looking at 
>> polynomial GCD which made some good progress but there is still plenty 
>> more to do. 
>>
>> Polynomials in particular are a high priority item for SymPy. Right 
>> now the two top priority items for polys are (any progress on either 
>> would be good): 
>>
>> 1. Improve SymPy's existing implementation and algorithms for polynomial 
>> gcd. 
>> 2. Expose Flint's sparse polynomials in python-flint and add the 
>> wrapper code in SymPy so that SymPy can use them when python-flint is 
>> available. 
>>
>> There is a start on the python-flint part here but it seems to be 
>> stalled: 
>> https://github.com/flintlib/python-flint/pull/59 
>>
>> Working on python-flint requires working with C and Cython as well as 
>> Python which might not be suitable. 
>>
>> As for SymPy's existing polynomial GCD algorithms there is a pull 
>> request from GSOC 23 that never got finished: 
>> https://github.com/sympy/sympy/pull/25442 
>>
>> I think that PR needs to be broken down. Some parts were extracted to 
>> other PRs that got merged but the final piece didn't get finished. 
>> Right now the problem with it is that it mixes up some things that 
>> should be part of the general GCD preprocessing steps (like removing 
>> unneeded variables) in with the PRS algorithm which should just be 
>> implemented in a more direct way. The basic code there seems 
>> reasonable but I don't think that it is organised in the right way. 
>>
>> Another thing that needs looking at is the code in 
>> sympy/polys/modulargcd. It looks like good code but isn't used 
>> anywhere and is not well tested. 
>>
>> For initial contribution you might want to look at something a bit 
>> easier than working on the polys GCD code though. There are some 300 
>> open issues with the polys tag if you are interested specifically in 
>> polynomials: 
>>
>> https://github.com/sympy/sympy/issues?q=is%3Aissue+is%3Aopen+label%3Apolys+ 
>>
>> -- 
>> Oscar 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/da3d91aa-54ef-4458-afb1-cf3b6bd4dfe5n%40googlegroups.com.

Reply via email to