1
$\begingroup$

Suppose I have a system of polynomial equations with base field $\mathbb{C}$ with $n$ equations and $n$ unknowns, how can I get the multiplicity of a certain solution? As an example, consider $$x^3=0\\y^4=0$$

I would expect the multiplicity of $(0,0)$ to be 12.

=============Edit============

The equation system has too much terms that not possible to get all roots and I'm interested in some specific ones. A better example explaining my question would be like $$x^3+x^4=0\\y^4=0$$ which has two roots $(0,0)$ and $(-1,0)$. With some priori knowledge I know that $(0,0)$ is a root and I would expect some algorithm could tell us it has multiplicity 12.

$\endgroup$
4
  • $\begingroup$ By "specific ones," do you mean they are known ahead of time? $\endgroup$
    – Michael E2
    Commented May 18 at 4:26
  • $\begingroup$ @MichaelE2 Yes, I know those root satisfies other constraints and are easy to get. $\endgroup$
    – Peter Wu
    Commented May 18 at 5:03
  • $\begingroup$ What if you use Nasser's approach with an epsilon neighborhood around the root? (Abs[x - x0] < eps, Abs[y - y0] < eps for a small eps, maybe with WorkingPrecision -> 32) With a bounded domain, different methods may be used and they may be faster. $\endgroup$
    – Michael E2
    Commented May 18 at 5:24
  • $\begingroup$ Maybe use the argument principle? $\endgroup$
    – yarchik
    Commented May 18 at 18:18

1 Answer 1

4
$\begingroup$

I would expect the multiplicity of (0,0) to be 12.

sol = SolveValues[{x^3 == 0, y^4 == 0}, {x, y}]
Tally[sol]

enter image description here

Regarding comment, this is what I get for the new input mentioned in V 14

enter image description here

$\endgroup$
7
  • $\begingroup$ Thanks for answer, the case is a bit more tricky. Solving the whole system of equation is not possible because it takes too long time. And I'm interested in multiplicities of certain roots. A better example would be $x^3+x^4=0,y^4=0$, which has two roots $(-1,0)$ and $(0,0)$. The latter would has multiplicity 12. $\endgroup$
    – Peter Wu
    Commented May 18 at 3:22
  • $\begingroup$ @PeterWu I am confused. When I typed sol = SolveValues[{x^3 + x^4 == 0, y^4 == 0}, {x, y}]; Tally[sol] I get what you asked for, which is {{{-1, 0}, 4}, {{0, 0}, 12}} I am using V 14. So I am not sure what is it you are asking for different than what Tally gives? Could you post the actual specific example you want processed? If Solve can't solve it, then ofcourse this solution will not work. $\endgroup$
    – Nasser
    Commented May 18 at 3:57
  • $\begingroup$ @Nasser I do not understand why, I get i.sstatic.net/lGDMeBx9.png $\endgroup$ Commented May 18 at 3:58
  • $\begingroup$ @minhthien_2016 I do not know. I am using V 14. May be you are using different version. I added screen shot on my answer also. $\endgroup$
    – Nasser
    Commented May 18 at 3:59
  • $\begingroup$ @Nasser I've added more details in question. There's no problem with your approach, it's just the equation system has too much terms that not possible to get all solutions, and I only need multiplicity of a certain root. $\endgroup$
    – Peter Wu
    Commented May 18 at 4:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.