= '''Тензорные/матричные алгоритмы''' =
=== '''1.0 Введение'''===
Численные методы, включающие матрицы и тензоры, обеспечивают основу для теоретических моделей в физике и, особенно, в технике. На их основе создаются математические численные модели для надежного моделирования физических процессов и проектирования технических структур на цифровых компьютерах.
Ниже представлена концепция, которая объединяет матричное исчисление, тензорное исчисление и программирование с объектно-ориентированными методами.
Традиционное матричное исчисление основано на концепции схемы двумерного расположения вычислительных величин, зародившейся еще до появления цифровых компьютеров. Однако сейчас в программировании стало стандартом использовать многомерные массивы для динамического хранения и обработки числовых значений и текста. Чтобы оптимизировать эти ресурсы, необходимо расширить матричное исчисление до многомерных матриц и применить в программировании подходящий синтаксис и семантику, соответствующую математическим методам.
Хорошо зарекомендовавшее себя тензорное исчисление в индексной записи обеспечивает идеальную форму для этой цели; потому что индексированные величины более высокого порядка также могут обрабатываться так же, как матрицы. Это приводит к единой концепции программирования с использованием массивов и процедур.
К сожалению, существует немного языков программирования, которые напрямую реализуют синтаксис и семантику для непосредственной обработки элементов матрицы и связанной с ней матричной арифметики. Однако эту проблему можно решить, используя объектно-ориентированные методы программирования матричных/тензорных алгоритмов. Здесь пользователи имеют возможность объявлять свои собственные объекты матриц и тензоров и связанные с ними функции-члены, что позволяет использовать единую концепцию для обработки различных типов тензоров/матриц. В этой статье для этой цели используется язык программирования C++; поскольку он также позволяет перегружать стандартные операторы программирования для арифметики и функции для тензорных и матричных операций, позволяя реализовать традиционную матричную арифметику, как, например,
C_{i} = A_{i}+ B_{i} соотв. '''C''' = '''A''' + '''B'''
или
f^{i} = k^{ik} * v_{k} соотв. '''f''' = '''k''' * '''v''',
в ясной форме и с использованием свойств тензорного исчисления.
Этот подход представлен в .
Концепция была специально разработана для лекций и упражнений по численным методам и методам конечных элементов с целью дать студентам четкое понимание теоретических тензорных и практических матричных методов, а также объектно-ориентированного моделирования.
Следующая статья разделена на следующие разделы:
''- 2.0 Матричные объекты и элементарные операторы'',
''- 3.0 Список декартовых базисов и матрично-векторных умножений'',
''- 4.0 Перечислить базисные векторы и метрики в евклидовом пространстве'',
''- Преобразования тензора списка 5-0''.
Теория матриц и тензоров, тексты программ и результаты вычислений изложены в синтетической форме.
=== 2.0 Матричные объекты и элементарные операторы ===
Ниже предполагается, что прямоугольные матрицы хранятся \textbf{\textit{по столбцам, как это принято в научных и технических приложениях и алгоритмических языках программирования, таких как FORTRAN.
\textbf{M} =
\begin{vmatrix}
a_{0,0} & a_{1,1} & ... & a_{1,N_{k-1 \\
... \\
... \\
... \\
... \\
a_{N_{i-1},0} & a_{N_{i-1},1} & ... & a_{N_{i-1},N_{k-1
\end{vmatrix}
= M_{ik} с размерами (N_{i}\times N_{k}).
Здесь первый индекс i проходит по строкам, а второй индекс k — по столбцам матрицы M_{ik.
Внутренне матрицы сохраняются путем присвоения элементов матрицы в последовательном порядке одномерному векторному полю:
..............
'''''Листинг C++:''''' ''Создание матричных объектов и обработка перегруженных операторов''
// ======================= ОБУЧЕНИЕ ===================== =
cout
Подробнее: https://en.wikipedia.org/wiki/Matrix/Tensor_Algorithms
Матричные/тензорные алгоритмы ⇐ Васина Википедия
-
Автор темыwiki_en
- Всего сообщений: 80362
- Зарегистрирован: 16.01.2024
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение