El software Tensor es una clase de software matemático diseñado para la manipulación y el cálculo con tensores .
Software independiente
- SPLATT [1] es un paquete de software de código abierto para la factorización de tensor disperso de alto rendimiento . SPLATT incluye un ejecutable independiente, una biblioteca C / C ++ y una API Octave / MATLAB .
- Cadabra [2] es un sistema de álgebra computarizado (CAS) diseñado específicamente para la solución de problemas encontrados en la teoría de campos. Tiene una amplia funcionalidad para la simplificación del polinomio tensorial que incluye simetrías de múltiples términos, fermiones y variables anti-conmutación, álgebras de Clifford y transformaciones de Fierz, dependencia de coordenadas implícitas, múltiples tipos de índices y muchos más. El formato de entrada es un subconjunto de TeX. Están disponibles tanto una línea de comandos como una interfaz gráfica.
- Tela [3] es un paquete de software similar a MATLAB y GNU Octave , pero diseñado específicamente para tensores.
Software para usar con Mathematica
- Tensor [4] es un paquete tensorial escrito para el sistema Mathematica. Proporciona muchas funciones relevantes para los cálculos de relatividad general en geometrías generales de Riemann-Cartan.
- Ricci [5] es un sistema para Mathematica 2.xy posterior para realizar análisis tensorial básico, disponible de forma gratuita.
- TTC [6] Tools of Tensor Calculus es un paquete de Mathematica para hacer cálculo tensorial y exterior en variedades diferenciables.
- EDC y RGTC, [7] "Cálculo diferencial exterior" y "Geometría y cálculo tensorial de Riemann" son paquetes gratuitos de Mathematica para cálculo tensorial especialmente diseñados, pero no solo para la relatividad general.
- Tensorial [8] "Tensorial 4.0" es un paquete de cálculo tensorial de propósito general para Mathematica.
- xAct: [9] Álgebra computarizada de tensor eficiente para Mathematica. xAct es una colección de paquetes para la manipulación rápida de expresiones tensoriales.
- GREAT [10] es un paquete gratuito para Mathematica que calcula la conexión de Christoffel y los tensores básicos de la Relatividad General a partir de un tensor métrico dado.
- Atlas 2 para Mathematica [11] es una potente caja de herramientas de Mathematica que permite realizar una amplia gama de cálculos modernos de geometría diferencial.
- GRTensorM [12] es un paquete de álgebra computarizada para realizar cálculos en el área general de geometría diferencial.
- MathGR [13] es un paquete para manipular cálculos de tensores y GR con índices abstractos o explícitos, simplificar tensores con simetrías permutacionales, descomponer tensores de índices abstractos en índices parcial o completamente explícitos y convertir derivadas parciales en derivadas totales.
- TensoriaCalc [14] es un paquete de cálculo tensorial escrito para Mathematica 9 y superior, destinado a proporcionar una funcionalidad fácil de usar y una coherencia fluida con el lenguaje de Mathematica en sí. A partir de enero de 2015, dada una métrica y las coordenadas utilizadas, TensoriaCalc puede calcular los símbolos de Christoffel, el tensor de curvatura de Riemann y el tensor / escalar de Ricci; permite tensores definidos por el usuario y es capaz de realizar operaciones básicas como tomar las derivadas covariantes de tensores. TensoriaCalc está continuamente en desarrollo debido a las limitaciones de tiempo que enfrenta su desarrollador.
- OGRe [15] es un paquete moderno gratuito y de código abierto de Mathematica para cálculo de tensores, lanzado en 2021 para Mathematica 12.0 y posterior. Está diseñado para ser potente y fácil de usar, y es especialmente adecuado para la relatividad general. OGRe permite realizar operaciones de tensor arbitrariamente complicadas y se transforma automáticamente entre configuraciones de índice y sistemas de coordenadas detrás de escena según sea necesario para cada operación.
Software para usar con Maple
- GRTensorII [16] es un paquete de álgebra computarizada para realizar cálculos en el área general de geometría diferencial.
- Atlas 2 para Maple [17] es una geometría diferencial moderna para Maple.
- DifferentialGeometry [18] es un paquete que realiza operaciones fundamentales de cálculo en variedades, geometría diferencial, cálculo de tensores, relatividad general, álgebras de Lie, grupos de Lie, grupos de transformación, espacios de chorro y cálculo variacional. Se incluye con Maple.
- Physics [19] es un paquete desarrollado como parte de Maple, que implementa cálculos simbólicos con la mayoría de los objetos utilizados en física matemática. Incluye objetos de la relatividad general (tensores, métricas, derivadas covariantes, tétradas, etc.), mecánica cuántica (Kets, Bras, conmutadores, variables no conmutativas), etc.
Software para usar con Matlab
- Tensorlab [20] es una caja de herramientas de MATLAB para álgebra multilineal y fusión de datos estructurados.
- Tensor Toolbox [21] Software MATLAB de álgebra multilineal.
- MPCA y MPCA + LDA [22] Software de aprendizaje subespacial multilineal : Análisis multilineal de componentes principales .
- UMPCA [23] Software de aprendizaje subespacial multilineal : análisis de componentes principales multilineales no correlacionados.
- UMLDA [24] Software de aprendizaje subespacial multilineal : análisis discriminante multilineal no correlacionado.
Software para usar con Maxima
Maxima [25] es un sistema de álgebra computacional de propósito general de código abierto que incluye varios paquetes para cálculos de álgebra tensorial en su distribución central. Es particularmente útil para cálculos con tensores abstractos, es decir, cuando se desea realizar cálculos sin definir explícitamente todos los componentes del tensor. Viene con tres paquetes de tensores: [26]
- itensor para la manipulación del tensor abstracto (indicial),
- ctensor para tensores definidos por componentes, y
- atensor para la manipulación del tensor algebraico.
Software para usar con R
- Tensor [27] es un paquete R para operaciones básicas de tensor.
- rTensor [28] proporciona varios enfoques de descomposición de tensor.
- nnTensor [29] proporciona varios enfoques de descomposición de tensores no negativos.
- ttTensor [30] proporciona varios enfoques de descomposición de trenes de tensores.
- tensorBF [31] es un paquete R para la descomposición del tensor bayesiano.
- MTF [32] Factorización multitensorial bayesiana para la fusión de datos y versiones bayesianas de Tensor PCA y Tensor CCA. Software: MTF .
Software para usar con Python
- TensorLy [33] proporciona varios enfoques de descomposición de tensor.
Software para usar con Julia
- TensorDecompositions.jl [34] proporciona varios enfoques de descomposición de tensor.
- TensorToolbox.jl [35] proporciona varios enfoques de descomposición de tensor. Esto sigue la funcionalidad de MATLAB Tensor toolbox y Hierarchical Tucker Toolbox.
- ITensors.jl [36] es una biblioteca para crear rápidamente algoritmos de red tensorial correctos y eficientes. Esta es la versión Julia de ITensor, no una envoltura alrededor de la versión C ++ sino implementaciones completas del lenguaje Julia.
- TensorOperations.jl [37] proporciona operaciones de tensor rápidas utilizando una conveniente notación de índice de Einstein.
- TensorRules.jl [38] proporciona una macro, que nos permite usar bibliotecas de diferenciación automática (AD) (por ejemplo, Zygote.jl, ForwardDiff.jl) con macros @tensor y @tensoropt en TensorOperations.jl.
Software para usar con SageMath
- SageManifolds : cálculo tensorial en variedades lisas; todo el código de SageManifolds [39] está incluido en SageMath desde la versión 7.5; permite cálculos en varios marcos vectoriales y gráficos de coordenadas, no siendo necesario que la variedad sea paralelizable .
Software para usar con Java
- ND4J : matrices N -dimensionales para la JVM [40] es una biblioteca de Java para operaciones tensoras básicas y computación científica.
- Tensor : cálculo para tensores multidimensionales regulares o no estructurados. Las entradas escalares son numéricas o con precisión exacta. API inspirada en Mathematica. Biblioteca de Java 8 sin dependencias externas.
Bibliotecas
- Redberry [41] es un sistema de álgebra computarizado de código abierto diseñado para la manipulación de tensores simbólicos. Redberry proporciona herramientas comunes para la manipulación de expresiones, generalizadas en objetos tensoriales, así como características específicas del tensor: simetrías de índices, entrada de estilo LaTeX , manejo de índices ficticios naturales , múltiples tipos de índices , etc. El paquete HEP incluye herramientas para el cálculo de diagramas de Feynman : Dirac y álgebra SU (N) , simplificaciones de Levi-Civita , herramientas para el cálculo de contraterminos de un bucle, etc. Redberry está escrito en Java y proporciona un extenso lenguaje de programación basado en Groovy .
- libxm [42] es una biblioteca ligera de tensores paralelos distribuidos escrita en C.
- FTensor [43] es una biblioteca de tensores de alto rendimiento escrita en C ++.
- TL [44] es una biblioteca tensorial multiproceso implementada en C ++ usada en Dynare ++. La biblioteca permite representaciones de tensor plegadas / desplegadas, densas / dispersas, rangos generales (simetrías). La biblioteca implementa la fórmula de Faa Di Bruno y se adapta a la memoria disponible. Dynare ++ es un paquete independiente que resuelve aproximaciones de Taylor de orden superior a equilibrios de modelos estocásticos no lineales con expectativas racionales .
- vmmlib [45] es una biblioteca de álgebra lineal C ++ que soporta tensores de 3 vías, enfatizando el cálculo y manipulación de varias descomposiciones de tensor .
- Spartns [46] es un framework Sparse Tensor para Common Lisp .
- FAstMat [47] es una biblioteca de álgebra tensorial general segura para subprocesos escrita en C ++ y especialmente diseñada para cálculos FEM / FVM / BEM / FDM elemento / borde.
- Cyclops Tensor Framework [48] es una biblioteca de memoria distribuida para la descomposición eficiente de tensores de tipo arbitrario y ejecución paralela MPI + OpenMP de contracciones / funciones de tensor.
- TiledArray [49] es una biblioteca de tensor de bloques dispersos escalable que está diseñada para ayudar en la composición rápida de ecuaciones de tensor algebraico de alto rendimiento. Está diseñado para escalar desde una sola computadora multinúcleo a un sistema de memoria distribuida en paralelo masivo.
- libtensor [50] es un conjunto de rutinas de álgebra de tensor lineal de rendimiento para tensores grandes que se encuentran en los métodos post-Hartree-Fock en química cuántica.
- ITensor [51] presenta la contracción automática de índices de tensor coincidentes. Está escrito en C ++ y tiene características de alto nivel para algoritmos de física cuántica basados en redes de tensores.
- Fastor [52] es una biblioteca de álgebra tensorial C ++ de alto rendimiento que admite tensores de cualquier dimensión arbitraria y todas sus posibles contracciones y permutaciones. Emplea optimizaciones de búsqueda de gráficos en tiempo de compilación para encontrar la secuencia de contracción óptima entre un número arbitrario de tensores en una red. Tiene características específicas de dominio de alto nivel para resolver problemas de multifísica no lineal usando FEM.
- Xerus [53] es una biblioteca de álgebra tensorial de C ++ para tensores de dimensiones arbitrarias y descomposición de tensor en redes de tensor generales (centrándose en los estados de producto de la matriz ). Ofrece notación de Einstein como sintaxis y optimiza el orden de contracción de cualquier red de tensores en tiempo de ejecución para que las dimensiones no tengan que fijarse en tiempo de compilación.
Referencias
- ^ "SPLATT - Descomposición paralela del tensor disperso | Laboratorio de Karypis" .
- ^ "Cadabra: un enfoque motivado por la teoría de campo para el álgebra informática" .
- ^ http://www.ava.fmi.fi/prog/tela.html Tela
- ^ "Copia archivada" . Archivado desde el original el 31 de mayo de 2009 . Consultado el 1 de enero de 2010 .CS1 maint: copia archivada como título ( enlace ) Tensores en física
- ^ http://www.math.washington.edu/~lee/Ricci/ Ricci
- ^ https://sites.google.com/view/xjaen-ttc/home TTC
- ^ http://www.inp.demokritos.gr/~sbonano/RGTC/ EDC y RGTC
- ^ http://home.comcast.net/~djmpark/TensorialPage.html Tensorial
- ^ http://www.xact.es/ xAct
- ^ http://library.wolfram.com/infocenter/MathSource/4781/ EXCELENTE
- ^ http://digi-area.com/Mathematica/atlas/ atlas 2 para 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/ atlas 2 para Maple
- ^ "Proyecto de software de geometría diferencial de la Universidad Estatal de Utah | Investigación de la Universidad Estatal de Utah | DigitalCommons @ USU" .
- ^ "Descripción general del paquete de física - Ayuda de programación de Maple" .
- ^ "Tensorlab | Un paquete de Matlab para cálculos de tensor" .
- ^ http://sandia.gov/~tgkolda/TensorToolbox Caja de herramientas de tensor
- ^ http://www.mathworks.com/matlabcentral/fileexchange/26168 MPCA y MPCA + LDA
- ^ UMPCA
- ^ http://www.mathworks.com/matlabcentral/fileexchange/35782 UMLDA
- ^ http://maxima.sourceforge.net/ Maxima en sourceforge.net
- ^ http://maxima.sourceforge.net/docs/manual/en/maxima_27.html#SEC90 La guía del paquete itensor
- ^ Rougier, Jonathan (5 de mayo de 2012), tensor: producto tensorial de matrices , consultado el 10 de diciembre de 2016
- ^ Wells, James Li y Jacob Bien y Martin (15/12/2015), rTensor: Tools for Tensor Analysis and Decomposition , consultado el 10/12/2016
- ^ Tsuyuzaki, Koki (2020-06-04), nnTensor: Non-Negative Tensor Decomposition , recuperado 2021-03-04
- ^ Tsuyuzaki, Koki (2019-03-06), ttTensor: Tensor-Train Decomposition , recuperado 2021-03-04
- ^ Khan, Suleiman A .; Ammad-ud-din, Muhammad (2016-12-29), tensorBF: Bayesian Tensor Factorization , consultado el 2017-01-07
- ^ Khan, Suleiman A .; Leppäaho, Eemeli; Kaski, Samuel (10 de junio de 2016). "Factorización multitensorial bayesiana". Aprendizaje automático . 105 (2): 233-253. arXiv : 1412.4679 . doi : 10.1007 / s10994-016-5563-y . ISSN 0885-6125 . S2CID 11871330 .
- ^ Kossaifi, Jean; Panagakis, Yannis; Anandkumar, Anima; Pantic, Maja (2019). "TensorLy: Tensor Learning en Python" . Revista de investigación sobre aprendizaje automático . 20 (26): 1–6.
- ^ yunjhongwu / TensorDecompositions.jl , 2018-09-16 , consultado el 2021-03-04
- ^ lanaperisa / TensorToolbox.jl , 2019-11-13 , consultado el 2021-03-04
- ^ Fishman, Matthew; Shite, Steven R .; Stoudenmire, E. Miles (28 de junio de 2020). "La biblioteca de software de ITensor para cálculos de red de tensor". Software matemático . arXiv : 2007.14822v1 .
- ^ Jutho / TensorOperations.jl , 2020-11-23 , consultado el 2021-03-04
- ^ Nakano, Hayate (2021-02-23), ho-oto / TensorRules.jl , consultado el 2021-03-04
- ^ http://sagemanifolds.obspm.fr/ SageManifolds
- ^ Gibson, Adam (11/11/2017), ND4J: matrices N-dimensionales para JVM , consultado el 10/12/2016
- ^ Página de inicio: http://redberry.cc . Proyecto Redberry en Bitbucket : http://bitbucket.org/redberry/redberry
- ^ https://github.com/ilyak/libxm libxm
- ^ http://www.wlandry.net/Projects/FTensor FTensor
- ^ http://www.cepremap.cnrs.fr/juillard/mambo/download/manual/dynare++/tl.pdf TL
- ^ https://vmml.github.com/vmmlib/ vmmlib
- ^ http://aleph0.info/spartns/ Spartns
- ^ http://www.cimec.org.ar/petscfem FastMat
- ^ "La bifurcación del repositorio cyclops-community / ctf se actualizó al azar, anteriormente esta era la ubicación principal del repositorio: Solomonik / ctf" . 2018-10-31.
- ^ "Un marco tensorial masivamente paralelo, bloque-disperso escrito en C ++: ValeevGroup / tiledarray" . 2019-02-03.
- ^ "Descargas - iOpenShell" .
- ^ "ITensor - Biblioteca de tensor inteligente" .
- ^ "Un marco de álgebra tensorial basado en SIMD de peso ligero y alto rendimiento en C ++ 14/11/17: Romeric / Fastor" . 2019-01-11.
- ^ "Documentación de Xerus - Xerus" .