計算機科学のブログ

知識を広げる 線形代数 ベクトルの和、ドット積(内積)、ノルム、行列、行列式、転置行列、積、行列方程式の解

ハンズ・オン・スタートMathematica® -Wolfram言語™によるプログラミング (C・ヘイスティング(著)、K・ミショー(著)、M・モリソン(著)、ウルフラム・リサーチ(翻訳)、丸善出版)の第2部(知識を広げる)、第17章(線形代数)の練習問題1、2、3、4、5、6、7、8、9、10の解答を求めてみる。

{1, 3, 5, Pi, Sin[2]} + {2, 4, 6, 3 Pi, x}
Output
vector1 = %
Output
vector2 = Table[i^3 + 1, {i, 0, 4}]
{1, 2, 9, 28, 65}
vector1 . vector2
Output
vector3 = vector2[[2]]
2
vector4 = vector1[[1;;3]]
{3, 7, 11}
Take[vector1, 3]
{3, 7, 11}
N[Norm[vector4], 4]
13.38
matrix1 = Table[Table[i^2 - j, {j, 1, 3}],
                {i, 1, 3}]
{{0, -1, -2}, {3, 2, 1}, {8, 7, 6}}
matrix2 = Table[Table[3i - j^2, {j, 1, 3}],
                {i, 1, 3}]
{{2, -1, -6}, {5, 2, -3}, {8, 5, 0}}
MatrixForm[matrix1]
Output
Det[matrix1]
0
matrix1 // Det
0
Transpose[matrix1]
{{0, 3, 8}, {-1, 2, 7}, {-2, 1, 6}}
MatrixForm[%]
Output
MatrixForm[matrix1]
Output
matrix1 . matrix2
{{-21, -12, 3}, {24, 6, -24}, {99, 36, -69}}
MatrixForm[matrix2]
Output
matrix1 matrix2
{{0, 1, 12}, {15, 4, -3}, {64, 35, 0}}
Solve[matrix2 . x == vector4, x]
{}
LinearSolve[matrix2, vector4]
Output
matrix2 . % == vector4
Output