Тензорное программное обеспечение
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Тензорное программное обеспечение — это класс математического программного обеспечения, предназначенного для манипуляций и вычислений с тензорами .
Автономное программное обеспечение [ править ]
- СПЛАТТ [1] — это программный пакет с открытым исходным кодом для высокопроизводительной разреженной тензорной факторизации . SPLATT поставляется с автономным исполняемым файлом, библиотекой C/C++ и Octave / MATLAB API .
- Кадабра [2] — это система компьютерной алгебры (CAS), разработанная специально для решения задач теории поля. Он имеет обширные функциональные возможности для упрощения тензорных полиномов, включая многочленные симметрии, фермионы и антикоммутирующие переменные, алгебры Клиффорда и преобразования Фирца, неявную координатную зависимость, несколько типов индексов и многое другое. Входной формат является подмножеством TeX. Доступны как командная строка, так и графический интерфейс.
- Тела [3] — программный пакет, аналогичный MATLAB и GNU Octave , но разработанный специально для тензоров.
Программное обеспечение для использования с Mathematica [ править ]
- Тензор [4] — это тензорный пакет, написанный для системы Mathematica. Он предоставляет множество функций, важных для расчетов по общей теории относительности в общей геометрии Римана – Картана.
- Риччи [5] — это система для Mathematica 2.x и более поздних версий для выполнения базового тензорного анализа, доступная бесплатно.
- ТТС [6] Инструменты тензорного исчисления — это пакет Mathematica для выполнения тензорных и внешних исчислений на дифференцируемых многообразиях.
- EDC и RGTC, [7] «Внешнее дифференциальное исчисление» и «Риманова геометрия и тензорное исчисление» — это бесплатные пакеты Mathematica для тензорного исчисления, специально разработанные, но не только для общей теории относительности.
- Тензориальный [8] «Tensorial 4.0» — это пакет тензорного исчисления общего назначения для системы Mathematica.
- xAct: [9] Эффективная тензорная компьютерная алгебра для Mathematica. xAct — это набор пакетов для быстрого манипулирования тензорными выражениями.
- БОЛЬШОЙ [10] это бесплатный пакет для Mathematica, который вычисляет связь Кристоффеля и основные тензоры общей теории относительности на основе заданного метрического тензора.
- Атлас 2 для Mathematica [11] это мощный набор инструментов Mathematica, который позволяет выполнять широкий спектр современных вычислений дифференциальной геометрии.
- GRTensorM [12] представляет собой пакет компьютерной алгебры для выполнения вычислений в общей области дифференциальной геометрии.
- МатГР [13] это пакет для управления тензорными и ОТО-вычислениями с помощью абстрактных или явных индексов, упрощения тензоров с помощью перестановочной симметрии, разложения тензоров из абстрактных индексов в частично или полностью явные индексы и преобразования частных производных в полные производные.
- ТензорияCalc [14] — это пакет тензорного исчисления, написанный для Mathematica 9 и выше, нацеленный на обеспечение удобной для пользователя функциональности и плавной совместимости с самим языком Mathematica. По состоянию на январь 2015 года, учитывая используемую метрику и координаты, TensoriaCalc может вычислять символы Кристоффеля, тензор кривизны Римана и тензор/скаляр Риччи; он позволяет использовать определяемые пользователем тензоры и выполнять основные операции, такие как получение ковариантных производных тензоров. TensoriaCalc постоянно находится в стадии разработки из-за нехватки времени, с которой столкнулся ее разработчик.
- ОГРЕ [15] — это современный бесплатный пакет Mathematica с открытым исходным кодом для тензорного исчисления, выпущенный в 2021 году для Mathematica 12.0 и более поздних версий. Он спроектирован как мощный и удобный для пользователя и особенно подходит для общей теории относительности. OGRe позволяет выполнять произвольно сложные тензорные операции и автоматически преобразует конфигурации индексов и системы координат за кулисами по мере необходимости для каждой операции.
Программное обеспечение для использования с Maple [ править ]
- GRTсенсоры [16] представляет собой пакет компьютерной алгебры для выполнения вычислений в общей области дифференциальной геометрии.
- Атлас 2 для Maple [17] — это современная дифференциальная геометрия для Maple.
- ДифференциальнаяГеометрия [18] это пакет, который выполняет фундаментальные операции исчисления на многообразиях, дифференциальной геометрии, тензорного исчисления, общей теории относительности, алгебр Ли, групп Ли, групп преобразований, пространств струй и вариационного исчисления. Он входит в состав Maple.
- Физика [19] — это пакет, разработанный как часть Maple, который реализует символьные вычисления с большинством объектов, используемых в математической физике. В него входят объекты общей теории относительности (тензоры, метрики, ковариантные производные, тетрады и т. д.), квантовой механики (кеты, Брас, коммутаторы, некоммутативные переменные) и т. д.
Программное обеспечение для использования с Matlab [ править ]
- Тензорлаб [20] представляет собой набор инструментов MATLAB для полилинейной алгебры и объединения структурированных данных.
- Тензорный набор инструментов [21] Программное обеспечение MATLAB для полилинейной алгебры.
- MPCA и MPCA+LDA [22] Программное обеспечение для обучения многолинейному подпространству : многолинейный анализ главных компонент .
- УМПКА [23] Программное обеспечение для обучения мультилинейному подпространству : некоррелированный многолинейный анализ главных компонент.
- в UML [24] Программное обеспечение для обучения многолинейному подпространству : некоррелированный многолинейный дискриминантный анализ.
Программное обеспечение для использования с Maxima [ править ]
Максима [25] это бесплатная с открытым исходным кодом общего назначения система компьютерной алгебры , которая включает в себя несколько пакетов для вычислений тензорной алгебры в своем основном дистрибутиве.Это особенно полезно для вычислений с абстрактными тензорами, т. е. когда требуется выполнять вычисления без явного определения всех компонентов тензора. Он поставляется с тремя тензорными пакетами: [26]
- itensor для абстрактных (индикальных) манипуляций с тензорами,
- ctensor для тензоров, определяемых компонентами, и
- атзор для манипуляций с алгебраическими тензорами.
Программное обеспечение для использования с R [ править ]
- Тензор [27] — это пакет R для основных тензорных операций.
- rТензор [28] предоставляет несколько подходов к тензорной декомпозиции.
- nnTensor [29] предоставляет несколько подходов к неотрицательному тензорному разложению.
- ttTensor [30] предоставляет несколько подходов к декомпозиции тензорного поезда.
- тензорBF [31] представляет собой пакет R для байесовского тензорного разложения.
- МОГ [32] Байесовская мультитензорная факторизация для объединения данных и байесовские версии Tensor PCA и Tensor CCA. Программное обеспечение: МТФ .
Программное обеспечение для использования с Python [ править ]
- ТензорЛи [33] предоставляет несколько подходов к тензорной декомпозиции.
Программное обеспечение для использования с Юлей [ править ]
- TensorDecompositions.jl [34] предоставляет несколько подходов к тензорной декомпозиции.
- TensorToolbox.jl [35] предоставляет несколько подходов к тензорной декомпозиции. Это соответствует функциональности набора инструментов MATLAB Tensor и Hierarchical Tucker Toolbox.
- ITensors.jl [36] — библиотека для быстрого создания правильных и эффективных алгоритмов тензорных сетей. Это версия ITensor для Julia, не оболочка версии C++, а полная реализация языка Julia.
- TensorOperations.jl [37] обеспечивает быстрые тензорные операции с использованием удобной нотации индекса Эйнштейна.
- TensorRules.jl [38] предоставляет макрос, который позволяет нам использовать библиотеки автоматического дифференцирования (AD) (например, Zygote.jl, ForwardDiff.jl) с макросами @tensor и @tensoropt в TensorOperations.jl.
Программное обеспечение для использования с SageMath [ править ]
- SageManifolds : тензорное исчисление на гладких многообразиях; все SageManifolds [39] код включен в SageMath начиная с версии 7.5; он позволяет выполнять вычисления в различных векторных системах координат и координатных картах, при этом многообразие не требует распараллеливания .
Программное обеспечение для использования с Java [ править ]
- ND4J : N -мерные массивы для JVM. [40] — это библиотека Java для основных тензорных операций и научных вычислений.
- Тензор : вычисление для регулярных или неструктурированных многомерных тензоров. Скалярные записи имеют числовую или точную точность. API, вдохновленный Mathematica. Библиотека Java 8 без внешних зависимостей.
Библиотеки [ править ]
- Редберри [41] — это система компьютерной алгебры с открытым исходным кодом, предназначенная для манипуляций с символьными тензорами. Redberry предоставляет общие инструменты для манипулирования выражениями, обобщенные на тензорных объектах, а также специфичные для тензоров функции: симметрия индексов, ввод в стиле LaTeX , обработка естественных фиктивных индексов , несколько типов индексов и т. д. Пакет HEP включает инструменты для диаграмм Фейнмана расчета : Dirac и SU(N) алгебра , упрощения Леви-Чивита , инструменты для вычисления однопетлевых контрчленов и т. д. Redberry написан на Java и предоставляет обширный Groovy на основе язык программирования .
- библиотека libxm [42] — это легкая распределенно-параллельная тензорная библиотека, написанная на C.
- FTсенсор [43] — это высокопроизводительная тензорная библиотека, написанная на C++.
- ТЛ [44] — это многопоточная тензорная библиотека, реализованная на C++, используемая в Dynare++. Библиотека допускает свернутые/развернутые, плотные/разреженные тензорные представления, общие ранги (симметрии). Библиотека реализует формулу Фаа Ди Бруно и адаптируется к доступной памяти. Dynare++ — это автономный пакет, решающий аппроксимации Тейлора высшего порядка к равновесиям нелинейных стохастических моделей с рациональными ожиданиями .
- vmmlib [45] — это библиотека линейной алгебры C++, которая поддерживает трехсторонние тензоры, уделяя особое внимание вычислениям и манипулированию несколькими разложениями тензоров .
- Спартанцы [46] — это фреймворк Sparse Tensor для Common Lisp .
- Быстрое питание [47] — это поточно-безопасная общая библиотека тензорной алгебры, написанная на C++ и специально разработанная для вычислений по элементам/ребрам FEM/FVM/BEM/FDM.
- Тензорная структура Циклопа [48] — библиотека распределенной памяти для эффективной декомпозиции тензоров произвольного типа и параллельного выполнения MPI+OpenMP тензорных сокращений/функций.
- Плиточныймассив [49] — это масштабируемая, разреженная по блокам тензорная библиотека, предназначенная для быстрого составления высокопроизводительных алгебраических тензорных уравнений. Он предназначен для масштабирования от одного многоядерного компьютера до массово-параллельной системы с распределенной памятью.
- либтензор [50] представляет собой набор процедур линейной тензорной алгебры производительности для больших тензоров, найденных в методах пост-Хартри-Фока в квантовой химии.
- ИТсенсор [51] обеспечивает автоматическое сокращение соответствующих индексов тензора. Он написан на C++ и имеет функции более высокого уровня для алгоритмов квантовой физики, основанных на тензорных сетях.
- Фастор [52] — это высокопроизводительная библиотека тензорной алгебры C++, которая поддерживает тензоры любых произвольных размеров, а также все возможные их сжатия и перестановки. Он использует оптимизацию поиска по графу во время компиляции, чтобы найти оптимальную последовательность сжатия между произвольным количеством тензоров в сети. Он имеет особенности предметной области высокого уровня для решения нелинейных мультифизических задач с использованием FEM.
- Ксерус [53] — это библиотека тензорной алгебры C++ для тензоров произвольных размеров и разложения тензоров в общие тензорные сети (с упором на состояния матричных произведений ). Он предлагает нотацию Эйнштейна , подобную синтаксису, и оптимизирует порядок сжатия любой сети тензоров во время выполнения, поэтому размеры не нужно фиксировать во время компиляции.
Ссылки [ править ]
- ^ «SPLATT — параллельное разреженное тензорное разложение | Karypis Lab» .
- ^ «Кадабра: подход к компьютерной алгебре, мотивированный теорией поля» .
- ^ http://www.ava.fmi.fi/prog/tela.html Тела
- ^ «Картан: пакет Mathematica для тензорного анализа» . Архивировано из оригинала 31 мая 2009 г. Проверено 1 января 2010 г. Тензоры в физике
- ^ http://www.math.washington.edu/~lee/Ricci/ Риччи
- ^ https://sites.google.com/view/xjaen-ttc/home ТТС
- ^ http://www.inp.demokritos.gr/~sbonano/RGTC/ EDC и RGTC
- ^ http://home.comcast.net/~djmpark/TensorialPage.html Тензориал
- ^ http://www.xact.es/ xAct
- ^ http://library.wolfram.com/infocenter/MathSource/4781/ ОТЛИЧНО
- ^ http://digi-area.com/Mathematica/atlas/атлас 2 для Mathematica
- ^ http://grtensor.phy.queensu.ca/ GRTensorII
- ^ https://github.com/tririver/MathGR ; https://arxiv.org/abs/1306.1295 MathGR
- ^ http://www.stargazing.net/yizen/Tensoria.html TensoriaCalc
- ^ https://github.com/bshoshany/OGRe OGRe
- ^ http://grtensor.phy.queensu.ca/ GRTensorII
- ^ http://digi-area.com/Maple/atlas/атлас 2 для Maple
- ^ «Проект программного обеспечения для дифференциальной геометрии Университета штата Юта | Исследования Университета штата Юта | DigitalCommons@USU» .
- ^ «Обзор пакета Physics — Помощь по программированию Maple» .
- ^ «Tensorlab | Пакет Matlab для тензорных вычислений» .
- ^ http://sandia.gov/~tgkolda/TensorToolbox Tensor Toolbox
- ^ http://www.mathworks.com/matlabcentral/fileexchange/26168 MPCA и MPCA+LDA
- ^ УМПКА
- ^ http://www.mathworks.com/matlabcentral/fileexchange/35782 UMLDA
- ^ http://maxima.sourceforge.net/ Максима на sourceforge.net
- ^ http://maxima.sourceforge.net/docs/manual/en/maxima_27.html#SEC90 Руководство по пакету itensor
- ^ Ружье, Джонатан (5 мая 2012 г.), тензор: Тензорное произведение массивов , получено 10 декабря 2016 г.
- ^ Уэллс, Джеймс Ли, Джейкоб Бьен и Мартин (15 декабря 2015 г.), rTensor: Tools for Tensor Analysis and Decomposition , получено 10 декабря 2016 г.
- ^ Цуюзаки, Коки (04 июня 2020 г.), nnTensor: Non-Negative Tensor Decomposition , получено 4 марта 2021 г.
- ^ Цуюдзаки, Коки (06 марта 2019 г.), ttTensor: Разложение тензорного поезда , получено 4 марта 2021 г.
- ^ Хан, Сулейман А.; Аммад-уд-Дин, Мухаммад (29 декабря 2016 г.), tensorBF: Байесовская тензорная факторизация , получено 7 января 2017 г.
- ^ Хан, Сулейман А.; Леппяхо, Эмели; Каски, Сэмюэл (10 июня 2016 г.). «Байесовская мультитензорная факторизация». Машинное обучение . 105 (2): 233–253. arXiv : 1412.4679 . дои : 10.1007/s10994-016-5563-y . ISSN 0885-6125 . S2CID 11871330 .
- ^ Коссаифи, Жан; Панагакис, Яннис; Анандкумар, Анима; Пантич, Майя (2019). «TensorLy: Тензорное обучение в Python» . Журнал исследований машинного обучения . 20 (26): 1–6.
- ^ yunjhongwu/TensorDecompositions.jl , 16 сентября 2018 г. , получено 4 марта 2021 г.
- ^ Периша, Лана; Арслан, Алекс (13 ноября 2019 г.), lanaperisa/TensorToolbox.jl , doi : 10.5281/zenodo.3540787 , получено 4 марта 2021 г.
- ^ Фишман, Мэтью; Дерьмо, Стивен Р.; Студенмайр, Э. Майлз (28 июня 2020 г.). «Библиотека программного обеспечения ITensor для расчетов тензорных сетей». Математическое программное обеспечение . arXiv : 2007.14822v1 .
- ^ Jutho/TensorOperations.jl , 23 ноября 2020 г. , получено 4 марта 2021 г.
- ^ Накано, Хаяте (23 февраля 2021 г.), ho-oto/TensorRules.jl , получено 4 марта 2021 г.
- ^ http://sagemanifolds.obspm.fr/ SageManifolds
- ^ Гибсон, Адам (11 ноября 2017 г.), ND4J: N-мерные массивы для JVM , получено 10 декабря 2016 г.
- ^ Домашняя страница: http://redberry.cc . Проект Redberry в Bitbucket : http://bitbucket.org/redberry/redberry
- ^ https://github.com/ilyak/libxm libxm
- ^ http://www.wlandry.net/Projects/FTensor
- ^ http://www.cepremap.cnrs.fr/juillard/mambo/download/manual/dynare++/tl.pdf TL
- ^ https://vmml.github.com/vmmlib/vmmlib
- ^ http://aleph0.info/spartns/ Спартанцы
- ^ http://www.cimec.org.ar/petscfem FastMat
- ^ «Форк репозитория cyclops-community/ctf обновлен случайно, ранее это было основное местоположение репозитория: Solomonik/ctf» . Гитхаб . 2018-10-31.
- ^ «Массивно-параллельная тензорная структура с разреженным блоком, написанная на C++: ValeevGroup/tiledarray» . Гитхаб . 03.02.2019.
- ^ «Загрузки — iOpenShell» .
- ^ «ITensor — интеллектуальная тензорная библиотека» .
- ^ «Легкая высокопроизводительная платформа тензорной алгебры на основе SIMD на C++ 14/11/17: Romeric/Fastor» . Гитхаб . 11 января 2019 г.
- ^ «Документация Xerus — Xerus» .