GNU/Linux >> Tutoriales Linux >  >> Linux

Los 20 mejores sistemas de álgebra informática para escritorio Linux

Resolver problemas computacionales fue la primera inspiración detrás de la invención de las computadoras. Aunque las computadoras modernas han recorrido un largo camino desde sus inicios, desempeñan un papel de facto en la resolución de cálculos complejos. Un sistema de álgebra computacional (CAS) es un entorno de software que permite abordar problemas computacionales complejos de hoy en día sin manipular manualmente ecuaciones complicadas o sistemas computacionales. Estos sistemas de álgebra por computadora pueden manipular fórmulas matemáticas como los matemáticos tradicionales y evitan posibles errores de manera efectiva. Existe una amplia variedad de sistemas de álgebra computacional para Linux, tanto de propósito general como especializados.

Los mejores sistemas de álgebra informática para Linux

Las principales funcionalidades de un CAS son realizar cálculos numéricos, cálculos simbólicos, análisis de datos y visualización de datos. Debido a su amplio dominio, existen varios sistemas de álgebra computacional para Linux, que se ocupan de diferentes tipos de aplicaciones. Nuestros editores han esbozado los 20 mejores sistemas de álgebra computarizada que pueden usar matemáticos, profesionales de la ciencia de datos o estudios superiores.

1. SageMath

SageMath es un sistema de álgebra informática de código abierto para Linux con un amplio conjunto de características, lo que lo convierte en una excelente solución para manejar problemas matemáticos modernos. Se basa en paquetes populares de código abierto ya existentes, como NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R y muchos más. El proyecto pretende ser una alternativa factible a Magma, Maple, Mathematica y Matlab y está a la altura de sus expectativas bastante bien.

Características de SageMath

  • SageMath utiliza Python y Cython para aprovechar la potencia de sus proyectos subyacentes a través de interfaces o contenedores convenientemente.
  • Viene con una interfaz de documento portátil innovadora y fácil de usar compatible con Chrome, Opera, Firefox, Safari y Konqueror.
  • SageMath también ofrece una interfaz de línea de comandos basada en texto construida sobre el shell de iPython.
  • Soporta procesamiento paralelo utilizando diferentes arquitecturas de procesador y proporciona interfaces para Mathematica, Magma y Maple.
  • SageMath permite a los usuarios insertar Sage dentro de documentos LaTeX y usar controles deslizantes como entrada de cálculo.

2. MATLAB

MATLAB es aclamado por muchos como el santo grial de los modernos sistemas de álgebra computacional, y con razón. Ha sido probado como el CAS de facto cuando se trata de investigación matemática y análisis de datos del mundo real. Las funciones proporcionadas por MATLAB son amplias y requerirían una guía dedicada para discutirlas en detalle. El mejor punto de venta de MATLAB para muchos es su documentación de primer nivel. También encontrará casi cualquier función matemática ya implementada y lista para usar.

Características de MATLAB

  • MATLAB permite la manipulación de matrices, el trazado de funciones y datos, la interfaz con aplicaciones o scripts de terceros, la simulación de gráficos, entre muchos otros.
  • Este sistema CAS ofrece una selección monolítica de funciones y algoritmos para álgebra lineal y no lineal, estadística, optimización, sistemas de ecuaciones, análisis de Fourier y transformaciones de Laplace.
  • Es compatible con una amplia gama de opciones de interfaz, incluida una interfaz de línea de comandos, una interfaz GUI y capacidades de creación de interfaz personalizada.
  • El software es propietario y se ejecuta en casi todos los sistemas principales, incluidos los sistemas macOS, Windows, Linux y BSD.

3. Scilab

Scilab es uno de los mejores sistemas de álgebra computacional para Linux que ofrece una amplia gama de características avanzadas para hacer que los cálculos científicos sean más fáciles que nunca. Se ha demostrado que es una solución CAS eficaz desde su desarrollo en los años 90 y desempeña un papel importante en las empresas científicas modernas. Scilab proporciona un entorno de programación de alto nivel que permite a los investigadores, analistas de negocios y matemáticos resolver problemas computacionales del mundo real con solo unas pocas líneas de código.

