{"id":563,"date":"2026-07-22T08:17:36","date_gmt":"2026-07-22T08:17:36","guid":{"rendered":"https:\/\/matforge.org\/?p=563","raw":"https:\/\/matforge.org\/?p=563"},"modified":"2026-07-22T08:17:36","modified_gmt":"2026-07-22T08:17:36","slug":"reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists","status":"publish","type":"post","link":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/","title":{"rendered":"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos","raw":"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 11<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>El modelado de orden reducido es una de las formas m\u00e1s pr\u00e1cticas de acelerar las simulaciones cient\u00edficas sin sacrificar la fidelidad f\u00edsica necesaria para obtener resultados cre\u00edbles. En lugar de resolver millones de ecuaciones cada vez que cambia un par\u00e1metro, ROM extrae el comportamiento dominante de un modelo de alta fidelidad en un sustituto ligero que puede ofrecer respuestas en segundos o incluso en milisegundos.<\/p>\n<p>Esta gu\u00eda explica qu\u00e9 significa en la pr\u00e1ctica el modelado de orden reducido, por qu\u00e9 lo usan los cient\u00edficos y c\u00f3mo Pymor hace que el flujo de trabajo sea accesible para los investigadores que no son especialistas en m\u00e9todos num\u00e9ricos. Cubre el patr\u00f3n de descomposici\u00f3n en l\u00ednea sin conexi\u00f3n, la arquitectura Pymor, los ejemplos pr\u00e1cticos de c\u00f3digo y las trampas comunes.<\/p>\n<h2>Comida clave<\/h2>\n<ul>\n<li>ROM resuelve un problema central: las simulaciones costosas son demasiado lentas para los barridos de par\u00e1metros, la optimizaci\u00f3n, el an\u00e1lisis en tiempo real o la cuantificaci\u00f3n de la incertidumbre.<\/li>\n<li>Pymor est\u00e1 dise\u00f1ado espec\u00edficamente para la reducci\u00f3n de pedidos de modelos en Python, con soporte para backends de Fenics, Deal.II y Python.<\/li>\n<li>El patr\u00f3n de ROM central es la descomposici\u00f3n en l\u00ednea offline: precomputaci\u00f3n costosa una vez, evaluaci\u00f3n r\u00e1pida muchas veces.<\/li>\n<li>ROM no es una bala de plata. El truncamiento, la estabilidad y la calidad de la instant\u00e1nea determinan si el modelo reducido es utilizable.<\/li>\n<li>Pymor maneja partes dif\u00edciles del flujo de trabajo, incluida la generaci\u00f3n de bases codiciosas, la estimaci\u00f3n de errores a posteriori y la composici\u00f3n del operador.<\/li>\n<\/ul>\n<h2>Por qu\u00e9 los cient\u00edficos necesitan modelos de pedidos reducidos<\/h2>\n<p>Cada simulaci\u00f3n computacional comienza con un modelo de alta fidelidad, a menudo llamado modelo de pedido completo o FOM. Estos modelos son precisos y f\u00edsicamente confiables, pero tambi\u00e9n son caros. Una sola ejecuci\u00f3n puede llevar horas o d\u00edas, y los flujos de trabajo de investigaci\u00f3n a menudo necesitan muchas ejecuciones para barridos de par\u00e1metros, optimizaci\u00f3n o propagaci\u00f3n de incertidumbre.<\/p>\n<p>El modelado de pedidos reducido aborda este problema. En lugar de resolver el sistema completo repetidamente, usted:<\/p>\n<ol>\n<li>Ejecute el modelo de alta fidelidad en puntos de par\u00e1metros representativos durante la fase sin conexi\u00f3n.<\/li>\n<li>Extraiga el comportamiento dominante a una base reducida utilizando m\u00e9todos como la descomposici\u00f3n ortogonal adecuada o la generaci\u00f3n de bases codiciosas y reducidas.<\/li>\n<li>Proyecte el sistema sobre esta base para producir un problema de \u00e1lgebra lineal m\u00e1s peque\u00f1o.<\/li>\n<li>Eval\u00fae el modelo reducido r\u00e1pidamente para conocer los nuevos par\u00e1metros durante la fase en l\u00ednea.<\/li>\n<\/ol>\n<p>La fase fuera de l\u00ednea se ejecuta una vez. La fase en l\u00ednea se ejecuta cada vez que se necesita un resultado. Para problemas param\u00e9tricos con docenas o cientos de combinaciones de par\u00e1metros, esto puede convertir un flujo de trabajo que lleva semanas en uno que lleva minutos.<\/p>\n<h3>cuando la rom vale la pena<\/h3>\n<ul>\n<li>Simulaci\u00f3n en tiempo real, que incluye gemelos digitales, sistemas de control y herramientas de dise\u00f1o interactivo.<\/li>\n<li>Optimizaci\u00f3n del dise\u00f1o con muchas evaluaciones de dise\u00f1o.<\/li>\n<li>La cuantificaci\u00f3n de la incertidumbre donde los m\u00e9todos del caos de Monte Carlo o del polinomio necesitan muchas evaluaciones de modelos.<\/li>\n<li>Acoplamiento multif\u00edsico donde cada submodelo se beneficia de una interfaz m\u00e1s r\u00e1pida.<\/li>\n<\/ul>\n<h3>Cuando la ROM no es la herramienta adecuada<\/h3>\n<ul>\n<li>An\u00e1lisis de un solo punto sin necesidad de barridos de par\u00e1metros.<\/li>\n<li>Problemas sin estructura param\u00e9trica.<\/li>\n<li>Fen\u00f3menos altamente localizados, como ondas de choque o transiciones de fase, que no son capturados bien por bases globales reducidas.<\/li>\n<\/ul>\n<h2>C\u00f3mo funciona realmente la ROM: las fases fuera de l\u00ednea y en l\u00ednea<\/h2>\n<p>El coraz\u00f3n de ROM es la descomposici\u00f3n en l\u00ednea. Este es el patr\u00f3n estructural que hace que el enfoque sea \u00fatil.<\/p>\n<h3>La fase fuera de l\u00ednea<\/h3>\n<p>Durante la fase sin conexi\u00f3n, se resuelve el modelo de pedido completo en puntos de par\u00e1metros representativos. Estas soluciones se llaman instant\u00e1neas. Capturan el colector de soluci\u00f3n, lo que significa el conjunto de formas de soluci\u00f3n posibles en todo el espacio de par\u00e1metros.<\/p>\n<p>Tres pasos clave ocurren durante la fase offline:<\/p>\n<ol>\n<li>Colecci\u00f3n instant\u00e1nea. Ejecute el modelo de pedido completo en puntos de par\u00e1metros que abarquen el espacio de inter\u00e9s. La elecci\u00f3n de puntos importa significativamente.<\/li>\n<li>generaci\u00f3n de bases. Extraiga un subespacio de baja dimensi\u00f3n que se aproxima al colector de soluci\u00f3n.<\/li>\n<li>precomputaci\u00f3n. Proyecte a los operadores de pedidos completos en la base reducida y almacena en cach\u00e9 las peque\u00f1as matrices resultantes.<\/li>\n<\/ol>\n<p>Los m\u00e9todos de generaci\u00f3n de bases comunes incluyen:<\/p>\n<ul>\n<li>Descomposici\u00f3n ortogonal adecuada, que encuentra las direcciones m\u00e1s energ\u00e9ticas en el espacio de instant\u00e1neas.<\/li>\n<li>Codicioso generaci\u00f3n de bases reducidas, que selecciona puntos de par\u00e1metros donde el error estimado es mayor.<\/li>\n<\/ul>\n<p>El precomputaci\u00f3n es la infraestructura cr\u00edtica. Una vez que se ensambla el sistema reducido, puede evaluarse sin tocar repetidamente la malla original o los operadores de pedido completo.<\/p>\n<h3>La fase en l\u00ednea<\/h3>\n<p>Cuando necesita un resultado para un nuevo punto de par\u00e1metro, el modelo reducido resuelve un problema mucho menor. Esto a menudo significa cientos o miles de inc\u00f3gnitas en lugar de millones.<\/p>\n<p>La fase en l\u00ednea generalmente sigue esta secuencia:<\/p>\n<ol>\n<li>Construya o eval\u00fae el sistema reducido para el nuevo par\u00e1metro.<\/li>\n<li>Resolver el problema de \u00e1lgebra lineal reducido.<\/li>\n<li>Opcionalmente estimar el error con un l\u00edmite a posteriori.<\/li>\n<\/ol>\n<p>El resultado es una soluci\u00f3n en el espacio reducido. Puede reconstruir la soluci\u00f3n de pedido completo cuando sea necesario, aunque las variables reducidas suelen ser suficientes para el an\u00e1lisis.<\/p>\n<h2>Pymor: arquitectura y dise\u00f1o<\/h2>\n<p>Pymor es una biblioteca Python de c\u00f3digo abierto dise\u00f1ada espec\u00edficamente para la reducci\u00f3n de pedidos de modelos. A diferencia de los paquetes de Python cient\u00edficos de uso general, Pymor se basa en el flujo de trabajo de ROM.<\/p>\n<p>La biblioteca es \u00fatil porque conecta m\u00e9todos num\u00e9ricos, generaci\u00f3n de bases, estimaci\u00f3n de errores e integraci\u00f3n de backend dentro de un marco de reducci\u00f3n de modelo.<\/p>\n<h3>que maneja pymor<\/h3>\n<ul>\n<li>Backends de discretizaci\u00f3n. Pymor puede trabajar con fenics, fenicsx, ade.ii y discretizaciones puras de Python.<\/li>\n<li>generaci\u00f3n de bases. Se implementan algoritmos codiciosos, reducci\u00f3n basada en pod y truncamiento equilibrado.<\/li>\n<li>Descomposici\u00f3n on-line. Pymor maneja la descomposici\u00f3n af\u00edn de los operadores cuando la estructura del problema lo permite.<\/li>\n<li>Estimaci\u00f3n de errores. Los estimadores de error a posteriori ayudan a certificar la precisi\u00f3n de las clases de problemas adecuadas.<\/li>\n<li>Composici\u00f3n del modelo. El marco de operador de Pymor permite que se construyan modelos complejos a partir de componentes m\u00e1s simples.<\/li>\n<\/ul>\n<h3>Un ejemplo r\u00e1pido de c\u00f3digo Pymor<\/h3>\n<p>El problema del bloque t\u00e9rmico es un punto de partida com\u00fan. Es una ecuaci\u00f3n de calor param\u00e9trica donde la conductividad var\u00eda entre subdominios.<\/p>\n<pre><code class=\"language-python\">from pymor.discretizations.cg import discretize_stationary_cg\nfrom pymor.operators.constructions import LincombOperator\nfrom pymor.analyticalproblems.thermalblock import thermal_block_problem\nfrom pymor.reductors.coercive import CoerciveRBReductor\n\n# 1. Define the problem: thermal block with 4 subdomains,\n# each with a tunable conductivity parameter\nproblem = thermal_block_problem(num_blocks=(2, 2))\n\n# 2. Discretize with continuous Galerkin FEM\nfom, (x, y) = discretize_stationary_cg(problem, diameter=0.05)\n\n# 3. Build a Reduced Basis via greedy algorithm\n# The CoerciveRBReductor uses energy-norm error estimates\nreductor = CoerciveRBReductor(fom, product=fom.H1_0_product)\nrom = reductor.reduce(\n    max_extensions=8,\n    error_thresh=1e-3,\n    error_evals=100\n)\n\n# 4. Evaluate for a new parameter point\nmu = fom.parameters.parse([0.1, 1.0, 0.5, 2.0])\nu_rom = rom.solve(mu)\n<\/code><\/pre>\n<p>Este ejemplo muestra el patr\u00f3n principal. Pymor maneja la configuraci\u00f3n del problema, la discretizaci\u00f3n, la selecci\u00f3n codiciosa, la generaci\u00f3n de bases y la reducci\u00f3n de la evaluaci\u00f3n del modelo. No necesita ensamblar matrices manualmente, construir la base o calcular los l\u00edmites de error usted mismo.<\/p>\n<h2>El problema del bloque termal: un tutorial trabajado<\/h2>\n<p>El problema del bloque t\u00e9rmico es el tutorial can\u00f3nico de Pymor porque es f\u00edsicamente intuitivo y matem\u00e1ticamente limpio.<\/p>\n<h3>Definici\u00f3n del problema<\/h3>\n<p>Imagine un dominio rectangular dividido en cuatro subdominios rectangulares en una cuadr\u00edcula 2\u00d72. Cada subdominio tiene un par\u00e1metro de conductividad t\u00e9rmica uniforme \u03bc\u1d62. La ecuaci\u00f3n gobernante es:<\/p>\n<p>-\u2207 \u00b7 (\u03bc\u1d62 \u2207u) = f en cada subdominio<\/p>\n<p>Los par\u00e1metros \u03bc\u2081, \u03bc\u2082, \u03bc\u2083 y \u03bc\u2084 var\u00edan seg\u00fan las simulaciones.<\/p>\n<h3>Por qu\u00e9 este problema es \u00fatil<\/h3>\n<ol>\n<li>Los par\u00e1metros se introducen af\u00edn. El coeficiente \u03bc\u1d62 multiplica el operador de gradiente linealmente, lo que admite la descomposici\u00f3n fuera de l\u00ednea en l\u00ednea.<\/li>\n<li>El espacio reducido puede ser muy peque\u00f1o. Incluso con una malla fina, una base reducida de algunos modos puede ser suficiente para una precisi\u00f3n \u00fatil.<\/li>\n<li>El l\u00edmite de error es computable para problemas coercitivos. Pymor puede estimar esto autom\u00e1ticamente.<\/li>\n<\/ol>\n<h3>que puedes hacer con el<\/h3>\n<p>Una vez que se construye el modelo reducido, puede:<\/p>\n<ul>\n<li>Barrer las conductividades r\u00e1pidamente.<\/li>\n<li>Realizar an\u00e1lisis de sensibilidad.<\/li>\n<li>Incruste la ROM en un bucle de optimizaci\u00f3n.<\/li>\n<li>Generar visualizaciones t\u00e9rmicas en tiempo real.<\/li>\n<\/ul>\n<h2>M\u00e9todos ROM: Elegir el enfoque correcto<\/h2>\n<p>Diferentes t\u00e9cnicas de reducci\u00f3n se adaptan a diferentes tipos de problemas. El m\u00e9todo debe coincidir con la estructura f\u00edsica y modelo.<\/p>\n<h3>Descomposici\u00f3n ortogonal adecuada<\/h3>\n<ul>\n<li>Lo mejor para los problemas donde el colector de soluci\u00f3n es suave y la dependencia de par\u00e1metros es leve.<\/li>\n<li>Funciona recogiendo instant\u00e1neas, realizando una descomposici\u00f3n de valor singular y manteniendo los modos dominantes.<\/li>\n<li>Es simple, robusto y bien entendido.<\/li>\n<li>Es posible que no garantice la estabilidad de los problemas dominados por la convecci\u00f3n, y los l\u00edmites de error no siempre est\u00e1n certificados.<\/li>\n<\/ul>\n<h3>Base reducida codiciosa<\/h3>\n<ul>\n<li>Lo mejor para problemas param\u00e9tricos donde se encuentra disponible un estimador de error residual.<\/li>\n<li>Funciona seleccionando puntos de par\u00e1metros que maximizan el error estimado y construyendo la base de forma incremental.<\/li>\n<li>Puede proporcionar l\u00edmites de error certificados y adaptarse a la estructura del problema.<\/li>\n<li>Requiere un buen estimador de error, y la selecci\u00f3n codiciosa puede pasar por alto algunas regiones del espacio de par\u00e1metros.<\/li>\n<\/ul>\n<h3>Truncamiento equilibrado<\/h3>\n<ul>\n<li>Lo mejor para sistemas lineales invariantes en el tiempo y problemas orientados al control.<\/li>\n<li>Reduce el sistema al tiempo que preserva la estabilidad y los valores dominantes de Hankel singular.<\/li>\n<li>Puede preservar las propiedades de control y observabilidad.<\/li>\n<li>Est\u00e1 limitado a clases de sistema adecuadas y puede requerir solucionadores especializados.<\/li>\n<\/ul>\n<h3>M\u00e9todos de interpolaci\u00f3n emp\u00edrica<\/h3>\n<ul>\n<li>Lo mejor para la dependencia de par\u00e1metros no af\u00edn donde los par\u00e1metros no ingresan linealmente.<\/li>\n<li>Se aproximan a los t\u00e9rminos no afines por interpolaci\u00f3n en puntos seleccionados.<\/li>\n<li>Extienden la ROM a problemas m\u00e1s complejos.<\/li>\n<li>A\u00f1aden complejidad y requieren una cuidadosa selecci\u00f3n de puntos de interpolaci\u00f3n.<\/li>\n<\/ul>\n<p>Como regla general, comience con una base reducida codiciosa si tiene un problema coercitivo con los par\u00e1metros af\u00edn. Use Pod cuando desee simplicidad y dependencia suave de par\u00e1metros. Utilice un truncamiento equilibrado para problemas de control invariantes en el tiempo lineal.<\/p>\n<h2>Errores comunes y c\u00f3mo evitarlos<\/h2>\n<p>Incluso con una biblioteca como Pymor, el modelado de orden reducido puede ser fr\u00e1gil. Estos son los errores m\u00e1s comunes.<\/p>\n<h3>1. Mala selecci\u00f3n de instant\u00e1neas<\/h3>\n<p>Si el muestreo de par\u00e1metros pierde regiones cr\u00edticas como transiciones n\u00edtidas, bifurcaciones o resonancias, la base reducida no capturar\u00e1 la f\u00edsica importante.<\/p>\n<p>Solucione esto con muestreo adaptativo. Los m\u00e9todos codiciosos de base reducida hacen esto de forma natural al buscar puntos de par\u00e1metros donde el error estimado es mayor. Para POD, use un muestreo denso o aleatorio en regiones donde las soluciones cambian r\u00e1pidamente.<\/p>\n<h3>2. Sobretruncamiento o subtruncaci\u00f3n<\/h3>\n<p>Si mantiene muy pocos modos, la ROM se pierde f\u00edsica importante. Si mantiene demasiados, el modelo pierde gran parte de su ventaja computacional.<\/p>\n<p>Utilice una tolerancia de error de destino en lugar de un recuento de modo fijo. Deje que el truncamiento de la gu\u00eda enlazada por error, luego verifique que agregar m\u00e1s vectores base no cambie sustancialmente los resultados.<\/p>\n<h3>3. Inestabilidad en problemas dominados por convecci\u00f3n<\/h3>\n<p>Las ROM de Pod-Galerkin pueden volverse inestables para los sistemas dominados por advecci\u00f3n o no lineales. Los modos truncados pueden no disipar la energ\u00eda correctamente.<\/p>\n<p>Las posibles soluciones incluyen:<\/p>\n<ul>\n<li>Utilice m\u00e9todos de estabilizaci\u00f3n, como la estabilizaci\u00f3n de Supremizer para flujos incompresibles o viscosidad artificial para advecci\u00f3n.<\/li>\n<li>Considere los m\u00e9todos ROM no lineales o los enfoques de interpolaci\u00f3n emp\u00edrica.<\/li>\n<li>Prefiere m\u00e9todos de base codiciosas y reducidas para problemas coercitivos donde la estabilidad est\u00e1 mejor controlada.<\/li>\n<\/ul>\n<h3>4. Ignorar la estructura de no linealidad<\/h3>\n<p>Si el PDE tiene t\u00e9rminos no lineales que no se descomponen afinadamente, la fase en l\u00ednea puede no ser r\u00e1pida. Es posible que el modelo reducido a\u00fan necesite evaluar al operador no lineal completo en alta resoluci\u00f3n.<\/p>\n<p>Utilice m\u00e9todos de interpolaci\u00f3n emp\u00edrica o m\u00e9todos de interpolaci\u00f3n emp\u00edricas discretas para aproximar t\u00e9rminos no lineales en puntos de interpolaci\u00f3n escasos. Tambi\u00e9n puede reformular el problema para que los t\u00e9rminos no lineales o dependientes de par\u00e1metros entren m\u00e1s convenientemente.<\/p>\n<h3>5. Contaminaci\u00f3n de la condici\u00f3n inicial<\/h3>\n<p>Proyectar directamente una condici\u00f3n inicial de orden completo en el espacio reducido puede crear oscilaciones espurias porque la condici\u00f3n inicial puede vivir en un espacio de mayor dimensi\u00f3n que el ROM puede representar.<\/p>\n<p>Para problemas dependientes del tiempo, inicialice con cuidado. Utilice una proyecci\u00f3n de m\u00ednimos cuadrados o un estado inicial reducido filtrado cuando sea necesario.<\/p>\n<h3>6. Olvidando validar contra el FOM<\/h3>\n<p>No se debe confiar ciegamente en una ROM, especialmente para combinaciones de par\u00e1metros lejos de la regi\u00f3n de entrenamiento.<\/p>\n<p>Siempre valide las predicciones de ROM contra el modelo de pedido completo en puntos representativos fuera del conjunto de entrenamiento. Supervise los l\u00edmites de error y evite extrapolar m\u00e1s all\u00e1 del rango de par\u00e1metros muestreado.<\/p>\n<h2>Integraci\u00f3n con Fenics: un verdadero flujo de trabajo<\/h2>\n<p>Pymor fue dise\u00f1ado para trabajar junto a Fenics y FenicsX. Esto permite a los investigadores reducir los modelos de elementos finitos existentes sin reescribir el solucionador completo.<\/p>\n<pre><code class=\"language-python\"># Assuming you already have a FEniCS FOM model\nfrom pymor.bindings.fenics import from_fenics_model\nfrom pymor.reductors import SRReductor, BoBYmaReductor\n\n# Convert FEniCS model to pyMOR model\nfom = from_fenics_model(fenics_model)\n\n# Choose a reductor based on your problem type\n# For parametric stationary problems:\nreductor = CoerciveRBReductor(fom, product=fom.H1_0_product)\n\n# For time-dependent problems:\nreductor = SRReductor(fom)\n\n# Build the ROM\nrom = reductor.reduce(max_extensions=10)\n<\/code><\/pre>\n<p>La funci\u00f3n <code>from_fenics_model<\/code> conserva la estructura del operador y permite a Pymor utilizar el ensamblaje de Fenics internamente. El modelo de pedido completo permanece en gran medida como est\u00e1, mientras que Pymor lo envuelve para reducirlo.<\/p>\n<p>Para los usuarios de FenicsX, Pymor proporciona enlaces actualizados a trav\u00e9s de <code>pymor.bindings.fenicsx<\/code>.<\/p>\n<h2>Estimaci\u00f3n de errores: saber cu\u00e1ndo su ROM es confiable<\/h2>\n<p>Una de las fortalezas de Pymor es la estimaci\u00f3n de errores certificados para las clases de problemas adecuadas. Para problemas coercitivos, como muchos PDE el\u00edpticos con operadores definidos positivos, el error en la norma energ\u00e9tica puede estar limitado por:<\/p>\n<p>|E| \u2264 1 \/ \u03b3 \u00d7 ||r||*<\/p>\n<p>Aqu\u00ed, \u03b3 es la constante de coercitividad, y ||r||* es la norma dual del residuo. Este l\u00edmite se puede calcular durante la fase en l\u00ednea porque el operador ha sido calculado previamente en la fase offline.<\/p>\n<p><code>CoerciveRBReductor<\/code> de Pymor puede calcular estos l\u00edmites autom\u00e1ticamente. Durante la selecci\u00f3n codiciosa, eval\u00faa el error enlazado en los par\u00e1metros candidatos y selecciona el que tiene el error estimado m\u00e1s alto.<\/p>\n<p>Esto importa porque las simulaciones cient\u00edficas no solo necesitan respuestas sino tambi\u00e9n m\u00e1rgenes de error. Sin estimaciones de errores, es dif\u00edcil saber si una ROM es confiable para la optimizaci\u00f3n, la cuantificaci\u00f3n de la incertidumbre o las decisiones de dise\u00f1o.<\/p>\n<h2>Rendimiento: \u00bfCu\u00e1nto m\u00e1s r\u00e1pido es ROM?<\/h2>\n<p>La aceleraci\u00f3n depende del tipo de problema, pero las ganancias t\u00edpicas pueden ser grandes.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Tipo de problema<\/th>\n<th>Tama\u00f1o de la forma<\/th>\n<th>Tama\u00f1o de la ROM<\/th>\n<th>aceleraci\u00f3n<\/th>\n<\/tr>\n<tr>\n<td>Bloque t\u00e9rmico en 2D<\/td>\n<td>10\u2074 grados de libertad<\/td>\n<td>5-10 grados de libertad<\/td>\n<td>100-1000\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Ecuaci\u00f3n de calor en 3D<\/td>\n<td>10\u2076 Grados de libertad<\/td>\n<td>20-50 grados de libertad<\/td>\n<td>10\u2074\u201310\u2075\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Elasticidad lineal<\/td>\n<td>10\u2075 grados de libertad<\/td>\n<td>15-30 grados de libertad<\/td>\n<td>10\u00b3\u201310\u2074\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Navier-Stokes linealizados<\/td>\n<td>10\u2076 Grados de libertad<\/td>\n<td>50-100 grados de libertad<\/td>\n<td>10\u2074\u201310\u2075\u00d7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La aceleraci\u00f3n exacta depende de varios factores:<\/p>\n<ul>\n<li>El n\u00famero de modos reducidos retenidos.<\/li>\n<li>La complejidad de la evaluaci\u00f3n de par\u00e1metros.<\/li>\n<li>si el problema tiene una estructura af\u00edn o no af\u00edn.<\/li>\n<li>si la ROM es estacionaria o dependiente del tiempo.<\/li>\n<\/ul>\n<p>Para muchos problemas cient\u00edficos, incluso los tama\u00f1os de base modestos pueden ofrecer aceleraciones de cientos a miles de veces en comparaci\u00f3n con el modelo de pedido completo.<\/p>\n<h2>Primeros pasos: su primer proyecto ROM<\/h2>\n<p>Si eres nuevo en ROM, usa esta ruta:<\/p>\n<ol>\n<li>Comience con el tutorial de bloques t\u00e9rmicos de Pymor. Ejerce el flujo de trabajo completo sin conexi\u00f3n en l\u00ednea.<\/li>\n<li>Lea el tutorial de proyecci\u00f3n para comprender la proyecci\u00f3n de Galerkin, la descomposici\u00f3n en l\u00ednea y el uso del reductor.<\/li>\n<li>Pruebe primero un modelo de orden completo simple con la discretizaci\u00f3n pura de Pymor de Pymor.<\/li>\n<li>Pasa a la integraci\u00f3n de Fenics una vez que entiendas la mec\u00e1nica.<\/li>\n<li>Valide la ROM contra el modelo de pedido completo en varios puntos de par\u00e1metro.<\/li>\n<li>Utilice la ROM validada para barridos de par\u00e1metros, optimizaci\u00f3n o flujos de trabajo m\u00e1s grandes.<\/li>\n<\/ol>\n<h2>Un marco de decisi\u00f3n pr\u00e1ctico<\/h2>\n<p>Utilice este marco para decidir si la ROM vale el costo de instalaci\u00f3n.<\/p>\n<ol>\n<li>\u00bfNecesitas muchas simulaciones? Si necesita menos de 10 evaluaciones, es posible que el costo de configuraci\u00f3n de la ROM no est\u00e9 justificado.<\/li>\n<li>\u00bfEl problema tiene par\u00e1metros? ROM es m\u00e1s eficaz para problemas param\u00e9tricos.<\/li>\n<li>\u00bfEl problema tiene un buen estimador de error? Sin un l\u00edmite de error confiable, la precisi\u00f3n es m\u00e1s dif\u00edcil de certificar.<\/li>\n<li>\u00bfTe sientes c\u00f3modo con Python y Numpy? Pymor es nativo de Python y encaja naturalmente en el ecosistema cient\u00edfico de Python.<\/li>\n<li>\u00bfTiene c\u00f3digo FEM existente? Si ya usa Fenics o Deal.II, Pymor puede ajustar los modelos existentes sin cambios importantes en el solucionador.<\/li>\n<\/ol>\n<p>Recomendaci\u00f3n: si est\u00e1 ejecutando barridos de par\u00e1metros u optimizaci\u00f3n con un solucionador de PDE, comience con el tutorial de bloques t\u00e9rmicos y adapte el flujo de trabajo a su problema.<\/p>\n<h2>Gu\u00edas relacionadas<\/h2>\n<ul>\n<li><a href=\"\/from-equations-to-simulations-the-modeling-pipeline\/\">de ecuaciones a simulaciones: la canalizaci\u00f3n de modelado<\/a> \u2014 Entendiendo d\u00f3nde encaja la ROM en el flujo de trabajo completo.<\/li>\n<li><a href=\"\/machine-learning-surrogates-scientific-simulations\/\">Surrogate de aprendizaje autom\u00e1tico para simulaciones cient\u00edficas<\/a>: compare las ROM con los sustitutos de aprendizaje autom\u00e1tico.<\/li>\n<li><a href=\"\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">administrar problemas de PDE a gran escala<\/a> \u2014 Contexto sobre cu\u00e1ndo las simulaciones se vuelven demasiado costosas.<\/li>\n<li><a href=\"\/finite-volume-method-explained-simply\/\">El m\u00e9todo de volumen finito explicado simplemente<\/a> \u2014 Conceptos num\u00e9ricos centrales.<\/li>\n<\/ul>\n<h2>Resumen<\/h2>\n<p>El modelado de pedidos reducidos transforma las costosas simulaciones de PDE en sustitutos ligeros que ofrecen resultados r\u00e1pidamente. Pymor hace que este flujo de trabajo sea accesible al abstraer la descomposici\u00f3n en l\u00ednea, manejando la generaci\u00f3n de bases y proporcionando una estimaci\u00f3n de errores para los problemas adecuados.<\/p>\n<p>La informaci\u00f3n clave es que ROM no reemplaza el modelo de alta fidelidad. aprende de ello. Resuelve el modelo caro en puntos seleccionados, extrae el comportamiento dominante y luego eval\u00faa el modelo reducido para nuevos par\u00e1metros.<\/p>\n<p>Para estudios param\u00e9tricos, bucles de optimizaci\u00f3n y an\u00e1lisis en tiempo real, este patr\u00f3n puede ser transformador.<\/p>\n<p>Si est\u00e1 creando simulaciones cient\u00edficas que necesitan velocidad sin perder precisi\u00f3n, vale la pena considerar Pymor. Comience con el problema del bloque t\u00e9rmico, valide la ROM con el modelo de pedido completo y luego adapte el flujo de trabajo a su f\u00edsica real.<\/p>\n<h2>Pr\u00f3ximos pasos<\/h2>\n<ol>\n<li>Instale Pymor con <code>pip install pymor<\/code>.<\/li>\n<li>Ejecute el tutorial de bloque t\u00e9rmico.<\/li>\n<li>Envuelva un modelo de Fenics existente.<\/li>\n<li>Par\u00e1metros de barrido y compare los resultados de ROM con los resultados del modelo de orden completo.<\/li>\n<li>Incruste la ROM en su flujo de trabajo m\u00e1s grande.<\/li>\n<\/ol>\n","protected":false,"raw":"<p>El modelado de orden reducido es una de las formas m\u00e1s pr\u00e1cticas de acelerar las simulaciones cient\u00edficas sin sacrificar la fidelidad f\u00edsica necesaria para obtener resultados cre\u00edbles. En lugar de resolver millones de ecuaciones cada vez que cambia un par\u00e1metro, ROM extrae el comportamiento dominante de un modelo de alta fidelidad en un sustituto ligero que puede ofrecer respuestas en segundos o incluso en milisegundos.<\/p>\n<p>Esta gu\u00eda explica qu\u00e9 significa en la pr\u00e1ctica el modelado de orden reducido, por qu\u00e9 lo usan los cient\u00edficos y c\u00f3mo Pymor hace que el flujo de trabajo sea accesible para los investigadores que no son especialistas en m\u00e9todos num\u00e9ricos. Cubre el patr\u00f3n de descomposici\u00f3n en l\u00ednea sin conexi\u00f3n, la arquitectura Pymor, los ejemplos pr\u00e1cticos de c\u00f3digo y las trampas comunes.<\/p>\n<h2>Comida clave<\/h2>\n<ul>\n<li>ROM resuelve un problema central: las simulaciones costosas son demasiado lentas para los barridos de par\u00e1metros, la optimizaci\u00f3n, el an\u00e1lisis en tiempo real o la cuantificaci\u00f3n de la incertidumbre.<\/li>\n<li>Pymor est\u00e1 dise\u00f1ado espec\u00edficamente para la reducci\u00f3n de pedidos de modelos en Python, con soporte para backends de Fenics, Deal.II y Python.<\/li>\n<li>El patr\u00f3n de ROM central es la descomposici\u00f3n en l\u00ednea offline: precomputaci\u00f3n costosa una vez, evaluaci\u00f3n r\u00e1pida muchas veces.<\/li>\n<li>ROM no es una bala de plata. El truncamiento, la estabilidad y la calidad de la instant\u00e1nea determinan si el modelo reducido es utilizable.<\/li>\n<li>Pymor maneja partes dif\u00edciles del flujo de trabajo, incluida la generaci\u00f3n de bases codiciosas, la estimaci\u00f3n de errores a posteriori y la composici\u00f3n del operador.<\/li>\n<\/ul>\n<h2>Por qu\u00e9 los cient\u00edficos necesitan modelos de pedidos reducidos<\/h2>\n<p>Cada simulaci\u00f3n computacional comienza con un modelo de alta fidelidad, a menudo llamado modelo de pedido completo o FOM. Estos modelos son precisos y f\u00edsicamente confiables, pero tambi\u00e9n son caros. Una sola ejecuci\u00f3n puede llevar horas o d\u00edas, y los flujos de trabajo de investigaci\u00f3n a menudo necesitan muchas ejecuciones para barridos de par\u00e1metros, optimizaci\u00f3n o propagaci\u00f3n de incertidumbre.<\/p>\n<p>El modelado de pedidos reducido aborda este problema. En lugar de resolver el sistema completo repetidamente, usted:<\/p>\n<ol>\n<li>Ejecute el modelo de alta fidelidad en puntos de par\u00e1metros representativos durante la fase sin conexi\u00f3n.<\/li>\n<li>Extraiga el comportamiento dominante a una base reducida utilizando m\u00e9todos como la descomposici\u00f3n ortogonal adecuada o la generaci\u00f3n de bases codiciosas y reducidas.<\/li>\n<li>Proyecte el sistema sobre esta base para producir un problema de \u00e1lgebra lineal m\u00e1s peque\u00f1o.<\/li>\n<li>Eval\u00fae el modelo reducido r\u00e1pidamente para conocer los nuevos par\u00e1metros durante la fase en l\u00ednea.<\/li>\n<\/ol>\n<p>La fase fuera de l\u00ednea se ejecuta una vez. La fase en l\u00ednea se ejecuta cada vez que se necesita un resultado. Para problemas param\u00e9tricos con docenas o cientos de combinaciones de par\u00e1metros, esto puede convertir un flujo de trabajo que lleva semanas en uno que lleva minutos.<\/p>\n<h3>cuando la rom vale la pena<\/h3>\n<ul>\n<li>Simulaci\u00f3n en tiempo real, que incluye gemelos digitales, sistemas de control y herramientas de dise\u00f1o interactivo.<\/li>\n<li>Optimizaci\u00f3n del dise\u00f1o con muchas evaluaciones de dise\u00f1o.<\/li>\n<li>La cuantificaci\u00f3n de la incertidumbre donde los m\u00e9todos del caos de Monte Carlo o del polinomio necesitan muchas evaluaciones de modelos.<\/li>\n<li>Acoplamiento multif\u00edsico donde cada submodelo se beneficia de una interfaz m\u00e1s r\u00e1pida.<\/li>\n<\/ul>\n<h3>Cuando la ROM no es la herramienta adecuada<\/h3>\n<ul>\n<li>An\u00e1lisis de un solo punto sin necesidad de barridos de par\u00e1metros.<\/li>\n<li>Problemas sin estructura param\u00e9trica.<\/li>\n<li>Fen\u00f3menos altamente localizados, como ondas de choque o transiciones de fase, que no son capturados bien por bases globales reducidas.<\/li>\n<\/ul>\n<h2>C\u00f3mo funciona realmente la ROM: las fases fuera de l\u00ednea y en l\u00ednea<\/h2>\n<p>El coraz\u00f3n de ROM es la descomposici\u00f3n en l\u00ednea. Este es el patr\u00f3n estructural que hace que el enfoque sea \u00fatil.<\/p>\n<h3>La fase fuera de l\u00ednea<\/h3>\n<p>Durante la fase sin conexi\u00f3n, se resuelve el modelo de pedido completo en puntos de par\u00e1metros representativos. Estas soluciones se llaman instant\u00e1neas. Capturan el colector de soluci\u00f3n, lo que significa el conjunto de formas de soluci\u00f3n posibles en todo el espacio de par\u00e1metros.<\/p>\n<p>Tres pasos clave ocurren durante la fase offline:<\/p>\n<ol>\n<li>Colecci\u00f3n instant\u00e1nea. Ejecute el modelo de pedido completo en puntos de par\u00e1metros que abarquen el espacio de inter\u00e9s. La elecci\u00f3n de puntos importa significativamente.<\/li>\n<li>generaci\u00f3n de bases. Extraiga un subespacio de baja dimensi\u00f3n que se aproxima al colector de soluci\u00f3n.<\/li>\n<li>precomputaci\u00f3n. Proyecte a los operadores de pedidos completos en la base reducida y almacena en cach\u00e9 las peque\u00f1as matrices resultantes.<\/li>\n<\/ol>\n<p>Los m\u00e9todos de generaci\u00f3n de bases comunes incluyen:<\/p>\n<ul>\n<li>Descomposici\u00f3n ortogonal adecuada, que encuentra las direcciones m\u00e1s energ\u00e9ticas en el espacio de instant\u00e1neas.<\/li>\n<li>Codicioso generaci\u00f3n de bases reducidas, que selecciona puntos de par\u00e1metros donde el error estimado es mayor.<\/li>\n<\/ul>\n<p>El precomputaci\u00f3n es la infraestructura cr\u00edtica. Una vez que se ensambla el sistema reducido, puede evaluarse sin tocar repetidamente la malla original o los operadores de pedido completo.<\/p>\n<h3>La fase en l\u00ednea<\/h3>\n<p>Cuando necesita un resultado para un nuevo punto de par\u00e1metro, el modelo reducido resuelve un problema mucho menor. Esto a menudo significa cientos o miles de inc\u00f3gnitas en lugar de millones.<\/p>\n<p>La fase en l\u00ednea generalmente sigue esta secuencia:<\/p>\n<ol>\n<li>Construya o eval\u00fae el sistema reducido para el nuevo par\u00e1metro.<\/li>\n<li>Resolver el problema de \u00e1lgebra lineal reducido.<\/li>\n<li>Opcionalmente estimar el error con un l\u00edmite a posteriori.<\/li>\n<\/ol>\n<p>El resultado es una soluci\u00f3n en el espacio reducido. Puede reconstruir la soluci\u00f3n de pedido completo cuando sea necesario, aunque las variables reducidas suelen ser suficientes para el an\u00e1lisis.<\/p>\n<h2>Pymor: arquitectura y dise\u00f1o<\/h2>\n<p>Pymor es una biblioteca Python de c\u00f3digo abierto dise\u00f1ada espec\u00edficamente para la reducci\u00f3n de pedidos de modelos. A diferencia de los paquetes de Python cient\u00edficos de uso general, Pymor se basa en el flujo de trabajo de ROM.<\/p>\n<p>La biblioteca es \u00fatil porque conecta m\u00e9todos num\u00e9ricos, generaci\u00f3n de bases, estimaci\u00f3n de errores e integraci\u00f3n de backend dentro de un marco de reducci\u00f3n de modelo.<\/p>\n<h3>que maneja pymor<\/h3>\n<ul>\n<li>Backends de discretizaci\u00f3n. Pymor puede trabajar con fenics, fenicsx, ade.ii y discretizaciones puras de Python.<\/li>\n<li>generaci\u00f3n de bases. Se implementan algoritmos codiciosos, reducci\u00f3n basada en pod y truncamiento equilibrado.<\/li>\n<li>Descomposici\u00f3n on-line. Pymor maneja la descomposici\u00f3n af\u00edn de los operadores cuando la estructura del problema lo permite.<\/li>\n<li>Estimaci\u00f3n de errores. Los estimadores de error a posteriori ayudan a certificar la precisi\u00f3n de las clases de problemas adecuadas.<\/li>\n<li>Composici\u00f3n del modelo. El marco de operador de Pymor permite que se construyan modelos complejos a partir de componentes m\u00e1s simples.<\/li>\n<\/ul>\n<h3>Un ejemplo r\u00e1pido de c\u00f3digo Pymor<\/h3>\n<p>El problema del bloque t\u00e9rmico es un punto de partida com\u00fan. Es una ecuaci\u00f3n de calor param\u00e9trica donde la conductividad var\u00eda entre subdominios.<\/p>\n<pre><code class=\"language-python\">from pymor.discretizations.cg import discretize_stationary_cg\nfrom pymor.operators.constructions import LincombOperator\nfrom pymor.analyticalproblems.thermalblock import thermal_block_problem\nfrom pymor.reductors.coercive import CoerciveRBReductor\n\n# 1. Define the problem: thermal block with 4 subdomains,\n# each with a tunable conductivity parameter\nproblem = thermal_block_problem(num_blocks=(2, 2))\n\n# 2. Discretize with continuous Galerkin FEM\nfom, (x, y) = discretize_stationary_cg(problem, diameter=0.05)\n\n# 3. Build a Reduced Basis via greedy algorithm\n# The CoerciveRBReductor uses energy-norm error estimates\nreductor = CoerciveRBReductor(fom, product=fom.H1_0_product)\nrom = reductor.reduce(\n    max_extensions=8,\n    error_thresh=1e-3,\n    error_evals=100\n)\n\n# 4. Evaluate for a new parameter point\nmu = fom.parameters.parse([0.1, 1.0, 0.5, 2.0])\nu_rom = rom.solve(mu)\n<\/code><\/pre>\n<p>Este ejemplo muestra el patr\u00f3n principal. Pymor maneja la configuraci\u00f3n del problema, la discretizaci\u00f3n, la selecci\u00f3n codiciosa, la generaci\u00f3n de bases y la reducci\u00f3n de la evaluaci\u00f3n del modelo. No necesita ensamblar matrices manualmente, construir la base o calcular los l\u00edmites de error usted mismo.<\/p>\n<h2>El problema del bloque termal: un tutorial trabajado<\/h2>\n<p>El problema del bloque t\u00e9rmico es el tutorial can\u00f3nico de Pymor porque es f\u00edsicamente intuitivo y matem\u00e1ticamente limpio.<\/p>\n<h3>Definici\u00f3n del problema<\/h3>\n<p>Imagine un dominio rectangular dividido en cuatro subdominios rectangulares en una cuadr\u00edcula 2\u00d72. Cada subdominio tiene un par\u00e1metro de conductividad t\u00e9rmica uniforme \u03bc\u1d62. La ecuaci\u00f3n gobernante es:<\/p>\n<p>-\u2207 \u00b7 (\u03bc\u1d62 \u2207u) = f en cada subdominio<\/p>\n<p>Los par\u00e1metros \u03bc\u2081, \u03bc\u2082, \u03bc\u2083 y \u03bc\u2084 var\u00edan seg\u00fan las simulaciones.<\/p>\n<h3>Por qu\u00e9 este problema es \u00fatil<\/h3>\n<ol>\n<li>Los par\u00e1metros se introducen af\u00edn. El coeficiente \u03bc\u1d62 multiplica el operador de gradiente linealmente, lo que admite la descomposici\u00f3n fuera de l\u00ednea en l\u00ednea.<\/li>\n<li>El espacio reducido puede ser muy peque\u00f1o. Incluso con una malla fina, una base reducida de algunos modos puede ser suficiente para una precisi\u00f3n \u00fatil.<\/li>\n<li>El l\u00edmite de error es computable para problemas coercitivos. Pymor puede estimar esto autom\u00e1ticamente.<\/li>\n<\/ol>\n<h3>que puedes hacer con el<\/h3>\n<p>Una vez que se construye el modelo reducido, puede:<\/p>\n<ul>\n<li>Barrer las conductividades r\u00e1pidamente.<\/li>\n<li>Realizar an\u00e1lisis de sensibilidad.<\/li>\n<li>Incruste la ROM en un bucle de optimizaci\u00f3n.<\/li>\n<li>Generar visualizaciones t\u00e9rmicas en tiempo real.<\/li>\n<\/ul>\n<h2>M\u00e9todos ROM: Elegir el enfoque correcto<\/h2>\n<p>Diferentes t\u00e9cnicas de reducci\u00f3n se adaptan a diferentes tipos de problemas. El m\u00e9todo debe coincidir con la estructura f\u00edsica y modelo.<\/p>\n<h3>Descomposici\u00f3n ortogonal adecuada<\/h3>\n<ul>\n<li>Lo mejor para los problemas donde el colector de soluci\u00f3n es suave y la dependencia de par\u00e1metros es leve.<\/li>\n<li>Funciona recogiendo instant\u00e1neas, realizando una descomposici\u00f3n de valor singular y manteniendo los modos dominantes.<\/li>\n<li>Es simple, robusto y bien entendido.<\/li>\n<li>Es posible que no garantice la estabilidad de los problemas dominados por la convecci\u00f3n, y los l\u00edmites de error no siempre est\u00e1n certificados.<\/li>\n<\/ul>\n<h3>Base reducida codiciosa<\/h3>\n<ul>\n<li>Lo mejor para problemas param\u00e9tricos donde se encuentra disponible un estimador de error residual.<\/li>\n<li>Funciona seleccionando puntos de par\u00e1metros que maximizan el error estimado y construyendo la base de forma incremental.<\/li>\n<li>Puede proporcionar l\u00edmites de error certificados y adaptarse a la estructura del problema.<\/li>\n<li>Requiere un buen estimador de error, y la selecci\u00f3n codiciosa puede pasar por alto algunas regiones del espacio de par\u00e1metros.<\/li>\n<\/ul>\n<h3>Truncamiento equilibrado<\/h3>\n<ul>\n<li>Lo mejor para sistemas lineales invariantes en el tiempo y problemas orientados al control.<\/li>\n<li>Reduce el sistema al tiempo que preserva la estabilidad y los valores dominantes de Hankel singular.<\/li>\n<li>Puede preservar las propiedades de control y observabilidad.<\/li>\n<li>Est\u00e1 limitado a clases de sistema adecuadas y puede requerir solucionadores especializados.<\/li>\n<\/ul>\n<h3>M\u00e9todos de interpolaci\u00f3n emp\u00edrica<\/h3>\n<ul>\n<li>Lo mejor para la dependencia de par\u00e1metros no af\u00edn donde los par\u00e1metros no ingresan linealmente.<\/li>\n<li>Se aproximan a los t\u00e9rminos no afines por interpolaci\u00f3n en puntos seleccionados.<\/li>\n<li>Extienden la ROM a problemas m\u00e1s complejos.<\/li>\n<li>A\u00f1aden complejidad y requieren una cuidadosa selecci\u00f3n de puntos de interpolaci\u00f3n.<\/li>\n<\/ul>\n<p>Como regla general, comience con una base reducida codiciosa si tiene un problema coercitivo con los par\u00e1metros af\u00edn. Use Pod cuando desee simplicidad y dependencia suave de par\u00e1metros. Utilice un truncamiento equilibrado para problemas de control invariantes en el tiempo lineal.<\/p>\n<h2>Errores comunes y c\u00f3mo evitarlos<\/h2>\n<p>Incluso con una biblioteca como Pymor, el modelado de orden reducido puede ser fr\u00e1gil. Estos son los errores m\u00e1s comunes.<\/p>\n<h3>1. Mala selecci\u00f3n de instant\u00e1neas<\/h3>\n<p>Si el muestreo de par\u00e1metros pierde regiones cr\u00edticas como transiciones n\u00edtidas, bifurcaciones o resonancias, la base reducida no capturar\u00e1 la f\u00edsica importante.<\/p>\n<p>Solucione esto con muestreo adaptativo. Los m\u00e9todos codiciosos de base reducida hacen esto de forma natural al buscar puntos de par\u00e1metros donde el error estimado es mayor. Para POD, use un muestreo denso o aleatorio en regiones donde las soluciones cambian r\u00e1pidamente.<\/p>\n<h3>2. Sobretruncamiento o subtruncaci\u00f3n<\/h3>\n<p>Si mantiene muy pocos modos, la ROM se pierde f\u00edsica importante. Si mantiene demasiados, el modelo pierde gran parte de su ventaja computacional.<\/p>\n<p>Utilice una tolerancia de error de destino en lugar de un recuento de modo fijo. Deje que el truncamiento de la gu\u00eda enlazada por error, luego verifique que agregar m\u00e1s vectores base no cambie sustancialmente los resultados.<\/p>\n<h3>3. Inestabilidad en problemas dominados por convecci\u00f3n<\/h3>\n<p>Las ROM de Pod-Galerkin pueden volverse inestables para los sistemas dominados por advecci\u00f3n o no lineales. Los modos truncados pueden no disipar la energ\u00eda correctamente.<\/p>\n<p>Las posibles soluciones incluyen:<\/p>\n<ul>\n<li>Utilice m\u00e9todos de estabilizaci\u00f3n, como la estabilizaci\u00f3n de Supremizer para flujos incompresibles o viscosidad artificial para advecci\u00f3n.<\/li>\n<li>Considere los m\u00e9todos ROM no lineales o los enfoques de interpolaci\u00f3n emp\u00edrica.<\/li>\n<li>Prefiere m\u00e9todos de base codiciosas y reducidas para problemas coercitivos donde la estabilidad est\u00e1 mejor controlada.<\/li>\n<\/ul>\n<h3>4. Ignorar la estructura de no linealidad<\/h3>\n<p>Si el PDE tiene t\u00e9rminos no lineales que no se descomponen afinadamente, la fase en l\u00ednea puede no ser r\u00e1pida. Es posible que el modelo reducido a\u00fan necesite evaluar al operador no lineal completo en alta resoluci\u00f3n.<\/p>\n<p>Utilice m\u00e9todos de interpolaci\u00f3n emp\u00edrica o m\u00e9todos de interpolaci\u00f3n emp\u00edricas discretas para aproximar t\u00e9rminos no lineales en puntos de interpolaci\u00f3n escasos. Tambi\u00e9n puede reformular el problema para que los t\u00e9rminos no lineales o dependientes de par\u00e1metros entren m\u00e1s convenientemente.<\/p>\n<h3>5. Contaminaci\u00f3n de la condici\u00f3n inicial<\/h3>\n<p>Proyectar directamente una condici\u00f3n inicial de orden completo en el espacio reducido puede crear oscilaciones espurias porque la condici\u00f3n inicial puede vivir en un espacio de mayor dimensi\u00f3n que el ROM puede representar.<\/p>\n<p>Para problemas dependientes del tiempo, inicialice con cuidado. Utilice una proyecci\u00f3n de m\u00ednimos cuadrados o un estado inicial reducido filtrado cuando sea necesario.<\/p>\n<h3>6. Olvidando validar contra el FOM<\/h3>\n<p>No se debe confiar ciegamente en una ROM, especialmente para combinaciones de par\u00e1metros lejos de la regi\u00f3n de entrenamiento.<\/p>\n<p>Siempre valide las predicciones de ROM contra el modelo de pedido completo en puntos representativos fuera del conjunto de entrenamiento. Supervise los l\u00edmites de error y evite extrapolar m\u00e1s all\u00e1 del rango de par\u00e1metros muestreado.<\/p>\n<h2>Integraci\u00f3n con Fenics: un verdadero flujo de trabajo<\/h2>\n<p>Pymor fue dise\u00f1ado para trabajar junto a Fenics y FenicsX. Esto permite a los investigadores reducir los modelos de elementos finitos existentes sin reescribir el solucionador completo.<\/p>\n<pre><code class=\"language-python\"># Assuming you already have a FEniCS FOM model\nfrom pymor.bindings.fenics import from_fenics_model\nfrom pymor.reductors import SRReductor, BoBYmaReductor\n\n# Convert FEniCS model to pyMOR model\nfom = from_fenics_model(fenics_model)\n\n# Choose a reductor based on your problem type\n# For parametric stationary problems:\nreductor = CoerciveRBReductor(fom, product=fom.H1_0_product)\n\n# For time-dependent problems:\nreductor = SRReductor(fom)\n\n# Build the ROM\nrom = reductor.reduce(max_extensions=10)\n<\/code><\/pre>\n<p>La funci\u00f3n <code>from_fenics_model<\/code> conserva la estructura del operador y permite a Pymor utilizar el ensamblaje de Fenics internamente. El modelo de pedido completo permanece en gran medida como est\u00e1, mientras que Pymor lo envuelve para reducirlo.<\/p>\n<p>Para los usuarios de FenicsX, Pymor proporciona enlaces actualizados a trav\u00e9s de <code>pymor.bindings.fenicsx<\/code>.<\/p>\n<h2>Estimaci\u00f3n de errores: saber cu\u00e1ndo su ROM es confiable<\/h2>\n<p>Una de las fortalezas de Pymor es la estimaci\u00f3n de errores certificados para las clases de problemas adecuadas. Para problemas coercitivos, como muchos PDE el\u00edpticos con operadores definidos positivos, el error en la norma energ\u00e9tica puede estar limitado por:<\/p>\n<p>|E| \u2264 1 \/ \u03b3 \u00d7 ||r||*<\/p>\n<p>Aqu\u00ed, \u03b3 es la constante de coercitividad, y ||r||* es la norma dual del residuo. Este l\u00edmite se puede calcular durante la fase en l\u00ednea porque el operador ha sido calculado previamente en la fase offline.<\/p>\n<p><code>CoerciveRBReductor<\/code> de Pymor puede calcular estos l\u00edmites autom\u00e1ticamente. Durante la selecci\u00f3n codiciosa, eval\u00faa el error enlazado en los par\u00e1metros candidatos y selecciona el que tiene el error estimado m\u00e1s alto.<\/p>\n<p>Esto importa porque las simulaciones cient\u00edficas no solo necesitan respuestas sino tambi\u00e9n m\u00e1rgenes de error. Sin estimaciones de errores, es dif\u00edcil saber si una ROM es confiable para la optimizaci\u00f3n, la cuantificaci\u00f3n de la incertidumbre o las decisiones de dise\u00f1o.<\/p>\n<h2>Rendimiento: \u00bfCu\u00e1nto m\u00e1s r\u00e1pido es ROM?<\/h2>\n<p>La aceleraci\u00f3n depende del tipo de problema, pero las ganancias t\u00edpicas pueden ser grandes.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Tipo de problema<\/th>\n<th>Tama\u00f1o de la forma<\/th>\n<th>Tama\u00f1o de la ROM<\/th>\n<th>aceleraci\u00f3n<\/th>\n<\/tr>\n<tr>\n<td>Bloque t\u00e9rmico en 2D<\/td>\n<td>10\u2074 grados de libertad<\/td>\n<td>5-10 grados de libertad<\/td>\n<td>100-1000\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Ecuaci\u00f3n de calor en 3D<\/td>\n<td>10\u2076 Grados de libertad<\/td>\n<td>20-50 grados de libertad<\/td>\n<td>10\u2074\u201310\u2075\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Elasticidad lineal<\/td>\n<td>10\u2075 grados de libertad<\/td>\n<td>15-30 grados de libertad<\/td>\n<td>10\u00b3\u201310\u2074\u00d7<\/td>\n<\/tr>\n<tr>\n<td>Navier-Stokes linealizados<\/td>\n<td>10\u2076 Grados de libertad<\/td>\n<td>50-100 grados de libertad<\/td>\n<td>10\u2074\u201310\u2075\u00d7<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>La aceleraci\u00f3n exacta depende de varios factores:<\/p>\n<ul>\n<li>El n\u00famero de modos reducidos retenidos.<\/li>\n<li>La complejidad de la evaluaci\u00f3n de par\u00e1metros.<\/li>\n<li>si el problema tiene una estructura af\u00edn o no af\u00edn.<\/li>\n<li>si la ROM es estacionaria o dependiente del tiempo.<\/li>\n<\/ul>\n<p>Para muchos problemas cient\u00edficos, incluso los tama\u00f1os de base modestos pueden ofrecer aceleraciones de cientos a miles de veces en comparaci\u00f3n con el modelo de pedido completo.<\/p>\n<h2>Primeros pasos: su primer proyecto ROM<\/h2>\n<p>Si eres nuevo en ROM, usa esta ruta:<\/p>\n<ol>\n<li>Comience con el tutorial de bloques t\u00e9rmicos de Pymor. Ejerce el flujo de trabajo completo sin conexi\u00f3n en l\u00ednea.<\/li>\n<li>Lea el tutorial de proyecci\u00f3n para comprender la proyecci\u00f3n de Galerkin, la descomposici\u00f3n en l\u00ednea y el uso del reductor.<\/li>\n<li>Pruebe primero un modelo de orden completo simple con la discretizaci\u00f3n pura de Pymor de Pymor.<\/li>\n<li>Pasa a la integraci\u00f3n de Fenics una vez que entiendas la mec\u00e1nica.<\/li>\n<li>Valide la ROM contra el modelo de pedido completo en varios puntos de par\u00e1metro.<\/li>\n<li>Utilice la ROM validada para barridos de par\u00e1metros, optimizaci\u00f3n o flujos de trabajo m\u00e1s grandes.<\/li>\n<\/ol>\n<h2>Un marco de decisi\u00f3n pr\u00e1ctico<\/h2>\n<p>Utilice este marco para decidir si la ROM vale el costo de instalaci\u00f3n.<\/p>\n<ol>\n<li>\u00bfNecesitas muchas simulaciones? Si necesita menos de 10 evaluaciones, es posible que el costo de configuraci\u00f3n de la ROM no est\u00e9 justificado.<\/li>\n<li>\u00bfEl problema tiene par\u00e1metros? ROM es m\u00e1s eficaz para problemas param\u00e9tricos.<\/li>\n<li>\u00bfEl problema tiene un buen estimador de error? Sin un l\u00edmite de error confiable, la precisi\u00f3n es m\u00e1s dif\u00edcil de certificar.<\/li>\n<li>\u00bfTe sientes c\u00f3modo con Python y Numpy? Pymor es nativo de Python y encaja naturalmente en el ecosistema cient\u00edfico de Python.<\/li>\n<li>\u00bfTiene c\u00f3digo FEM existente? Si ya usa Fenics o Deal.II, Pymor puede ajustar los modelos existentes sin cambios importantes en el solucionador.<\/li>\n<\/ol>\n<p>Recomendaci\u00f3n: si est\u00e1 ejecutando barridos de par\u00e1metros u optimizaci\u00f3n con un solucionador de PDE, comience con el tutorial de bloques t\u00e9rmicos y adapte el flujo de trabajo a su problema.<\/p>\n<h2>Gu\u00edas relacionadas<\/h2>\n<ul>\n<li><a href=\"\/from-equations-to-simulations-the-modeling-pipeline\/\">de ecuaciones a simulaciones: la canalizaci\u00f3n de modelado<\/a> \u2014 Entendiendo d\u00f3nde encaja la ROM en el flujo de trabajo completo.<\/li>\n<li><a href=\"\/machine-learning-surrogates-scientific-simulations\/\">Surrogate de aprendizaje autom\u00e1tico para simulaciones cient\u00edficas<\/a>: compare las ROM con los sustitutos de aprendizaje autom\u00e1tico.<\/li>\n<li><a href=\"\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">administrar problemas de PDE a gran escala<\/a> \u2014 Contexto sobre cu\u00e1ndo las simulaciones se vuelven demasiado costosas.<\/li>\n<li><a href=\"\/finite-volume-method-explained-simply\/\">El m\u00e9todo de volumen finito explicado simplemente<\/a> \u2014 Conceptos num\u00e9ricos centrales.<\/li>\n<\/ul>\n<h2>Resumen<\/h2>\n<p>El modelado de pedidos reducidos transforma las costosas simulaciones de PDE en sustitutos ligeros que ofrecen resultados r\u00e1pidamente. Pymor hace que este flujo de trabajo sea accesible al abstraer la descomposici\u00f3n en l\u00ednea, manejando la generaci\u00f3n de bases y proporcionando una estimaci\u00f3n de errores para los problemas adecuados.<\/p>\n<p>La informaci\u00f3n clave es que ROM no reemplaza el modelo de alta fidelidad. aprende de ello. Resuelve el modelo caro en puntos seleccionados, extrae el comportamiento dominante y luego eval\u00faa el modelo reducido para nuevos par\u00e1metros.<\/p>\n<p>Para estudios param\u00e9tricos, bucles de optimizaci\u00f3n y an\u00e1lisis en tiempo real, este patr\u00f3n puede ser transformador.<\/p>\n<p>Si est\u00e1 creando simulaciones cient\u00edficas que necesitan velocidad sin perder precisi\u00f3n, vale la pena considerar Pymor. Comience con el problema del bloque t\u00e9rmico, valide la ROM con el modelo de pedido completo y luego adapte el flujo de trabajo a su f\u00edsica real.<\/p>\n<h2>Pr\u00f3ximos pasos<\/h2>\n<ol>\n<li>Instale Pymor con <code>pip install pymor<\/code>.<\/li>\n<li>Ejecute el tutorial de bloque t\u00e9rmico.<\/li>\n<li>Envuelva un modelo de Fenics existente.<\/li>\n<li>Par\u00e1metros de barrido y compare los resultados de ROM con los resultados del modelo de orden completo.<\/li>\n<li>Incruste la ROM en su flujo de trabajo m\u00e1s grande.<\/li>\n<\/ol>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 11<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>El modelado de orden reducido es una de las formas m\u00e1s pr\u00e1cticas de acelerar las simulaciones cient\u00edficas sin sacrificar la fidelidad f\u00edsica necesaria para obtener resultados cre\u00edbles. En lugar de resolver millones de ecuaciones cada vez que cambia un par\u00e1metro, ROM extrae el comportamiento dominante de un modelo de alta fidelidad en un sustituto ligero [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"https:\/\/matforge.org\/?p=359","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-563","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","es-ES"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Modelado de orden reducido con Pymor<\/title>\n<meta name=\"description\" content=\"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modelado de orden reducido con Pymor\" \/>\n<meta property=\"og:description\" content=\"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-22T08:17:36+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos\",\"datePublished\":\"2026-07-22T08:17:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/\"},\"wordCount\":3284,\"commentCount\":0,\"articleSection\":[\"Simulaci\u00f3n &amp; Proyectos de modelado\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/\",\"name\":\"Modelado de orden reducido con Pymor\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-07-22T08:17:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modelado de orden reducido con Pymor","description":"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/","og_locale":"es_ES","og_type":"article","og_title":"Modelado de orden reducido con Pymor","og_description":"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.","og_url":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/","og_site_name":"matforge.org","article_published_time":"2026-07-22T08:17:36+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Elena Markovska","Tiempo de lectura":"17 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos","datePublished":"2026-07-22T08:17:36+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/"},"wordCount":3284,"commentCount":0,"articleSection":["Simulaci\u00f3n &amp; Proyectos de modelado"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/","url":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/","name":"Modelado de orden reducido con Pymor","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-07-22T08:17:36+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Aprenda c\u00f3mo el modelado de orden reducido con Pymor acelera las simulaciones cient\u00edficas a trav\u00e9s de la descomposici\u00f3n en l\u00ednea, las bases reducidas y las estimaciones de errores.","breadcrumb":{"@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/es\/reduced-order-modeling-rom-with-pymor-a-practical-guide-for-scientists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/es\/"},{"@type":"ListItem","position":2,"name":"Modelado de orden reducido (ROM) con Pymor: una gu\u00eda pr\u00e1ctica para cient\u00edficos"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=563"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/563\/revisions"}],"predecessor-version":[{"id":726,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/563\/revisions\/726"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}