Oprogramowanie Tensor - Tensor software

Oprogramowanie Tensor to klasa oprogramowania matematycznego przeznaczonego do manipulacji i obliczeń za pomocą tensorów .

Samodzielne oprogramowanie

  • SPLATT to pakiet oprogramowania typu open source do wysokowydajnej faktoryzacji rzadkich tensorów . SPLATT dostarcza samodzielny plik wykonywalny, bibliotekę C / C ++ i interfejs API Octave / MATLAB .
  • Cadabra to system algebry komputerowej (CAS) zaprojektowany specjalnie do rozwiązywania problemów napotykanych w teorii pola. Posiada rozbudowaną funkcjonalność do upraszczania wielomianów tensorowych, w tym symetrie wieloczłonowe, fermiony i zmienne przeciwdziałające przemianom, algebry Clifforda i transformacje Fierza, ukrytą zależność współrzędnych, wiele typów indeksów i wiele innych. Format wejściowy jest podzbiorem TeX-a. Dostępny jest zarówno wiersz poleceń, jak i interfejs graficzny.
  • Tela to pakiet oprogramowania podobny do MATLAB i GNU Octave , ale zaprojektowany specjalnie dla tensorów.

Oprogramowanie do użytku z Mathematica

  • Tensor to pakiet tensorowy napisany dla systemu Mathematica. Zapewnia wiele funkcji przydatnych w obliczeniach ogólnej teorii względności w ogólnych geometriach Riemanna-Cartana.
  • Ricci to system dla Mathematica 2.xi późniejszych do wykonywania podstawowych analiz tensorowych, dostępny bezpłatnie.
  • TTC Tools of Tensor Calculus to pakiet Mathematica do wykonywania obliczeń tensorowych i zewnętrznych na rozmaitościach różniczkowych.
  • EDC i RGTC, „zewnętrzny rachunek różniczkowy” i „geometria riemannowska i rachunek tensorowy” są darmowymi pakietami Mathematica do rachunku tensorowego specjalnie zaprojektowanego, ale nie tylko dla ogólnej teorii względności.
  • Tensorial "Tensorial 4.0" to pakiet tensorowy ogólnego przeznaczenia dla Mathematica.
  • xAct: Wydajna algebra komputerowa Tensor dla Mathematica. xAct to zbiór pakietów do szybkiego manipulowania wyrażeniami tensorowymi.
  • GREAT to darmowy pakiet dla Mathematica, który oblicza połączenie Christoffela i podstawowe tensory Ogólnej Teorii Względności z danego tensora metrycznego.
  • Atlas 2 for Mathematica to potężny zestaw narzędzi Mathematica, który pozwala wykonywać szeroki zakres nowoczesnych obliczeń geometrii różniczkowej
  • GRTensorM to pakiet algebry komputerowej do wykonywania obliczeń w ogólnej dziedzinie geometrii różniczkowej.
  • MathGR to pakiet do manipulowania obliczeniami tensorów i GR za pomocą indeksów abstrakcyjnych lub jawnych, upraszczania tensorów z symetriami permutacyjnymi, dekompozycji tensorów z indeksów abstrakcyjnych na indeksy częściowo lub całkowicie jawne i konwertowania pochodnych częściowych na pochodne całkowite.
  • TensoriaCalc to pakiet do obliczeń tensorowych napisany dla Mathematica 9 i wyższych, mający na celu zapewnienie przyjaznej dla użytkownika funkcjonalności i płynnej spójności z samym językiem Mathematica. Od stycznia 2015 r., Biorąc pod uwagę metrykę i zastosowane współrzędne, TensoriaCalc może obliczać symbole Christoffela, tensor krzywizny Riemanna i tensor / skalar Ricciego; pozwala na definiowanie przez użytkownika tensorów i jest w stanie wykonywać podstawowe operacje, takie jak pobieranie kowariantnych pochodnych tensorów. TensoriaCalc jest stale rozwijany ze względu na ograniczenia czasowe, z którymi boryka się jego twórca.
  • OGRe to nowoczesny darmowy pakiet Mathematica o otwartym kodzie źródłowym do rachunku tensorowego, wydany w 2021 roku dla Mathematica 12.0 i nowszych. Został zaprojektowany tak, aby był zarówno potężny, jak i przyjazny dla użytkownika, a szczególnie nadaje się do ogólnej teorii względności. OGRe umożliwia wykonywanie dowolnie skomplikowanych operacji tensorowych i automatycznie przekształca między konfiguracjami indeksów i układami współrzędnych za kulisami w zależności od potrzeb każdej operacji.

Oprogramowanie do użytku z Maple

  • GRTensorII to pakiet algebry komputerowej do wykonywania obliczeń w ogólnej dziedzinie geometrii różniczkowej.
  • Atlas 2 for Maple to nowoczesna geometria różnicowa dla Maple.
  • DifferentialGeometry to pakiet wykonujący podstawowe operacje rachunku różniczkowego na rozmaitościach, geometrii różniczkowej, rachunku tensorowym, ogólnej teorii względności, algebrach Liego, grupach Liego, grupach transformacji, przestrzeniach dżetów i rachunku wariacyjnym. Jest dołączony do klonu.
  • Physics to pakiet opracowany w ramach Maple, który implementuje symboliczne obliczenia z większością obiektów używanych w fizyce matematycznej. Obejmuje obiekty z ogólnej teorii względności (tensory, metryki, pochodne kowariantne, tetrady itp.), Mechaniki kwantowej (Kets, Bras, komutatory, zmienne niekomutacyjne) itp.

Oprogramowanie do użytku z Matlab

Oprogramowanie do użytku z Maxima

Maxima to darmowy system algebry komputerowej ogólnego przeznaczenia o otwartym kodzie źródłowym , który zawiera kilka pakietów do obliczeń algebry tensorowej w swojej podstawowej dystrybucji. Jest to szczególnie przydatne do obliczeń z abstrakcyjnymi tensorami, tj. Gdy chce się wykonać obliczenia bez jawnego definiowania wszystkich składowych tensora. Jest dostarczany z trzema pakietami tensorów:

  • itensor do abstrakcyjnej (indykalnej) manipulacji tensorami,
  • ctensor dla tensorów zdefiniowanych przez komponent oraz
  • atensor do algebraicznej manipulacji tensorami.

Oprogramowanie do użytku z R

  • Tensor to pakiet R do podstawowych operacji tensorowych.
  • rTensor zapewnia kilka podejść do dekompozycji tensorowej.
  • nnTensor zapewnia kilka nieujemnych podejść do dekompozycji tensorów.
  • ttTensor zapewnia kilka podejść do dekompozycji tensorów.
  • tensorBF to pakiet R do rozkładu bayesowskiego tensora.
  • MTF Bayesian Multi-Tensor Factorization dla fuzji danych i bayesowskich wersji Tensor PCA i Tensor CCA. Oprogramowanie: MTF .

Oprogramowanie do użytku z Pythonem

  • TensorLy zapewnia kilka podejść do dekompozycji tensorowej.

Oprogramowanie do użytku z Julią

  • TensorDecompositions.jl udostępnia kilka podejść do dekompozycji tensorów.
  • TensorToolbox.jl udostępnia kilka podejść do dekompozycji tensorów. Jest to zgodne z funkcjonalnością zestawu narzędzi MATLAB Tensor i Hierarchical Tucker Toolbox.
  • ITensors.jl to biblioteka do szybkiego tworzenia poprawnych i wydajnych algorytmów sieci tensorowych. To jest wersja narzędzia ITensor w wersji Julia, a nie opakowanie wokół wersji C ++, ale pełne implementacje języka Julia.
  • TensorOperations.jl zapewnia szybkie operacje tensorowe przy użyciu wygodnej notacji indeksu Einsteina.
  • TensorRules.jl udostępnia makro, które umożliwia nam używanie bibliotek automatycznego różnicowania (AD) (np. Zygote.jl, ForwardDiff.jl) z makrami @tensor i @tensoropt w TensorOperations.jl.

Oprogramowanie do użytku z SageMath

  • SageManifolds : rachunek tensorowy na gładkich rozmaitościach; cały kod SageManifolds jest zawarty w SageMath od wersji 7.5; pozwala na obliczenia w różnych ramkach wektorowych i wykresach współrzędnych, przy czym kolektor nie musi być równoległy .

Oprogramowanie do użytku z Javą

  • ND4J : N- wymiarowe tablice dla JVM to biblioteka Java do podstawowych operacji tensorowych i obliczeń naukowych.
  • Tensor : obliczenia dla regularnych lub nieustrukturyzowanych tensorów wielowymiarowych. Wpisy skalarne mają dokładność liczbową lub dokładną. API inspirowane Mathematica. Biblioteka Java 8 bez zewnętrznych zależności.

Biblioteki

  • Redberry to system algebry komputerowej typu open source przeznaczony do symbolicznej manipulacji tensorami. Redberry zapewnia popularne narzędzia do manipulacji wyrażeniami, uogólnione na obiektach tensorycznych, a także funkcje specyficzne dla tensorów: symetrie indeksów, dane wejściowe w stylu LaTeX , obsługa naturalnych fałszywych indeksów , wiele typów indeksów itp. Pakiet HEP zawiera narzędzia do obliczania diagramów Feynmana : Dirac i algebra SU (N) , uproszczenia Levi-Civita , narzędzia do obliczania jednopętlowych kontrterminów itp. Redberry jest napisane w Javie i zapewnia rozbudowany język programowania oparty na Groovy .
  • libxm to lekka biblioteka tensorów rozproszonych równolegle napisana w C.
  • FTensor to wysokowydajna biblioteka tensorów napisana w C ++.
  • TL to wielowątkowa biblioteka tensorów zaimplementowana w C ++ używana w Dynare ++. Biblioteka pozwala na składane / rozłożone, gęste / rzadkie reprezentacje tensorowe, rangi ogólne (symetrie). Biblioteka implementuje formułę Faa Di Bruno i dostosowuje się do dostępnej pamięci. Dynare ++ to samodzielny pakiet rozwiązujący przybliżenia Taylora wyższego rzędu do równowagi nieliniowych modeli stochastycznych z racjonalnymi oczekiwaniami .
  • vmmlib to biblioteka algebry liniowej C ++, która obsługuje tensory trójdrożne, kładąc nacisk na obliczenia i manipulację kilkoma dekompozycjami tensorów .
  • Spartns jest frameworkiem rzadkich tensorów dla Common Lisp .
  • FAstMat to bezpieczna wątkowo biblioteka algebry ogólnej tensorów napisana w C ++ i specjalnie zaprojektowana do obliczeń elementów / krawędzi FEM / FVM / BEM / FDM.
  • Cyclops Tensor Framework to rozproszona biblioteka pamięci do wydajnej dekompozycji tensorów dowolnego typu i równoległego wykonywania kontrakcji / funkcji tensorów przez MPI + OpenMP.
  • TiledArray to skalowalna biblioteka tensorów z rzadkimi blokami, która została zaprojektowana w celu ułatwienia szybkiego tworzenia wysokowydajnych algebraicznych równań tensorowych. Został zaprojektowany do skalowania od pojedynczego komputera wielordzeniowego do masowo równoległego systemu z rozproszoną pamięcią.
  • libtensor to zestaw procedur algebry tensorów liniowych dla dużych tensorów znalezionych w metodach post-Hartree-Focka w chemii kwantowej.
  • ITensor umożliwia automatyczne zmniejszanie dopasowanych indeksów tensorowych. Został napisany w C ++ i ma funkcje wyższego poziomu dla algorytmów fizyki kwantowej opartych na sieciach tensorowych.
  • Fastor to wysokowydajna biblioteka algebry tensorów C ++, która obsługuje tensory o dowolnych wymiarach i ich wszystkich możliwych skurczach i permutacjach. Wykorzystuje optymalizację przeszukiwania wykresów w czasie kompilacji, aby znaleźć optymalną sekwencję kontrakcji między dowolną liczbą tensorów w sieci. Posiada właściwości specyficzne dla domeny wysokiego poziomu do rozwiązywania nieliniowych problemów wielofizycznych za pomocą MES.
  • Xerus to biblioteka algebry tensorowych C ++ przeznaczona do tensorów o dowolnych wymiarach i dekompozycji tensorów na ogólne sieci tensorowe (koncentrując się na stanach produktów macierzowych ). Oferuje notację Einsteina podobną do składni i optymalizuje kolejność skracania dowolnej sieci tensorów w czasie wykonywania, dzięki czemu wymiary nie muszą być ustalane w czasie kompilacji.

Bibliografia