Características de Scilab

  • Scilab permite a los investigadores definir nuevos tipos de datos y operaciones para realizarlos mediante sobrecarga y emplea una sintaxis similar a MATLAB.
  • Este sistema CAS de código abierto para Linux admite álgebra lineal, polinomios, matrices dispersas, funciones racionales, gráficos en 2D y 3D y animación, junto con muchos más.
  • Scilab viene con soporte incorporado para LaTeX/MathML, editor de texto SciNotes, optimización LMI y capacidades avanzadas de secuencias de comandos.
  • La API unificada y consistente proporcionada por Scilab solo se compara con un puñado de sistemas de álgebra computacional.

4. Octava

Podría decirse que GNU Octave se encuentra entre los sistemas de álgebra computacional Linux más populares utilizados por estudiantes y profesionales en todo el mundo, gracias a sus funcionalidades ricas y fáciles de usar. Es un poderoso lenguaje de programación con capacidades de trazado y visualización predeterminadas. El lenguaje es compatible con MATLAB y permite a los usuarios resolver problemas computacionales lineales y no lineales mediante una cómoda interfaz de línea de comandos. También ofrece una GUI basada en Qt para las personas que prefieren las interfaces gráficas.

Características de Octave

  • Octave ofrece un conjunto completo de técnicas matemáticas, incluida la resolución de ecuaciones lineales y no lineales, la manipulación de polinomios, integraciones, cálculo diferencial, vectores y matrices.
  • Este CAS de código abierto es altamente personalizable y se puede ampliar mediante funciones definidas por el usuario o módulos dinámicos escritos en C, C++, Fortran u otros lenguajes.
  • La interfaz GUI es fácil de usar y se asienta sobre una base Qt, junto con el IDE.
  • Octave está escrito usando C++ y permite a los programadores usar las fuentes de Octave directamente dentro de los programas C++.

5. Máxima

Maxima es uno de los sistemas de álgebra computacional Linux más antiguos que aparecen en esta guía. El proyecto se inició en los laboratorios del MIT en los años 60 y continúa prosperando hoy en día debido a su gran popularidad y conjuntos de funciones notoriamente potentes. El sistema está diseñado para abordar expresiones simbólicas y numéricas, incluidas diferenciación, integración, series de Taylor, transformadas de Laplace, ecuaciones diferenciales, sistemas de ecuaciones lineales junto con polinomios, conjuntos, listas, vectores, matrices y tensores.

Características de Máxima

  • Maxima ofrece resultados numéricos más precisos que la mayoría de los sistemas de álgebra computacional para Linux debido a sus sólidas fracciones exactas, enteros de precisión arbitraria y números de coma flotante.
  • Está escrito usando el lenguaje de programación Common Lisp y proporciona un lenguaje de programación completo con sintaxis similar a ALGOL.
  • Maxima utiliza la semántica de estilo Lisp para facilitar la enseñanza del álgebra informática y las lecciones de programación.
  • Es compatible con una amplia selección de interfaces gráficas de usuario (GUI), incluidas wxMaxima, TeXmacs y SAGE.

6. SymPy

SymPy es una biblioteca Python de código abierto para manipular matemáticas simbólicas. Los usuarios pueden usarlo como una aplicación independiente, en vivo en la web o como una biblioteca dentro de otros programas. Debido a su licencia BSD, se puede decir que SymPy se encuentra entre los mejores sistemas de álgebra informática para entusiastas del código abierto o matemáticos que buscan sistemas de álgebra informática gratuitos. SymPy se mantiene regularmente y se implementan nuevas actualizaciones con mucha frecuencia, lo que lo convierte en una opción adecuada tanto para analistas profesionales como para académicos.

Características de SymPy

  • Puede resolver ecuaciones polinómicas, algebraicas, diferenciales, de diferencias, sistemas de y diofánticas junto con cálculo, matemáticas discretas, geometría y matrices.
  • Las funciones de trazado incluyen modos de coordenadas, entidades geométricas, gráficos 2D y 3D, colores y compatibilidad con Matplotlib.
  • SymPy tiene una lista enorme de funciones criptográficas integradas, que incluyen cifrado Hill, RSA, cifrado ElGamal y muchas más.
  • La naturaleza de código abierto de SymPy permite a los desarrolladores ampliar la aplicación para cumplir con los requisitos de los proyectos informáticos modernos.

7. SINGULAR

