Matlabでベクトル場Aの全微分dAに関する公式の計算

以下を計算で確かめる。
f:id:seinzumtode:20211026142744p:plain
ただし、Sは以下で定義する。
f:id:seinzumtode:20211026142825p:plain
等式の右辺、1/2(rot A) x dx + S • dx を計算し、dAに一致することを示す。

clear; close all; clc;
syms Ax Ay Az ddx ddy ddz dx dy dz real;
A = [Ax, Ay, Az]';
nabla=[ddx, ddy, ddz]';
gradA=nabla*A';
gradAt=A*nabla';
S=(gradA+gradAt)/2;
dr = [dx,dy,dz]';
simplify(cross(cross(nabla,A),dr)/2 + S*dr)

実行結果

ans =
Ax*(ddx*dx + ddy*dy + ddz*dz)
Ay*(ddx*dx + ddy*dy + ddz*dz)
Az*(ddx*dx + ddy*dy + ddz*dz)

これは以下のdAの定義に合致する。
f:id:seinzumtode:20211026144049p:plain