1.2.1 `nbh'
-----------

nbh(F)
     :: 曲線F=0 のneighborhood graph を返す。

RETURN
     リスト

F
     変数x,y,z の斉次多項式

   * 曲線F=0 のneigborhood graph を表すリストを返す。 neighborhood
     graph とは二次変換によって特異点がどのように
     分解されるかを表すtreeである。分解によって現れる点のことを
     隣接点と呼ぶ。特異点、隣接点の情報は、それぞれ次のような
     ベクトルによって表される。

    `特異点'
          [  点の個数, 点の座標, [重複度,
          通常特異点(=1)かそうでない(=-1)か],
          [この（これらの）特異点から出てくる隣接点の情報(これ以上隣接点が現れない場合は"terminal")]
          ]

    `隣接点'
          [  点の個数, [重複度, 通常特異点(=1)かそうでないか(=-1)か],
          [この（これらの）隣接点から出てくる隣接点の情報(これ以上隣接点が現れない場合は"terminal")]
          ]

    `一般に、特異点の座標は代数的数になる。この場合、代数的数を共役な代数的数で置き換えて得られる点もまた、特異点になる。この性質を利用して複数の特異点を一度に表示するのであるが、特異点ベクトルの最初の引数「点の個数」はこのような表示によって、いくつの特異点が表されているかを示している。したがって、特異点が有理点ならば、点の個数=1 である。隣接点ベクトルの最初の引数である「点の個数」は親ベクトルの表す各点から、この数だけ同じタイプの隣接点が出てくることを意味する。'

   * neighborhood graph
     はこれらのベクトルを入れ子にしたリストによって表現されている。

          [1] F=x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6;
          x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6
          [2] sing(F);
          [[0,0,1],[(#0),1,0]]
          [3] nbh(F);
          [ 1 [0,0,1] [4,-1] [[ 1 [2,1] [terminal] ],[ 1 [2,1] [terminal] ]] ]
          [ 2 [(#0),1,0] [2,-1] [[ 1 [1,1] [terminal] ]] ]
     特異点`[0,0,1]' は重複度4 の通常でない特異点であり、
     2つの隣接点をもつ。それらはどちらとも重複度2 の通常特異点
     である。特異点`[(#0),1,0]'の隣接点は単純点である。

   * Fは重複因子を持っていてはいけない。

参照
     *Note sing::