Podría decirse que SINGULAR se encuentra entre los mejores sistemas de álgebra computacional para manejar problemas de polinomios como el álgebra conmutativa, la geometría algebraica y la teoría de la singularidad. Viene con las implementaciones algorítmicas más rápidas para computar Groebner resp. Bases estándar, incluyendo el algoritmo de Mora y el algoritmo de Buchberger. SINGULAR también ofrece funciones como factorización de polinomios, Syzygy y cálculos de resolución libre, conjunto de características, resultante y muchas más.

Características de SINGULAR

  • Los principales objetos computacionales de SINGULAR son ideales y módulos que cubren una gran selección de anillos base o localizaciones en diferentes campos.
  • Viene con una amplia gama de algoritmos ya implementados escritos en C++, por lo que ofrece un rendimiento mucho más rápido y optimizado.
  • El lenguaje de programación que presenta este entorno CAS es similar a C e intuitivo para las personas que tienen conocimientos previos de lenguajes de programación tradicionales.
  • SINGULAR ofrece una amplia documentación, un gran conjunto de bibliotecas útiles, una interfaz Emacs, la capacidad de cargar módulos dinámicos junto con su soporte de código abierto.

8. Arce

Maple es uno de los principales sistemas de álgebra informática de Linux que utilizan las empresas de todo el mundo. Es desarrollado y comercializado por Maplesoft, quien lo diseñó con énfasis en la computación numérica y simbólica. También ofrece un lenguaje de programación de alto nivel para ayudar en tareas informáticas avanzadas. Maple también viene equipado con una amplia gama de herramientas para hacer que el cálculo científico sea sencillo y accesible para una gama más amplia de público.

Características de Maple

  • Maple viene con bibliotecas especializadas para funciones matemáticas elementales y especiales y ofrece computación simbólica y numérica con resultados exactos.
  • Puede manejar un amplio conjunto de ecuaciones, incluidas ecuaciones diofánticas, ODE, PDE, DAE, DDE y relaciones de recurrencia.
  • Maple presenta herramientas sólidas para la manipulación, el análisis y la visualización de datos junto con herramientas para problemas de probabilidad y combinatoria.
  • Maple permite la extracción de texto usando expresiones regulares y admite cálculos financieros, series de tiempo, programación paralela y muchas más funciones innovadoras.

9. Macaulay2

Macaulay2 es uno de los sistemas de álgebra computacional más destacados para los investigadores que se ocupan de la geometría algebraica y el álgebra conmutativa. Es un CAS bastante moderno con una plétora de características integradas que ayudan a desarrollar nuevas soluciones para problemas de investigación matemática tradicionales y futuristas. Implementa su propio lenguaje de programación de alto nivel para abordar el álgebra numérica y simbólica y se publica bajo la licencia GNU GPL de código abierto.

Características de Macaulay2

  • Macaulay2 admite el cálculo eficiente de objetos matemáticos de alto nivel como campos de Galois, campos numéricos, anillos de polinomios, álgebras de Weyl, anillos de cocientes, homomorfismos, módulos graduados y cadenas complejas, entre otros.
  • El lenguaje de programación interpretado de este CAS es simple pero poderoso y asigna un tipo a cada objeto.
  • Los algoritmos matemáticos se implementan utilizando C++ y, por lo tanto, ofrecen un rendimiento rápido y optimizado.
  • Este CAS multiplataforma es de código abierto y permite a los desarrolladores ampliar el software según sea necesario.

10. Cadabra

Si está buscando los mejores sistemas de álgebra computacional para problemas de teoría de campos, Cadabra se encuentra entre las opciones más adecuadas para usted. Es un moderno sistema de álgebra informática simbólica (CAS) dirigido a investigadores de teoría de campos y proporciona un amplio conjunto de funcionalidades para ayudar a su propósito. Cadabra maneja simplificaciones de polinomios tensoriales de manera muy efectiva al utilizar las identidades de Bianchi y Schouten y también se puede usar para fermiones y variables anticonmutantes, álgebras de Clifford, transformaciones de Fierz y muchos otros problemas.

Características de Cadabra

  • Cadabra viene con una conveniente interfaz de línea de comandos y una interfaz gráfica de usuario simple pero intuitiva.
  • Es altamente programable y se puede ampliar fácilmente utilizando el lenguaje de programación Python.
  • Cadabra cuenta con una interfaz gráfica de usuario portátil independiente que se puede utilizar sin problemas con Sympy.
  • Este sistema de álgebra computacional multiplataforma es completamente de código abierto, y el código fuente está disponible para su modificación.

