What is FiniteSet?

Oh sorry for the confusion. Set with finite no. of elements…. I mean its yet to be implemented but like we had

`Number`

as the boundary of `Intervals`

, do we want `FiniteSet`

to also have elements of type `Number`

Depends on what the elements are

I’m not sure I understand. Can you elaborate?

Set with finite no. of elements

What are the elements?

I mean we should have functionality to store any kind of elements right

Oh… like solutions to a

`UnivariatePolynomial`

and stuff
So, are they numbers? or any symbolic type?

Depends on what we input actually…but

`Number`

won’t support symbolic right?
Yes

So what alternative can we have? We want to represent the solutions in any case.

Then, a

`Basic`

can be used
Does

`Basic`

store things like `mpfr_class`

?
`Number`

is a subclass of `Basic`

. So, yes
Oh right! I missed that somehow. Thanx! :smile:

@isuruf Can you update the description on #871 ? See my comment on #876

You can also comment on #871

:+1:

@nishnik What’s the status on #873? Ready to merge?

@chenchfort Yeah!

Will be good if someone reviews it again.

@isuruf @Sumith1896 Do we have any functions for polynomial manipulation as of now? E.g. Square free decomposition or GCD ?

Nope

@CodeMaxx FYI in Piranha there is initial support for polynomial GCD, see bluescarni/piranha#55 Performance-wise it still needs a lot of work and probably it cannot be a solution for symengine, as Piranha is an optional dependency. But maybe if someone starts working on this in symengine we can join forces and compare implementations/algorithms/results.

I'd like to have also factorization and things like partial fraction decomposition eventually, but it's a long road

@bluescarni I was already thinking of implementing finite field (Galois field) for univariate polynomials. And after that we can proceed to factorisation using square free decomposition and modulus Algorithms like Chinese remainder theorem. As I have already taken a course on it. It will be intuitive for me to do it.

But for that many a design considerations must be taken.

@nishnik Great! I’ve been thinking along the same lines. I was thinking of implementing the same things and finally moving on to implement the

`Cantor-Zassenhaus`

algorithm for polynomial factorisation after all the required components are in place.
Design will be decided on-the-way through some discussions before we implement each piece required to complete the Factorisation picture.

@nishnik I am not too familiar with abstract algebra, I am mostly learning as I implement algorithms in Piranha. In this context when you talk about finite fields, you are basically referring to implementing an integral type with modular algebra over primes or something else?

@bluescarni Yes we’ll be working on GCD this summer. What GCD algorithm are you using in Piranha ?

I am actually referring to *implementing an integral type with modular algebra*.

@CodeMaxx its there in bluescarni/piranha#55

Sorry bluescarni/piranha#52

Cool.

@nishnik right, I meant that :)

I was asking because that's needed for modular GCD algorithms and I'll eventually implement it

but first it's needed to implement good data structures for polys

@bluescarni Oh! cool. Yeah! I saw that paper also you had mentioned in the issue.

@isuruf Do we have

`division`

functionality for univariate polynomials ?
No we don’t.

@chenchfort @irislq Are you planning to implement

`division`

for `UnivariatePolynomial`

in near future ?
Sure. However I think @isuruf mentioned that we don’t need to have it? I might be wrong.

Do you guys know how to pass the codecov test? Is it like the quality has to match or exceed symengine’s?

The whole code has to be covered by tests I think.

Which PR are you facing the problem on?

@chenchfort Ok so from what I observe the coverage has to be greater( in %) than what is on master branch.

#868 Ok I’ll see what I can do.