【入門】Juliaの行列演算【数値計算】

【入門】Juliaの行列演算【数値計算】 数値計算
【入門】Juliaの行列演算【数値計算】

※ MATLAB、Python、Scilab、Julia比較ページはこちら。
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

はじめに

MATLAB,Python,Scilab,Julia比較 その34【行列演算⑰】の書き直し

前提

以下の行列を使用。

\(A= \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}\)

\(B= \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix}\)

足し算

> A+B
2×2 Matrix{Int64}:
  6   8
 10  12

引き算

> A-B
2×2 Matrix{Int64}:
 -4  -4
 -4  -4

掛け算(内積)

> A*B
2×2 Matrix{Int64}:
 19  22
 43  50

アダマール積

> A.*B
2×2 Matrix{Int64}:
  5  12
 21  32

左除算

# ¥’はバックスラッシュと同義
> A\B
2×2 Matrix{Float64}:
 -3.0  -4.0
  4.0   5.0

> inv(A)*B
2×2 Matrix{Float64}:
 -3.0  -4.0
  4.0   5.0

右除算

> A/B
2×2 Matrix{Float64}:
 3.0  -2.0
 2.0  -1.0

> A*inv(B)
2×2 Matrix{Float64}:
 3.0  -2.0
 2.0  -1.0

べき乗

内積ベースのべき乗とアダマール積ベースのべき乗がある。

> A^2
2×2 Matrix{Int64}:
  7  10
 15  22

アダマール積ベース

> A.^2
2×2 Matrix{Int64}:
 1   4
 9  16

転置

> A'
2×2 adjoint(::Matrix{Int64}) with eltype Int64:
 1  3
 2  4

反転

# 一次元目(縦方向)に対して反転
> reverse(A,dims=1)
2×2 Matrix{Int64}:
 3  4
 1  2

> A[end:-1:1,:]
2×2 Matrix{Int64}:
 3  4
 1  2

# ニ次元目(横方向)に対して反転
> reverse(A,dims=2)
2×2 Matrix{Int64}:
 2  1
 4  3

> A[:,end:-1:1]
2×2 Matrix{Int64}:
 2  1
 4  3

まとめ

  • ほぼMATLABと一緒。
    • 以下が異なる。
      • 配列添え字のカッコが丸カッコじゃなくて角カッコな点。
      • flipdimは使えなくて、代わりにreverseという関数を使用する点。
        • 以前はflipdimは存在していたようだが、現在では無くなってる。

※ MATLAB、Python、Scilab、Julia比較ページはこちら。

コメント

タイトルとURLをコピーしました