Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
integrate | Учебники

Записи с меткой «integrate»

Линейная алгебра — пакет LinearAlgebra

Линейная алгебра— пакет LinearAlgebra
 
Пакет расширения LinearAlgebra добавляет ряд новых функций, полезных при решении сложных задач линейной алгебры.
Декомпозиция Холесского — Cholesky
Подпакет Cholesky содержит единственную функцию HoleskyDecomposition [m], которая вычисляет декомпозицию (факторизацию, разложение) Холесского для симметричной положительно определенной матрицы т.
Примеры выполнения декомпозиции Холесского даны ниже:
<<LinearAlgebra`Cholesky`
hil = Tablet l/(i + j — 1) , {i, 1, 4}, {j, 1, 4}]
Eigenvalues[ N[hil] ]
{1.50021, 0.169141, 0.00673827, 0.0000967023}
u = CholeskyDecomposition[hil]
MatrixForm[Transpose[u] . u]
 
Метод исключения Гаусса — GaussianElimination
Следующие функции обеспечивают реализацию метода исключения Гаусса при решении линейного уравнения вида А-x =b:

  • LUFactor [m] — возвращает LU-декомпозицию матрицы m;
  • LUSolve [lu, b] — решает систему линейных уравнений с матрицей коэффициентов lu и вектором свободных членов b методом исключения переменных Гаусса;
  • LU [a, pivots] — создает объект, используемый в LUSolve. Применение этих функций поясняют примеры, показанные ниже:

<<LinearAlgebra`GaussianElimination`
MatrixForm[a = {{1, 2, 3}, {4, 5, 6}, {-1, 5, -5}}]
lu = LUFactor[a]
b = {10, -3, 12}
{10, -3, 12}
LUSolve[lu, b]
Метод исключения Гаусса является хорошо апробированным методом решения систем линейных уравнений, что делает реализацию описанных функций полезным дополнением к встроенным функциям линейной алгебры.
Операции с матрицами — MatrixManipulation
Подпакет MatrixManipulation добавляет к матричным функциям ядра системы Ма-thematica ряд новых функций. Начнем с функций объединения матриц:

  • AppendColumns [ml,m2,…] — объединяет по столбцам матрицы ml,m2,…;
  • AppendRows [ml,m2,…] — объединяет по строкам матрицы ml,m2,…;
  • BlockMatrix [blocks] — объединяет по строкам и столбцам блоки blocks, создавая новую матрицу.

Данные операции с матрицами иллюстрируют следующие примеры:
<< LinearAlgebra`MatrixManipulation`
a = {{a11, a12}, {a21, a22}}; MatrixFormfa]
b = {{b11, b12}, {b21, b22}}; MatrixForm[b]
MatrixForm[AppendColumns[a, b] ]
AppendRows[a, b] //MatrixForm
BlockMatrix[{{a, b}, {b, {{0, 0}, {0, 0}}}}] //MatrixForm
Следующая группа функций вставляет или удаляет столбцы или строки матриц:

  • TakeRows [mat, n] — вставляет в матрицу mat n-ю строку;
  • TakeRows [mat, -n] — удаляет из матрицы mat п-ю строку;
  • TakeRows [mat, {m,n} ] — вставляет в матрицу mat строки от m до n;
  • TakeColumns [mat, n] — вставляет в матрицу mat п-й столбец;
  • TakeColumns [mat, -n] — удаляет из матрицы mat п-й столбец;
  • TakeColumns [mat, {m, n} ] — вставляет в матрицу mat столбцы от m до п.

