2018年10月3日

Sage始めました

とあるルート系の命題をでっち上げてみたのだが,示そうとしてもできないのでその前に正しいのか少し計算させてみようかと.ルート系は前に作ったのがあるのだが,まだできかけだしどうせならば既存のものを使ってみようかとググってみたら,GAPやSageでできるよというのが引っかかった.そこで,前から気になっていたSageを使ってみることに.まだちょっとしか触っていないけど,とりあえずメモを残しておく.

インストールはhttp://www.sagemath.org/download-windows.htmlからWindowsのインストーラを落としてそれで.GitHubから落とさないとならないと思ってしまったのだが,そんなことはなかった.1G超えなのでダウンロードだけでも時間がかかるし,インストールもぼちぼち.TeX Liveよりは大分小さい&短いですが.

スタートメニューに「SageMath 8.3」というのができるのでそれから起動できる.

sage:
という画面が出てくるまで待つ.なんかすげーかかる…….

文法はPythonらしい.気にせずとりあえずWeylとかルート系とかを少し使ってみた.

R = RootSystem(['A',3]) # A3型ルート系を構築
V = R.root_lattice() # ルート格子をVとする.
a = V.simple_roots() # 単純ルート全体
W = WeylGroup(R,implementation="permutation") # Weyl群.元を列挙するために「置換群」としての実現を使う.
s = 0
for w in W.iteration(): # Wの元を列挙し,wに代入してループ
     if w.action(a[1]) > 0:
         s = s + 1
print("There is " + str(s) + " elements which sends the first simple root to a positive root") # もちろん12個と出てくる.

Rから何かできることは殆ど無くて,VやWを生成してそちらを使うことになるらしい.ルート格子が単純ルートを知っているのも変な気がするけど…….ルート格子以外にも色々ある(当たり前)だけど,できることの差がよくわからない.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です