11. Wolframio matemático

Wolfram Mathematica es un sistema de álgebra informática moderno que abarca la mayoría de las áreas de la informática técnica, incluida la geometría, la ciencia de datos, las visualizaciones, las redes neuronales, el procesamiento de imágenes, etc. Es muy utilizado tanto por investigadores como por profesionales para un amplio espectro de tareas. Aunque es muy poderoso, Wolfram Mathematica no es gratuito y requiere una licencia paga antes de usarlo para su investigación. Admite miles de funciones matemáticas, datos en tiempo real, entrada de lenguaje natural y muchas más características interesantes.

Características de Wolfram Mathematica

  • Wolfram Mathematica viene con una biblioteca muy madura que contiene casi todas las funciones elementales y especiales que necesitaría para resolver problemas computacionales modernos.
  • Puede resolver una amplia gama de sistemas de ecuaciones, incluidas ecuaciones diofánticas, ecuaciones diferenciales (ODEs/PDE/DAE/DDE/SDE) y relaciones de recurrencia.
  • Wolfram Mathematica equipa a los usuarios con sólidas bibliotecas de estadísticas multivariadas, herramientas de minería de datos y texto, bibliotecas de sistemas de control y bibliotecas de procesamiento de señales.
  • La interfaz tiene un propósito muy general y se adapta bien a las tecnologías modernas como blockchain, microcontroladores, accesibilidad en línea, solo por mencionar algunas.

12. magma

Magma es un sólido sistema de álgebra computacional que combina funciones de computación numérica avanzada a la perfección con una interfaz de usuario fácil de usar pero efectiva. Tiene un uso generalizado en los campos de las matemáticas puras y se presenta ampliamente en la investigación. Magma puede manejar varios tipos de problemas asociados con las áreas de álgebra, teoría de números, geometría algebraica y combinatoria algebraica. Lo distribuye la Universidad de Sydney y viene con una licencia propietaria no comercial.

Características de Magma

  • Cuenta con algoritmos asintóticamente rápidos para operaciones matemáticas elementales como el algoritmo de Schönhage-Strassen, el método de la curva elíptica, la criba cuadrática, la criba de campos numéricos, entre otros.
  • Magma viene con el sistema de álgebra computacional KANT por defecto, que permite el cálculo conveniente de campos de números algebraicos.
  • También puede funcionar con teoría de módulos, álgebra lineal, matrices dispersas, celosías, teoría de representación, teoría de invariantes y bases de Gröbner.
  • Magma permite a los investigadores trabajar con algoritmos criptográficos y ofrece implementaciones optimizadas de los algoritmos más comunes.

13. Reducir

Reduce es un robusto sistema de álgebra computacional dirigido a investigadores de física. Ofrece una extensa lista de características que lo convierten en una opción adecuada para cualquier persona que maneje problemas complejos de física. Viene bajo la licencia BSD, lo que permite a los desarrolladores ampliar el software de la forma que deseen y distribuirlo. Reduce ha estado en desarrollo desde los años 60 y se utiliza en laboratorios de física de todo el mundo. Sin embargo, el crecimiento parece disminuir y la última versión estable vio la luz hace ocho años.

Características de Reducir

  • Reduce ofrece resultados aritméticos fraccionarios y enteros exactos aprovechando técnicas de aproximación numérica de precisión arbitraria.
  • Puede manejar polinomios, funciones racionales, funciones exponenciales, logarítmicas, trigonométricas e hiperbólicas junto con la diferenciación e integración tradicionales.
  • Cuenta con cálculos de matriz de Dirac utilizados en experimentos de física de alta energía y viene con un lenguaje de programación intuitivo.
  • Reduce permite a los investigadores trazar conjuntos de datos en 2D y 3D y permite resultados en una variedad de formatos.

14. PARI/GP

La teoría de números juega un papel importante en la computación moderna, y existen numerosas aplicaciones de este campo en crecimiento. PARI/GP es un CAS ampliamente utilizado desarrollado para manejar cálculos rápidos en teoría de números y ofrece un impresionante conjunto de características que hacen que sea difícil pasar por alto. Viene con un amplio conjunto de implementaciones de funciones avanzadas junto con las más tradicionales y puede ser utilizado ampliamente tanto por investigadores de teoría de números como por científicos informáticos.

Características de PARI/GP

  • PARi/GP puede trabajar con factorizaciones, cálculos de curvas elípticas, matrices, series de potencias, números algebraicos y muchos más temas de teoría de números.
  • Cuenta con un moderno shell interactivo que da acceso a las funciones PARI y se puede utilizar como una calculadora programable.
  • PARI/GP viene preequipado como una biblioteca C, lo que permite a los usuarios usarlo dentro de otros programas y ofrece computación de alta velocidad.
  • Este sistema de álgebra computacional viene con un compilador GP-to-C preconstruido que compila scripts GP en C de manera muy efectiva.

15. BRECHA

GAP es un poderoso sistema de código abierto para resolver problemas de álgebra computacional discreta. Es una plataforma emocionante que combina características de los mejores sistemas de álgebra computacional con un lenguaje de programación conveniente, intuitivo y de alto nivel. GAP puede abordar diferentes tipos de problemas matemáticos discretos, pero enfatiza en gran medida la teoría de grupos computacional. La biblioteca predeterminada es bastante extensa y presenta más de miles de implementaciones de funciones listas para usar.

Características de GAP

  • GAP cuenta con una asombrosa interfaz gráfica de usuario que es fácil de usar e intuitiva.
  • El lenguaje de programación incluido con este sistema CAS se interpreta y se puede compilar fácilmente para ejecuciones más rápidas.
  • GAP ofrece una biblioteca de datos bastante sustancial que contiene grandes clases de varios objetos algebraicos accesibles mediante la interfaz de GAP.
  • Este sistema de álgebra computacional multiplataforma es completamente de código abierto y permite a los usuarios ampliar o modificar el código según sus requisitos.

16. SMath Studio

SMath Studio es un sistema gratuito de álgebra informática multiplataforma para Linux. Aunque es gratuito, SMath Studio no es de código abierto y, por lo tanto, no permite la modificación. Está escrito usando el lenguaje de programación C# y es compatible con casi todos los principales sistemas operativos. También ha agregado soporte para la plataforma de teléfonos inteligentes Android e iOS junto con algunos dispositivos portátiles. Si está buscando sistemas de álgebra computacional Linux simples, rápidos y efectivos, vale la pena probar SMath Studio.

Características de SMath Studio

  • SMath Studio es excepcionalmente ligero y pesa alrededor de 2 MB.
  • Puede resolver ecuaciones diferenciales, sistemas de ecuaciones, operaciones matriciales, integración numérica junto con otros cálculos simbólicos.
  • Los usuarios pueden definir sus propias funciones y desarrollar programas utilizando bucles simples de varias líneas.
  • SMath Studio viene con un editor WYSIWYG flexible y admite más de 40 idiomas diferentes.

17. Axioma

Axiom es un sistema de álgebra computacional de propósito general que tiene un uso generalizado en diferentes tipos de tareas computacionales. Se puede utilizar con fines de investigación académica o para desarrollar algoritmos matemáticos modernos y complejos. Axiom enfatiza una jerarquía de tipos matemáticamente correcta y fuertemente tipada que garantiza el máximo impulso de optimización para sus algoritmos. Axiom cuenta con una licencia BSD modificada que permite a los investigadores ampliar el software para satisfacer demandas personalizadas.

Características de Axiom

  • Axiom implementa una interfaz de tipo robusta y algoritmos heurísticos para crear anotaciones de tipo explícitas.
  • Se puede utilizar para mostrar gráficos bidimensionales y tridimensionales para el análisis y la visualización de datos.
  • Axiom está equipado con un innovador sistema de ayuda interactivo estilo navegador llamado "HyperDoc".
  • Axiom proporciona funcionalidades interactivas de rotación e iluminación junto con el algoritmo Risch para integraciones básicas.

18. CocoA

Si está buscando los mejores sistemas de álgebra computacional para resolver problemas de álgebra conmutativa, CoCoA es una excelente opción para usted. Es un sistema interactivo liviano que ofrece una serie de características poderosas para hacer que los cálculos de álgebra conmutativa sean más fáciles que nunca. Se asienta sobre la biblioteca CoCoALib C++ y proporciona un rendimiento más rápido que la mayoría de los sistemas tradicionales de álgebra computacional de Linux.