Действие функции иллюстрируется следующими примерами:
mat = Array[m, 3, 4]; MatrixForm[mat]
m[l, 1] m[l, 2] m[l, 3] m[l, 4]
m[2, 1] m[2, 2] m[2, 3] m[2, 4]
m[3, 1] m[3, 2] m[3, 3] m[3, 4]
TakeRows[mat, -2] //MatrixForm
m[2, 1] m[2, 2] m[2, 3] m[2, 4]
m[3, 1] m[3, 2] m[3, 3] m[3, 4]
TakeColumns[mat, {2,3}] //MatrixForm
m[l, 2] m[l, 3] )
m[2, 2] m[2, 3]
m[3, 2] m[3, 3]
TakeMatrix[mat, {2, 3}, {3, 4}] //MatrixForm
m[2, 3] m[2, 4]
m[3, 3] m[3, 4]
SubMatrix[mat, {2, 3}, {2, 2}] //MatrixForm
m[2, 3] m[2, 4]
m[3, 3] m[3, 4]
Следующая группа функций служит для задания матриц специального вида:

  • UpperDiagonalMatrix [f, n] — формирует наддиагональную матрицу размером пхп;
  • LowerDiagonalMatrix [f, n] — формирует поддиагональную матрицу размером пхп;
  • ZeroMatrix [n] — формирует квадратную нулевую матрицу размером пхп;
  • ZeroMatrix [m, n] — формирует нулевую матрицу размером тхп;
  • HilbertMatrix [n] — формирует квадратную матрицу Гильберта размером пхп;
  • HilbertMatrix [m, n] — формирует матрицу Гильберта размером тхп;
  • HankelMatrix [n] — формирует квадратную матрицу Ганкеля размером пхп;
  • HankelMatrix [m, n] — формирует матрицу Ганкеля размером тхп.

