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$ Commented May 18, 2024 at 4:26
  • $\begingroup$ @MichaelE2 Yes, I know those root satisfies other constraints and are easy to get. $\endgroup$ Commented May 18, 2024 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$ Commented May 18, 2024 at 5:24
  • $\begingroup$ Maybe use the argument principle? $\endgroup$ Commented May 18, 2024 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$ Commented May 18, 2024 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$ Commented May 18, 2024 at 3:57
  • $\begingroup$ @Nasser I do not understand why, I get i.sstatic.net/lGDMeBx9.png $\endgroup$ Commented May 18, 2024 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$ Commented May 18, 2024 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$ Commented May 18, 2024 at 4:01

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.