Матричные/тензорные алгоритмыВасина Википедия

Новости с планеты OGLE-2018-BLG-0677
Что вы не только не знали, но и не хотели знать
Ответить Пред. темаСлед. тема
Автор темы
wiki_en
Всего сообщений: 80362
Зарегистрирован: 16.01.2024
 Матричные/тензорные алгоритмы

Сообщение wiki_en »

= '''Тензорные/матричные алгоритмы''' =

=== '''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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение