Descomposición de Cholesky con matrices dinámicas: de VBA a LAMBDA+REDUCE
Juan Pablo lanza un reto al grupo: tiene una descomposición de Cholesky resuelta con VBA y quiere saber si se puede hacer con matrices dinámicas. Miki acepta el desafío y entrega una fórmula nombrada que reemplaza completamente la macro.
La solución usa LAMBDA recursiva con REDUCE, SECUENCIA, INDICE y APILARH para construir la matriz triangular inferior paso a paso. Se define como nombre ("CHOLESKY") en el administrador de nombres:
``
=LAMBDA(Rng;
LET(
n; FILAS(Rng);
REDUCE(0; SECUENCIA(n); LAMBDA(acc; j;
LET(
prev; SI(j = 1; 0; INDICE(acc;; SECUENCIA(; j - 1)));
col; SECUENCIA(n);
vals; SI(col < j; 0;
SI(col = j;
RAIZ(INDICE(Rng; j; j) - SUMAPRODUCTO(prev * prev));
(INDICE(Rng; col; j) -
MMULT(
SI(j = 1; 0; INDICE(acc; col; SECUENCIA(; j - 1)));
TRANSPONER(prev)
)
) / INDICE(acc; j; j)
)
);
APILARH(SI(j = 1; vals; acc); SI(j = 1; 0; vals))
)
))
)
)
`
Para usarla: =CHOLESKY(A1:C3) donde A1:C3 es la matriz simétrica definida positiva.
Un caso que demuestra el poder de REDUCE + LAMBDA` para implementar algoritmos matemáticos complejos que antes requerían VBA obligatoriamente.
Más contenido de Excel en InflueXcel
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Nueva Función IMPORTTEXT TutorialNueva función IMPORTTEXT en Excel!! https://techcommunity.microsoft.com/blog/microsoft365insiderblog/bring-data-into-excel-with-the-new-impo
- ¿Columnas con nombres distintos en Power Query? Tutorial¿Columnas con nombres distintos en Power Query? Aquí tienes la solución definitiva para normalizar tus datos y evitar errores al combinar fi
- BUSCARX con valor devuelto dinámico: elige la columna con un botón o un segmentador CasoUna integrante de la comunidad planteó un reto muy habitual al trabajar con tablas de varias columnas: tiene una lista de municipios con cua
- Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT) CasoJuan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes. T
- Mapa de España con burbujas: ubicar variables por provincia usando coordenadas X/Y CasoEsta semana surgió una duda muy visual en el grupo: cómo mostrar dos variables por provincia en un mapa de España — una pintada en intensida
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Cuenta, Importe, Fecha) y necesit
- Grado de avance por proyecto: despivotar y volver a pivotar por fecha CasoNuevo caso de la comunidad con mucho jugo para los que trabajan con reporting de proyectos. Juan plantea un problema habitual en oficinas té