AppendColumns,AppendRows,BlockMatrixが Mathematica カーネル関数のJoin,ArrayFlattenで利用できるようになった.
TakeRows,TakeColumns,TakeMatrix,SubMatrixが Mathematica カーネル関数のTakeで利用できるようになった.
HankelMatrixとHilbertMatrixがカーネル関数のHankelMatrix,HilbertMatrixとして利用できるようになった.
ZeroMatrixの機能が,新しいカーネル関数のConstantArrayを使って得られるようになった.
PolarDecompositionの機能が,向上した Mathematica カーネル関数のSingularValueDecompositionを使って得られるようになった.
MatrixPlotがカーネル関数のMatrixPlotとして利用できるようになった.
Version 5.2
A = Array[a, {2, 2}];B = Array[b, {2, 2}];
Join[A, B, 2]//MatrixForm
Version 5.2
A = Array[a, {2, 2}];B = Array[b, {2, 2}];
ArrayFlatten[{{A, B}, {B, 0}}]//MatrixForm
Version 5.2
Take[Array[a, {5, 5}], {2, 3}, {2, 4}]//MatrixForm
Version 5.2
HankelMatrix[3]//MatrixForm
Version 5.2
HilbertMatrix[3]//MatrixFormLowerDiagonalMatrix,UpperDiagonalMatrix,TridiagonalMatrixは以下の定義で置き換えることができる:
Version 5.2
LowerDiagonalMatrix[f_, n_Integer ? NonNegative] :=
Array[If[# ≥ #2, f[##], 0]&, {n, n}]
LowerDiagonalMatrix[a, 5]//MatrixForm
Version 5.2
UpperDiagonalMatrix[f_, n_Integer ? NonNegative] :=
Array[If[# ≤ #2, f[##], 0]&, {n, n}]
UpperDiagonalMatrix[a, 5]//MatrixForm
Version 5.2
TridiagonalMatrix[f_, n_Integer ? NonNegative] :=
Array[If[Abs[# - #2] ≤ 1, f[##], 0]&, {n, n}]
TridiagonalMatrix[a, 5]//MatrixForm
Version 5.2
LUMatrices[m_ ? MatrixQ] :=
{m - # + IdentityMatrix[Length@m], #}&[
m * Array[Boole[# ≤ #2]&, Dimensions@m]]
LUMatrices[First@LUDecomposition[{{1., 2.}, {3., 4.}}]]SquareMatrixQは次の定義で置き換えることができる:
Version 5.2
SquareMatrixQ = MatrixQ@# && Equal@@Dimensions@#&;
SquareMatrixQ[{{x}}]
Version 5.2
ConstantArray[0, {2, 2}]//MatrixForm
Version 5.2
{u, w, v} = SingularValueDecomposition[{{1, 1}, {1, I}}];
{u.ConjugateTranspose[v], v.w.ConjugateTranspose[v]}//RootReduce
Version 5.2
MatrixPlot[Reverse@IdentityMatrix[10], ColorFunction -> "Monochrome"]これまでのバージョンの Mathematica で利用できた以下の関数が,Web (library.wolfram.co.jp/infocenter/MathSource/6770)から利用できるようになった.
LinearEquationsToMatrices
InverseMatrixNorm
MatrixConditionNumber