Matlabにそっくりな文法なので、いろいろ行列演算をしてみました。「#」は、Matlabの「%」やJavaの「//」に相当するコメント記号で、そこから行末までが無視されます。
julia> A = randi(6, 3, 3) # 1〜6の乱数で3x3の行列を作る 3x3 Int64 Array: 5 6 5 1 3 3 6 6 6 julia> diag(A) # 対角成分だけ取り出す [5, 3, 6] julia> norm(A) # ノルムの計算 14.504793991339222 julia> rank(A) # ランクの計算 3 julia> inv(A) # 逆行列の計算 3x3 Float64 Array: 0.0 -0.5 0.25 1.0 0.0 -0.833333 -1.0 0.5 0.75 julia> A * inv(A) # 逆行列をかけてみる 3x3 Float64 Array: 1.0 0.0 0.0 0.0 1.0 -4.44089e-16 0.0 0.0 1.0 julia> A \ A # バックスラッシュ(円記号)でも同じことができる 3x3 Float64 Array: 1.0 0.0 0.0 0.0 1.0 0.0 -0.0 -0.0 1.0 julia> typeof(A) # Aの型を調べると、要素がInt64の2次元配列だとわかる Array{Int64,2} julia> mean(A,1) # 1次元目で平均を計算 1x3 Float64 Array: 4.0 5.0 4.66667 julia> mean(A,2) # 2次元目で平均を計算 3x1 Float64 Array: 5.33333 2.33333 6.0 julia> A[:,1] # 1列目だけを抽出 3x1 Int64 Array: 5 1 6 julia> mean(A[:,1]) # 1列目だけの平均を計算したいのだけど(行列だから)うまくいかない no method mean(Array{Int64,2},) in method_missing at /Users/marui/julia/j/base.j:58 julia> squeeze(A[:,1]) # squeezeしてやるとベクトルになった [5, 1, 6] julia> mean(squeeze(A[:,1])) # ベクトルだと平均が計算できる 4.0 julia> help(svd) # 特異値分解の使い方を調べる (U, S, V) = svd(A) Compute the SVD of A julia> (U,S,V) = svd(A) # 特異値分解してみる ( 3x3 Float64 Array: -0.638685 0.040433 -0.768405 -0.283767 -0.940608 0.186368 -0.715233 0.337078 0.612226, [14.5048, 1.52162, 0.543704], 3x3 Float64 Array: -0.535588 -0.618748 -0.574715 0.843852 -0.365898 -0.39247 0.032553 -0.695176 0.718102) julia> U * diagm(S) * V # Sを対角成分に持つ行列を作り、Aに戻す 3x3 Float64 Array: 5.0 6.0 5.0 1.0 3.0 3.0 6.0 6.0 6.0