С Mathematica 7.0.1.0
Clear[A, V, P];
A = {1, 2, 3};
V = {4, 5, 6};
P = {P1, P2, P3};
Solve[A + V t == P, P]
выходы:
{{P1 -> 1 + 4 t, P2 -> 2 + 5 t, P3 -> 3 (1 + 2 t)}}
Вывод P = {P1, P2, P3} может раздражать, если массив или матрица велики.
Clear[A, V, PP, P];
A = {1, 2, 3};
V = {4, 5, 6};
PP = Array[P, 3];
Solve[A + V t == PP, PP]
выходы:
{{P[1] -> 1 + 4 t, P[2] -> 2 + 5 t, P[3] -> 3 (1 + 2 t)}}
Матричное векторное внутреннее произведение:
Clear[A, xx, bb];
A = {{1, 5}, {6, 7}};
xx = Array[x, 2];
bb = Array[b, 2];
Solve[A.xx == bb, xx]
выходы:
{{x[1] -> 1/23 (-7 b[1] + 5 b[2]), x[2] -> 1/23 (6 b[1] - b[2])}}
Умножение матриц:
Clear[A, BB, d];
A = {{1, 5}, {6, 7}};
BB = Array[B, {2, 2}];
d = {{6, 7}, {8, 9}};
Solve[A.BB == d]
* * 1 022 Выходы: * +1023 *
{{B[1, 1] -> -(2/23), B[2, 1] -> 28/23, B[1, 2] -> -(4/23), B[2, 2] -> 33/23}}
Точечный продукт имеет встроенную систему обозначений, просто используйте точку для точки.
Однако я не думаю, что перекрестный продукт делает. Вот как вы используете пакет Notation для создания пакета. «Х» станет нашей инфиксной формой Креста. Я предлагаю скопировать пример из учебника по Notation, Symbolize и InfixNotation. Также используйте палитру обозначений, которая помогает абстрагироваться от некоторого синтаксиса Box.
Clear[X]
Needs["Notation`"]
Notation[x_ X y_\[DoubleLongLeftRightArrow]Cross[x_, y_]]
Notation[NotationTemplateTag[
RowBox[{x_, , X, , y_, }]] \[DoubleLongLeftRightArrow]
NotationTemplateTag[RowBox[{ ,
RowBox[{Cross, [,
RowBox[{x_, ,, y_}], ]}]}]]]
{a, b, c} X {x, y, z}
выходы: * * тысяча тридцать-один
{-c y + b z, c x - a z, -b x + a y}
Выше выглядит ужасно, но при использовании палитры обозначений это выглядит так:
Clear[X]
Needs["Notation`"]
Notation[x_ X y_\[DoubleLongLeftRightArrow]Cross[x_, y_]]
{a, b, c} X {x, y, z}
Я сталкивался с некоторыми причудами, используя пакет обозначений в предыдущих версиях mathematica, поэтому будьте осторожны.