Примеры задания матриц разного типа приведены ниже:
UpperDiagonalMatrix[f, 3] //MatrixForm
LowerDiagonalMatrix[#1 + #2 &, 4] //MatrixForm
HilbertMatrix[2, 4] //MatrixForm
HankelMatrix[{w, x, y, z}] //MatrixForm
Наконец, в подпакет входит еще одна функция, LinearEquationsToMatri-ces [eqns, vars], которая из записи линейного уравнения eqns с переменными vars формирует расширенную матрицу, содержащую матрицу коэффициентов левой части уравнения и вектор свободных членов.
Пример применения данной функции:
LinearEquationsToMatrices[
а[1,1]*х + а[1,2]*у == с[1],
а[2,1]*х + а[2,2]*у == с[2], х, у]
{{{{{a11, a12), {а21, а22}}[1, 1],
{{a11, a12), {a21, а22}}[1, 2]}, {{{a11, a12}, {a21, a22}}[2, 1],
{{a11, a12), {a21, a22}} [2, 2]}}, {c[l],c[2]}}
 
Ортогонализация и нормализация — Ortogonalization
В подпакете ортогонализации Ortogonalization имеются следующие функции:

  • GramSchmidt [ {vl, v2,…} ] — создает ортогональное множество на основе списка векторов v1, v2, …;
  • Normalize [vect] — возвращает нормированный вектор vect;
  • Projection [vectl, vect2] — дает ортогональную проекцию вектора vl на вектор v2.

В этих функциях после аргументов допустимы опции InnerProduct->exprn Normalized->False (отказ от нормировки). Примеры работы с функциями ортогонализации представлены ниже:
<<LinearAlgebra`Orthogonalization`
{wl, w2, w3} = GramSchmidt[ {{1,3,2}, {2,4,3}, {2,4,6}}]
{ wl . w2, w2 . w3, wl . w3, wl . wl, w2 . w2, w3 . w3}
{0, 0, 0, 1, 1, 1}
GramSchmidt[{1, x, x^2, x^3, x^4}, InnerProduct -> (Integrate[#l #2,{x,-l,l}]&)] //Simplify
Normalize[LegendreP[2,x], InnerProduct ->(Integrate[#l #2,{x,-l,l}]&)]
{wl, w2} = GramSchmidt[{{3,4,3}, {2,3,6}}, Normalized -> False]
{wl . wl, wl . w2}

{34, 0}

Функции векторного анализа

Функции векторного анализа
Помимо функций для задания и преобразования систем координат подпакет Vector An a lysis содержит ряд функций собственно векторного анализа:

  • DotProduct [vl, v2] — возвращает скалярное произведение векторов vl и v2, заданных в текущей системе координат;
  • CrossProduct [vl,v2] — возвращает векторное произведение векторов vl и v2, заданных в текущей системе координат;
  • ScalarTripleProduct [vl, v2, v3 ] — возвращает тройное скалярное произведение для векторов vl, v2 и v3, заданных в текущей системе координат;
  • DotProduct [vl, vl, coordsys ] — возвращает скалярное произведение векторов vl и v2, заданных в системе координат coordsys;
  • CrossProduct [vl, v2, coordsys] — возвращает векторное произведение векторов vl и v2, заданных в системе координат coordsys.

Примеры выполнения этих операций представлены ниже:
SetCoordinates[ParabolicCylindrical[ ]]
ParabolicCylindrical[Uu, W, Zz]
DotProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
-12.8093
CrossProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
{-1.78157, 0.0774597, -17.8476}
ScalarTripleProduct[{1, 0, 1}, {1, 1, 0}, {0, 1, 1}, Cartesian]
2
Для вычисления производной дуги служат функции:

  • ArcLengthFactor [ { fx, f у, f z}, t] — дает дифференциал длины дуги, заданной параметрически с параметром t в текущей системе координат;
  • ArcLengthFactor [ {fx, f у, fz}, t, coordsys] — дает дифференциал длины дуги, заданной параметрически с параметром t в системе координат coordsys

Примеры вычисления дифференциалов и длин дуг с помощью этих функций:
param = {Cos[t], Sin[t], t}
{Cos[t], Sin[t], t}
ArcLengthFactor[ param, t, Cartesian] //Simplify
корень из 2
f[x_, y_, z_] := x^2 y^2 z
Integrate[ f[param] ArcLengthFactor[
param, t, Cartesian], {t, 0, 2 Pi}] // Simplify
Ряд функций служит для создания матрицы Якоби (матрицы частных производных) и вычисления относящихся к ней понятий:

  • JacobianMatrix [ ] — возвращает матрицу Якоби, определенную в текущих координатах;
  • JacobianMatrix [pt] — возвращает матрицу Якоби в точке pt и в текущих координатах;
  • JacobianMatrix [coordsys] — возвращает матрицу Якоби, определеннук в системе координат coordsys;
  • JacobianMatrix [pt, coordsys] — возвращает матрицу Якоби в точке pt, определенную в системе координат coordsys;
  • JacobianDeterminant [], JacobianDeterminant [pt] и т. д. — вычисление детерминанта матрицы Якоби при указанных выше определениях;
  • ScaleFactor [ ], ScaleFactor [pt] и т. д. — вычисление масштабного фактора при указанных выше определениях.

Применение этих функций поясняют следующие примеры:
JacobianMatrix[Cartesian[x, у, z]]
{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
JacobianMatrix[Spherical[r, t, p] ]
{{Cos[p] Sin[t] , rCos[p] Cos[t] ,-rSin[p] Sin[t]},
{Sin[p] Sin[t] , rCos[t] Sin[p] , rCos[p] Sin[t]},
{Cos[t] , -rSin[t], 0}}
JacobianDeterminant[Spherical[r, t, p] ]
r^2Sin[t]
Integrate[r^2 JacobianDeterminant[ Spherical[r, theta, phi]],
{r, 0, 2}, {theta, 0, Pi}, {phi, -Pi, Pi}]
128n/5
Следующие функции определяют ряд характеристик векторного поля:

  • Div[f] — возвращает дивергенцию векторного поля f в текущей системе координат;
  • Curl [f ] — возвращает вихрь (ротор) векторного поля f в текущей системе координат;
  • Grad[f ] — возвращает градиент векторного поля f в текущей системе координат;
  • Laplasian [f] — возвращает лапласиан векторного поля f в текущей системе координат;
  • Вiharmonic [f] — возвращает лапласиан лапласиана векторного поля f в текущей системе координат;
  • Div [f, coordsys], Curl [f, coordsys] и т. д. — указанные выше функции в системе координат coordsys.

Приведем примеры использования этих функций:
Laplacian[x*y^2*z^3,ProlateSpheroidal[х, у, z]]
(Csc[y] Csch[x] (y2z3Cosh[x] Sin [у] +
2xyz3Cos[y] Sirih[x] +2xz3Sin[y] Sinh[x] +
6xy2zCsc[y] Csch[x] (Sin[y]2+ Sinh[x]2))) /
(Sin[y]2+Sinh[x]2)
Grad[x^2 y^3 z^4,ProlateSpheroidal[x, у, z]]
 
Вариационные методы —VariationalMethods
Подпакет VariationaLMethods содержит функции для реализации вариационных методов. Напомним, что вариационные методы заменяют минимизацию функционала, заданного на некотором бесконечномерном линейном пространстве, задачами его минимизации на последовательности конечномерных подпространств. Функционал в системе Mathematica задается следующим образом:
F= f[u[x], u'(x),x]dx
В данный подпакет включены следующие функции:

  • VariationalD [f, u [х] , х] — дает первую вариационную производную для функционала f одной переменной х;
  • VariationalD [f, u [х, у,…] , {х, у,…} ] — дает первую вариационную производную для функционала ряда переменных;
  • VariationalD [f, {u [х, у,…], v [х, у],…}, {х, у,…} ] — дает список первых вариационных производных для функционала ряда переменных;
  • EulerEquations [f, u [х] , х] — дает равенство Эйлера при f с одной переменной;
  • EulerEquations [f, u [х, у,…], {х, у,…} ] — дает равенство Эйлера при f с рядом переменных;
  • EulerEquations [f, {u [х, у,…] , v [х, у,…],…}, {х, у,…} ] — дает список с равенствами Эйлера при f с рядом переменных;
  • Firstlntegral [ f, u [х] , х] — дает первый интеграл с f, определенной для одной переменной х;
  • Firstlntegral [f, {u [х, у,…] ,v [х, у,…],…}, {х, у,…} ] — дает первый интеграл при f с рядом переменных;
  • Firstlntegral[u] — дает первый интеграл, ассоциированный с переменной и.

Применение данных функций поясняют следующие примеры:
<<Calculus `VariationalMethods`
VariationalD[y[x] Sin[l+y'[x]], y[x], x]
-Cost 1 +У [x]] y'[x] + Sin[l + y'[x]] d+y[x] y'[x])
EulerEquations[ m1^2 theta1[t]^2/2+m g 1 Cos[theta[t]], theta[t], t]
-Im(gSin[theta[t]] + 1 theta»[ t]) == 0
Firstlntegrals[m(r'[t]^2+r[t]^2 phi'[t]^2)/ 2-U[r], r[t],phi[t], t]
{Firstlntegral[phi] ->-mr[ t]2 phi’ [ t] , Firstlntegral[t] -> 1/2 (2U[r] + m (r[t]2phi'[t]2 + r^t]2)) }
Помимо указанных функций подпакет содержит функцию VariationalBound для представления границ и значений функционала. Ввиду громоздкости записи параметров этой функции ограничимся примерами ее применения:
VariationalBound[(-u[r] D[r^2 u'[r],r]/r^2-2u[r]^2/r)r^2,
u[r]^2 r^2,u[r], r,0,Infinity,(a-r)E^(-b r),a,b]
{-0.25, (a-> 2., b-> 0.5}}
VariationalBound[-u[x,у](D[u[x,y],x,2]+
D[u[x,y],y,2]) -2u[x,y],u[x,y],x,-a,a,y,-a,a,
(x^2-a^2)(y^2-a^2)(al+a2(x^2+y^2)),al,a2]

С полными возможностями этой функции можно ознакомиться по справочной базе данных (раздел Add-ons).