Julia
基本的なもの
配列の長さを知る --- length
x が 1 次元の配列
>x=[1 2 3]
>length(x)
3
x が 2 次元
>x=[1 2 3;
4 5 6]
>length(x)
6
>length(x[:,1])
2
>length(x[1,:])
3
ファイルへの出力
基本技 --- open
f=open("output.txt", "w")
print(f, "hello")
close(f)
特殊関数
SpecialFunctions
球ベッセル関数
using "SpecialFunctions"
sbj(n, x) = √(π./2x)*besselj.(n+1/2, x)
sby(n, x) = √(π./2x)*bessely.(n+1/2, x)
shankel(n,x) = sbj.(n,x) + 1im.*sby.(n,x)
SpecialPolynomials
Polynomials
ルジャンドル多項式、ルジャンドル陪多項式
using "SpecialPolynomials"
using "Polynomials"
角運動量合成に関するパッケージ
角運動量の合成則に使われる係数の定義:
これらを計算するには、WignerSymbols と CGcoefficient のパッケージがある。
1. WignerSymbols パッケージ(Racah 9Jはない)
インストール
]add WignerSymbols
または
Using Pkg
Pkg.add("WignerSymbols")
使い方
半整数は rational (例: 3//2 =1.5, 5//2=2.5)を使って引数とする
Wigner-3j:
wigner3j(int j1, int j2, int j3, int m1, int m2, int m3=-m1-m2)
Wigner-6j:
wigner6j(int j1, int j2, int j3, int j4, int j5, int j6)
Clebsch-Gordan:
clebschgordan(int j1, int m2, int j2, int m2, int j3, int m3=m1+m2)
2.CGcoefficient パッケージ(こっちは9Jまである)
説明書
https://0382.github.io/CGcoefficient.jl/dev/
インストール
]add CGcoefficient
または
Using Pkg
Pkg.add("CGcoefficient")
使い方 (float version)
半整数は rational (例: 3//2 =1.5, 5//2=2.5)を使って引数とする
Clebsch-Gordan:
CG(int j1, int j2, int j3, int m1, int m2, int m3=m1+m2)
Wigner 3j symbol:
threeJ(int j1, int j2, int j3, int m1, int m2, int m3=-m1-m2);
Wigner 6j symbol:
sixJ(int j1, int j2, int j3, int j4, int j5, int j6);
Racah coefficient:
Racah(int j1, int j2, int j3, int j4, int j5, int j6);
Wigner 9j symbol:
nineJ(int j1, int j2, int j3, int j4, int j5, int j6, int j7, int j8, int j9);