Иллюстрированный самоучитель по Maple 6/7

Пакет решения задач линейной алгебры linalg

Состав пакета linalg

Несомненно, что уникальной возможностью системы Maple 7, как и других систем компьютерной алгебры, является возможность решения задач линейной алгебры в символьном (формульном, аналитическом) виде. Однако такое решение представляет скорее теоретический, чем практический интерес, поскольку даже при небольших размерах матриц (уже при 4-5 строках и столбцах) символьные результаты оказываются очень громоздкими и труднообозримыми. Они полезны только при решении специфических аналитических задач, например с разреженными матрицами, у которых большинство элементов имеют нулевые значения.

Поэтому разработчики Maple 7 были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения – математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т. д.

В ядро Maple 7, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры Unalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Он содержит свыше ста функций:

> with(linalg);

Warning, the names fibonacci, inverse and multiply have been redefined
 Warning, the protected names norm and trace have been redefined and unprotected
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian,
 addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix,
 charmat, charpoly, cholesky, col, coldim, colspace, colspan,
 companion, concat, cond, copyinto, crossprod, curl,
 definite, delcols, delrows, det, diag, diverge, dotprod,
 eigenvals, eigenvalues, eigenvectors, eigenvects, entermatrix, equal,
 exponential, extend, ffgausselimfifibonacci,forwardsub,frobenius,
 gausselim, gaussjord, geneqns, genmatrix, grad, hadamard, hermite, hessian, hilbert,htranspose,
 thermite, indexfunc, innerprod, intbasis, inverse, ismith, issimilar, iszerojacobian,
 Jordan, kernel, laplacian, leastsqrs, linsolve,matadd, matrix, minor, minpoly, mulcol,
 mulrow, multiply, norm, normalize, nullspace, orthog, permanent, pivot, potential,
 randmatrix, randvector, rank, ratform, row, rowdim, rowspace, rowspan, rref,
 scalarmul, singularvals, smith, stackmatrix, submatrix, subvector, sumbasis,
 swapcol, swaprow, Sylvester, toeplitz, trace, transpose,
 vandermonde, vecpotent, vectdim, vector, wronskian]

Ниже указано назначение тех функций пакета linalg, которые подробно не описаны:

  • addcol – добавляет к одному из столбцов другой столбец, умноженный на некоторое число;
  • addrow – добавляет к одной из строк другую строку, умноженную на некоторое число;
  • angle – вычисляет угол между векторами;
  • augment – объединяет две или больше матриц по горизонтали;
  • backsub – реализует метод обратной подстановки при решении системы линейных уравнений (см. также forwardsub);
  • band – создает ленточную матрицу;
  • basis – находит базис векторного пространства;
  • bezout – создает Bezout-матрицу двух полиномов;
  • BlockDiagonal – создает блок-диагональную матрицу;
  • blockmatrix – создает блок-матрицу;
  • cholesky – декомпозиция Холесского для квадратной положительно определенной матрицы;
  • charmat – создает характеристическую матрицу (charmat(M,v) – матрица, вычисляемая как v E-M);
  • charpoly – возвращает характеристический полином матрицы;
  • colspace – вычисляет базис пространства столбцов;
  • colspan – находит базис линейной оболочки столбцов матрицы;
  • companion – вычисляет сопровождающую матрицу, ассоциированную с полиномом;
  • cond – вычисляет число обусловленности матрицы (cond(M) есть величина norm(M) norm(М-1);
  • curl – вычисляет ротор вектора;
  • definite – тест на положительную (отрицательную) определенность матрицы;
  • diag – создает блок-диагональную матрицу;
  • diverge – вычисляет дивергенцию векторной функции;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.