Иллюстрированный самоучитель по Mathematica 5

Векторный анализ

Операции векторного анализа легко определить самостоятельно. Для этого полезны функции Outer и Inner. Функция Outer позволяет создать декартово произведение двух списков. Вот как можно, например, создать список пар, первый элемент которых берется из первого списка, а второй – из второго.

Outer[List,{a,b,c}, {d, e, f} ]
{{{a,d}, {a,e},{a,fn,{{b,d},{b,e},{b,f}},{{c,cl},{c,e},{c,f}}}

Вот пример, связанный с конкатенацией строк.

Иллюстрированный самоучитель по Mathematica 5 › Алгебра и анализ › Векторный анализ

Вот числовой пример.

Иллюстрированный самоучитель по Mathematica 5 › Алгебра и анализ › Векторный анализ

Функция Inner немного похожа на скалярное произведение. Собственно говоря, inner[f, список1, список2, g] и есть скалярное произведение, в котором умножение замещается функцией /, а сложение – функцией g.

vl = {a1, a2, a3}; v2 = {b1, b2, b3};
Dot[vl,v2] a1 b1 + 32 b2 + a3 b3 Inner[Times,vl,v2,Plus]
a1 b1 + 32 b2 + a3 b3

Теперь можем определить основные операции векторного анализа.

Вот определение градиента.

gradient[f,x_List] := Map[D[f,#]&,x]

Вычислим градиент.

Gradient[f[x,у, z], {x,y,z}]
{f(0.1.0) [x, y, z], f(0.1.0) [x, y, z],
f(0.1.0) D[x, y, z]}
.

Теперь определим гессиан:

hessian[f_,x_List] := Outer[D,gradient[f,x],x]

И вычислим его:

Иллюстрированный самоучитель по Mathematica 5 › Алгебра и анализ › Векторный анализ

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.