# Singular

#### D.6.11.9 displayMultsequence

Procedure from library `hnoether.lib` (see hnoether_lib).

Usage:
displayMultsequence(INPUT); INPUT list or poly

Assume:
`INPUT` is a bivariate polynomial, or the output of `develop(f)`, resp. of `extdevelop(develop(f),n)`, or (one entry of) the list of HN data computed by `hnexpansion(f[,"ess"])`, or the output of `hnexpansion(f)`.

Return:
nothing

Display:
the sequence of multiplicities:
 ``` - if `INPUT=develop(f)` or `INPUT=extdevelop(develop(f),n)` or `INPUT=hne[i]`: `a , b , c , ....... , 1` - if `INPUT=f` or `INPUT=hnexpansion(f)` or `INPUT=hne`: `[(a_1, .... , b_1 , .... , c_1)],` `[(a_2, ... ), ... , (... , c_2)],` ` ........................................ ,` `[(a_n),(b_n), ....., (c_n)]` with: `a_1 , ... , a_n` the sequence of multiplicities of the 1st branch, `[...]` the multiplicities of the j-th transform of all branches, `(...)` indicating branches meeting in an infinitely near point. ```

Note:
The Same restrictions as in `multsequence` apply for the input.
In case the Hamburger-Noether expansion of the curve f is needed for other purposes as well it is better to calculate this first with the aid of `hnexpansion` and use it as input instead of the polynomial itself.

Example:
 ```LIB "hnoether.lib"; ring r=0,(x,y),dp; // Example 1: Input = output of develop displayMultsequence(develop(x3-y5)); ==> The sequence of multiplicities is 3,2,1,1 // Example 2: Input = bivariate polynomial displayMultsequence((x6-y10)*(x+y2-y3)*(x+y2+y3)); ==> [(3,3,1,1)], ==> [(2,2,1,1)], ==> [(1,1),(1,1)], ==> [(1,1),(1),(1)], ==> [(1),(1),(1),(1)] ```