Características de CocoA

  • CoCoA puede abordar enteros extremadamente grandes y números racionales utilizando la biblioteca de precisión múltiple de GNU.
  • Permite a los investigadores manejar polinomios multivariados de manera efectiva y trabajar con la base de Groebner.
  • CoCoA viene con compatibilidad integrada para varias interfaces, incluida una interfaz basada en texto, una basada en Emacs y una basada en Qt.
  • Este sistema de álgebra computacional multiplataforma es gratuito y permite modificaciones bajo su licencia GNU GPL.

19. Yacas

Yacas, abreviatura de Yet Another Computer Algebra System , es un sistema de álgebra computacional de propósito general que puede realizar efectivamente una amplia gama de cálculos matemáticos numéricos y simbólicos. Viene preequipado con su propio lenguaje de programación, que proporciona una abstracción de alto nivel de las complejas expresiones matemáticas subyacentes. Puede realizar cálculos numéricos de precisión arbitraria con resultados exactos y ofrece potentes capacidades de trazado para una visualización y análisis de datos eficientes.

Características de Yacas

  • Yacas permite a los matemáticos tomar entradas en formato de texto sin formato o OpenMath con la capacidad de procesar entradas por lotes.
  • Viene con un conjunto masivo de algoritmos ya implementados en forma de scripts que se pueden llamar dentro del editor.
  • Yacas brinda un amplio soporte de documentación, lo que facilita la adaptación de este CAS más rápido que la mayoría de los sistemas de álgebra computacional para Linux.
  • Yacas es completamente de código abierto y se puede modificar o ampliar para adaptarse a los requisitos de los matemáticos modernos.

20. FriCAS

FriCAS es un sistema de álgebra computacional avanzado construido sobre Axiom. Ofrece una caja de herramientas independiente que se utiliza en varios cálculos matemáticos diferentes que van desde el cálculo tradicional hasta el álgebra geométrica. Viene con un sólido sistema de ayuda integrado que proporciona documentación útil para los nuevos usuarios. El sistema es totalmente de código abierto y se puede ampliar fácilmente utilizando el lenguaje de programación SPAD.

Características de FriCAS

  • FriCAS ofrece una amplia gama de comandos simples pero intuitivos para el cálculo simbólico y proporciona una biblioteca numérica robusta.
  • Permite trazar diferentes tipos de conjuntos de datos fácilmente con su innovadora consola interactiva.
  • FriCAS tiene soporte incorporado para coincidencia de patrones, vectores, conjuntos, multiconjuntos y tablas hash.
  • La licencia BSD de código abierto de este CAS nos permite modificar o personalizar el software sin permiso explícito.

Pensamientos finales

Linux ofrece algunos de los mejores sistemas de álgebra computacional que los matemáticos pueden tener en sus manos. En consecuencia, la gran cantidad y variantes de estas opciones tienden a confundir a muchos usuarios. Para ayudarlos a encontrar el sistema CAS perfecto para su computación diaria, nuestros editores han compilado esta guía informativa que describe los 20 mejores sistemas de álgebra computacional para Linux. Con suerte, podríamos atender su interés adecuadamente y proporcionarle todos los elementos esenciales que necesitaba para comenzar. Comente sus opiniones sobre nuestras selecciones a continuación y permanezca atento a las guías de software de Linux más emocionantes.


Linux
  1. 3 lectores de libros electrónicos para el escritorio de Linux

  2. 4 herramientas de escaneo para el escritorio de Linux

  3. Las 5 mejores aplicaciones de escritorio remoto para Linux

  4. Los 20 mejores editores de Javascript para escritorio Linux

  5. Los 5 mejores programas de blogs para escritorio Linux

Los 15 mejores programas de clonación de discos para escritorio Linux

Los 20 mejores programas de seguimiento de tiempo para escritorio Linux

Los 30 mejores software de contabilidad y finanzas para escritorio Linux

Los 20 mejores programas de mensajería instantánea para escritorio Linux

Los 15 mejores gestores de arranque de Linux para el hogar y sistemas integrados

Los 15 mejores sistemas de administración de documentos para el sistema Linux