MathKernel-MCP

Un kernel matemático multi-motor consciente de la evidencia, utilizable tanto como biblioteca de Python (mathkernel) como servidor MCP (mathkernel-mcp), para que aplicaciones y LLMs puedan realizar matemáticas avanzadas preservando suposiciones, procedencia y evidencia específica de cada afirmación.

Documentación

MathKernel

Un kernel matemático multi-motor consciente de la evidencia: utilizable tanto como biblioteca de Python (mathkernel) como servidor MCP (mathkernel-mcp) — para que aplicaciones y LLMs puedan hacer matemáticas avanzadas preservando suposiciones, procedencia y evidencia específica de cada afirmación.

El LLM interpreta la intención; el MathKernel establece la evidencia matemática.

Los resultados matemáticos llevan un nivel de confianza explícito, una etiqueta de motor y un rastro de derivación. El cálculo exacto, los certificados verificados, los resultados simbólicos, los recintos certificados, la evidencia empírica y las pruebas formales son afirmaciones distintas. La aritmética exacta por sí sola no es una prueba formal; la ascendencia de entrada aproximada no debe desaparecer silenciosamente.

version python engines license


Tabla de contenidos

Por qué

Los LLMs son buenos en la intención matemática y malos en la aritmética matemática. MathKernel invierte la división del trabajo: el modelo analiza, planifica e interpreta; el kernel calcula y registra evidencia específica de cada afirmación. Algunas afirmaciones usan certificados independientes o verificaciones cruzadas; otras son cálculos exactos en un solo motor. El acuerdo entre motores por sí solo no es una prueba, y una sola etiqueta de confianza no reemplaza el paquete de evidencia.

alt text

Arquitectura

MathKernel es una capa de orquestación tipada más que un solucionador único. La fachada pública posee el análisis sintáctico, los contextos, la identidad de objetos, la persistencia, la composición de evidencia, la política de recursos y el seguimiento de derivaciones; los adaptadores de dominio poseen las matemáticas reales. Las capas de presentación están aguas abajo y no pueden cambiar silenciosamente la afirmación que se hace.

Python / MCP
    |
    v
MathKernel facade
    |-- parser + contexts + typed objects
    |-- execution/evidence contract
    |-- persistence + derivation graph
    |
    +--> symbolic / exact / certified / formal / numerical engines
    |
    +--> MathResult and derived mathematical objects
             |
             +--> MultimodalProjection
                     |--> mathkernel-viz
                     |--> mathkernel-sonify
                     +--> unified portable artifacts

Esta separación es deliberada: un renderizador puede presentar evidencia, pero no crea evidencia matemática más sólida simplemente produciendo un gráfico pulido o un artefacto de audio.

Matriz de características

DominioSuperficie de cómputoMotoresTecho de verificación / evidencia
Álgebra simbólicaparsear, sustituir, simplificar/expandir/factorizar, resolver, sistemasSymPySIMBÓLICO; la ascendencia de entrada puede reducirlo
Cálculodiferenciación, integración, límites, series, sumas, productosSymPySIMBÓLICO + condiciones
Transformadas integralesLaplace/Fourier/Mellin/Z bilateral, inversas, ROC y obligaciones de propiedadesadaptador de transformadas tipadas + SymPySIMBÓLICO; NUMÉRICO para ascendencia aproximada
Análisis complejoramas/dominios, ceros/singularidades, residuos, series de Laurent, contornos, principio del argumento, continuación, mapas conformesadaptador complejo tipado + SymPyIdentidades definitorias SIMBÓLICAS; certificados de índice EXACTOS solo para geometría exacta, limitados por ascendencia en otros casos
Probabilidad continuadistribuciones univariadas/conjuntas/condicionales tipadas, transformaciones, marginales, Bayes, covarianza, divergencia, estadísticos de ordenadaptador de probabilidad tipado + SymPyEvidencia SIMBÓLICA de normalización/identidad; inexistencia matemática retenida
Grafos exactosgrafos simples/dirigidos/ponderados/multigrafos tipados, recorridos, componentes, caminos más cortos, MST, flujo máximo/corte mínimo, emparejamiento bipartito, circuitos de Euler, coloración, orden topológico, ciclos, centralidad, isomorfismoalgoritmos deterministas exactos de grafos sobre Fraction + núcleos de recorrido CSR njitCertificados testigo EXACTOS; la optimalidad NP-difícil es ÓPTIMO/CANDIDATO/IMPOSIBLE/DESCONOCIDO, nunca inexistencia heurística
Combinatoria exactaclases combinatorias, conteos exactos, generación perezosa, funciones generadoras ordinarias/exponenciales, recurrenciasenumeración exacta de enteros/Fraction + SymPy + núcleos de recurrencia njit verificadosConteos EXACTOS y verificaciones de recurrencia/coeficientes
Álgebra finitagrupos finitos, grupos de permutaciones, grupos abelianos, homomorfismos, Z/nZ, GF(p^m), módulos, formas normales de Smith/Hermiteálgebra exacta + combinatoria de SymPy + núcleos Cayley/GF(p)[x] njitCertificados EXACTOS de axiomas, homomorfismos, irreducibilidad y forma normal
Álgebra linealdeterminante, inversa, multiplicar, rango, RREF, valores propios, soluciones exactasSymPyEXACTO para aritmética exacta; de otro modo limitado por ascendencia
Razonamientoplanificación de DAG de obligaciones, equivalencia, contraejemplosSymPy + Z3 + LeanSIMBÓLICO / EXACTO / FORMAL según verificador
Numérica certificadaevaluación de precisión arbitraria y envolturas de intervalosmpmath + mpmath.ivNUMÉRICO CERTIFICADO o NUMÉRICO
Enterosprecisión arbitraria, mcd/mcm, primalidad, factorización, CRT, aritmética modularexacto + numba por lotesEXACTO
Generación de códigoemisión TypeScript/Python/Rust, verificación de tipos, round-trip simbólico, sandboxcompiladores + SymPyVerificación SIMBÓLICA; nunca más fuerte que la fuente
Campos binariosaritmética/construcción GF(2^m) e irreducibilidad de Rabinnúcleos njit de n-limbosCertificados EXACTOS
Álgebra lineal GF(2)rango, espacio nulo, potencias, Berlekamp–Massey, columnas sin acarreoenteros empaquetados en bitsEXACTO
Transformadas discretasFWHT exacto con respaldo de bigintnumbaEXACTO
Dinámica finitatransferencia de Koopman/observación, visibilidad, tensores rezagados, diagnósticosexacto + NumPy/CuPyEXACTO o NUMÉRICO, seleccionado explícitamente
Tensores de Markov ramificadosárboles de Markov finitos enraizados arbitrarios, leyes de hojas/cumulantes exactas, certificados de aplanamiento de aristas verdaderas, observaciones estocásticas de hojas, transferencia de rango de canal, recuperación exacta y fusión colectiva de sensoressuma-producto/enumeración exacta de Fraction + diagnósticos SVD de NumPyIdentidades algebraicas/ranos/recuperación EXACTAS; evidencia NUMÉRICA de valores singulares y condicionamiento mantenida por separado
Detectabilidad de relaciones conectadasleyes puras de interacción conectada, visibilidad de modos estocásticos, espectros de esperanza condicional, retención exacta chi-cuadrado/Fisher, certificados de invisibilidad, cotas finitas de muestra y fusión de sensoresleyes exactas de Fraction + SVD ponderado de NumPy + validación exacta de razón de verosimilitud binomialIdentidades EXACTAS de transferencia/información y cotas inferiores/superiores; las verificaciones Monte Carlo EMPÍRICAS permanecen etiquetadas por separado
Visibilidad de subespacios de relacionestransferencia de Gram de Fisher multi-relación, espectros de visibilidad generalizados, certificados de colisión de combinación ciega, diseño de sensores con restricción de costo, particiones empíricas y corrección de covarianza de largo plazoálgebra de probabilidad finita + sistemas propios generalizados ponderados de NumPy + enumeración exacta finita de sensoresIdentidades EXACTAS de transferencia local/procesamiento de datos/colisión; los espectros NUMÉRICOS y las verificaciones EMPÍRICAS de dependencia/SkewDB retienen alcance explícito
Geometría de información de observaciones intrínsecastangentes de Fisher de símplex finito, espectros de información retenida invariantes de coordenadas, transferencia local exacta de chi-cuadrado, cotas inferiores de prueba en la peor dirección, cotas superiores finitas de Bhattacharyya, bootstrap de espectro iid/bloque/clúster, adaptador SkewDB de resolución localálgebra de probabilidad finita + sistemas propios generalizados ponderados + validación binomial exacta de SciPy + remuestreo con semillaIdentidades EXACTAS de tangente finita/procesamiento de datos/divergencia y cotas finitas de prueba simple; los sistemas propios NUMÉRICOS y las verificaciones EMPÍRICAS de incertidumbre permanecen etiquetadas por separado
Inferencia de relaciones compuestasuna prueba de subespacio de relaciones independiente de dirección, cota finita consciente de dimensión, geometría de Fisher eficiente en molestias, regiones de espacios propios, bootstrap studentizado/de bloque, diagnósticos HAC y de especificación erróneaálgebra de Fisher finita + sistemas propios de NumPy + calibración chi-cuadrado opcional de SciPy + remuestreo con semillaIdentidades EXACTAS de molestias/procesamiento de datos y garantía de puntuación acotada conservadora; la calibración compuesta ASINTÓTICA y las verificaciones EMPÍRICAS de bootstrap/dependencia están etiquetadas
Fourier finitocálculos ciclotómicos de DFT/transferencia/coeficiente/órbitaexacto + FFT de NumPyEXACTO o verificación cruzada NUMÉRICA
Búsqueda de cierresrelaciones de cierre irreducibles cíclicas/XORencuentro en el medio njitEvidencia EXACTA de testigo/exhaustiva
Dinámica condicionadaacceso a órbitas, cociclos, cierres y síntesis de simetríaenumeración exacta + reescritura canónicaTestigos EXACTOS
Cumulantesmomentos/cumulantes y estadísticos de muestra conectadosexacto + NumPyÁlgebra EXACTA o muestras EMPÍRICAS
Conjuntos y lógicaálgebra de conjuntos, pertenencia, verdad cuantificada y eliminaciónconjuntos de SymPy + Z3Testigos SMT EXACTOS donde se establecen
Álgebra polinomialbases de Gröbner, división, resultantes, factorización, pertenencia a idealesalgoritmos polinomiales exactos de SymPyCertificados algebraicos EXACTOS
Probabilidad discretavariables aleatorias racionales, Bayes, cantidades de Markov, muestreo con semillaFraction + NumPyDistribuciones EXACTAS; muestreo EMPÍRICO
Estadística y sistemas estocásticosmuestras tipadas, GLMs, inferencia de rango/remuestreo, análisis de supervivencia/series temporales; leyes de Poisson/Wiener/GP/CTMC; SDEs de Itô tipadas, caminos de Euler–Maruyama/Milstein escalar y estudios de convergencia acopladosadaptadores tipados estadísticos/supervivencia/series temporales/estocásticos/SDE + SymPy + NumPy/SciPy/mpmathLas identidades EXACTAS permanecen separadas de los ajustes/condicionamientos/exponenciales NUMÉRICOS etiquetados y del remuestreo/simulación EMPÍRICO con semilla; sin validez implícita de proceso/modelo, teorema de convergencia, inferencia poblacional o causalidad
Tensorestensores dispersos, contracción y soluciones dispersasexacto + njit + CuPyEXACTO o NUMÉRICO según la ruta aritmética
EDOs / EDPsclasificación simbólica de EDOs/dsolve; solucionadores numéricos de PVI/EDPs nombradas; sistemas de EDPs tipados, formas débiles, mallas de símplex orientadas, espacios P1, ensamblaje disperso, soluciones algebraicas verificadas, indicadores de residuo-salto, marcado, refinamiento conforme, transferencia nodal y tasas de estimador observadasadaptadores tipados de EDP/FEM/adaptividad + SymPy + SciPy disperso + mpmath + njit + CUDA/CuPylos estimadores y las tasas empíricas retienen ascendencia y nunca se convierten en cotas continuas rigurosas o teoremas de convergencia
Optimizaciónpuntos críticos, KKT, LP exacto, no lineal numérico/multi-inicioFraction + njit + pool de procesosCertificados LP EXACTOS o candidatos NUMÉRICOS
Unidadesdimensiones SI, conversiones racionales y propagación de unidades semánticasFraction exactoEXACTO
Aseguramientoobligaciones de intervalos, reproducción en Lean, bolas de Arb, persistencia y fuzzingmpmath.iv + flint + LeanNUMÉRICO CERTIFICADO / FORMAL / evidencia diferencial
Demostración de teoremascartera SMT y certificados de LeanZ3 + LeanTestigo SMT EXACTO o prueba FORMAL verificada por núcleo
Barridos exhaustivosbúsquedas de Collatz y cuboidesnumba + CUDA + pools de procesosEXACTO solo cuando la cobertura es exhaustiva
Trabajos asíncronosenviar/estado/resultado/listar con recuperación que preserva evidenciapool de trabajosPreserva la evidencia subyacente
Visualizaciónartefactos matemáticos interactivos/estáticos independientes del renderizadorSVG de Python + three.js incluidoSin nueva evidencia; preserva la confianza de la fuente
Sonificaciónmapeos de audio científico declarativos y WAV deterministaPCM de Python + WebAudioSolo observación candidata
Artefactos multimodalesensamblaje sincronizado de artefactos visuales/auditivosesquema compartido de artefactosReclamación/evidencia incluida más débil
Geometría diferencialvariedades, cartas orientadas, métricas, mapas de coordenadas, campos tensoriales, formas, curvatura, derivadas covariante/Lie/exterior, operaciones de cuña/interior/retroceso/Hodgeadaptador de geometría tipado + SymPyIdentidades SIMBÓLICAS con dominios explícitos, jacobianos, firma y ascendencia; la entrada numérica permanece NUMÉRICA
Geometría computacionalpuntos/conjuntos concretos, polígonos, politopos de semiespacios, triangulaciones, envolvente, contención, intersección, vecino más cercano, Delaunay y Voronoideterminantes exactos de SymPy + filtros de coma flotante adaptativosTopología EXACTA para coordenadas exactas; NUMÉRICO solo cuando los filtros deciden; de otro modo resultado AMBIGUO explícito
Topología algebraicacomplejos de cadenas simpliciales/cúbicas/integrales finitos, conversión exacta de triangulaciones, fronteras orientadas, característica de Euler, homología sobre Z/Q/GF(p)matrices enteras exactas + forma normal de Smith certificada + eliminación racional/modularCertificados EXACTOS de cierre de caras, frontera², rango-nulidad, cociente, torsión y Euler–Poincaré

Superficie de funcionalidad tipada

Las herramientas MCP genéricas math_object_create, math_object_get y math_apply exponen las siguientes operaciones composicionales. Este es el inventario completo de operaciones tipadas; math_capability_query es la fuente viva de esquemas de parámetros, tipos de salida, límites, motores y métodos de verificación.

DominioObjetoOperaciones
Transformadas integralesTransformProblemapply, solve, verify
Análisis complejoComplexFunctionanalytic_continuation, analyticity, argument_principle, classify_singularity, conformal_at, conformal_map, contour_integral, derivative, laurent_series, residue, singularities, zeros
Análisis complejoContourwinding_number
Probabilidad continuaDistributioncdf, characteristic_function, convolve, cross_entropy, entropy, expectation, kl_divergence, mean, mgf, mixture, moment, order_statistic, pdf, quantile, query, survival, truncate, variance, verify
Probabilidad continuaJointDistributionbayes, condition, correlation, covariance, marginal, order_statistic, verify
Probabilidad continuaConditionalDistribution, RandomVariablecondicional cdf/mean/pdf/variance/verify; variable aleatoria transform
Grafos exactosGraph, MultiGraphbfs, centrality, coloring, connected_components, cycle_detection, dfs, euler_path, matching, shortest_path, verify; Graph también tiene isomorphic_to
Grafos exactosDirectedGraphbfs, centrality, cycle_detection, dfs, shortest_path, strongly_connected_components, topological_sort, verify
Grafos exactosWeightedGraphbfs, centrality, coloring, connected_components, cycle_detection, dfs, euler_path, matching, maximum_flow, minimum_cut, minimum_spanning_tree, shortest_path, strongly_connected_components, topological_sort, verify
CombinatoriaCombinatorialClass, GeneratingFunctionclase count/generate/verify; función generadora coefficient/recurrence/verify
Grupos finitosFiniteGroupcenter, centralizer, closure, commutator_subgroup, conjugacy_classes, cosets, generated_subgroup, normality, orbits, order, quotient, stabilizers, subgroups, verify
Grupos finitosPermutationGroupcontains, orbits, order, stabilizer_chain, stabilizers, verify
Grupos finitosFiniteAbelianGroup, GroupHomomorphismabeliano order/verify; homomorfismo image/kernel/verify
Álgebra finitaFiniteRing, FiniteFieldadd, inverse, multiply, verify
Álgebra finitaModuleabelian_group, hermite_normal_form, smith_normal_form, verify
SeñalesContinuousSignal, DiscreteSignalcontinua sample; discreta autocorrelation, convolution, correlation, cross_spectrum, dft, resample, stft, window
SeñalesSpectrum, Filter, FilterDesign, FilterStateespectro idft; filtro apply_signal/initial_state/to_transfer_function; diseño design; estado process
ControlTransferFunctionbode, feedback, frequency_response, impulse_response, nyquist, poles, root_locus, series, stability, step_response, to_filter, to_state_space, to_zero_pole_gain, zeros
ControlStateSpaceSystembode, coefficient_units, controllability, discretize, finite_lqr, frequency_response, kalman, kalman_state, lqg, lqr, mpc, nyquist, observability, observer, place_poles, poles, stability, state_feedback, to_discrete_control, to_transfer_function, zeros
ControlDiscreteControlSystembode, controllability, frequency_response, nyquist, observability, poles, stability, to_state_space, to_transfer_function, zeros
ControlZeroPoleGain, TransferMatrixZPK bode/nyquist/poles/to_transfer_function/zeros; matriz entry
Control secuencialFiniteHorizonLQR, KalmanState, MPCPlanLQR control/rollout/verify; Kalman predict/update; MPC first_control/verify
OptimizaciónOptimizationProblemcertify_milp, solve, to_conic, verify_certificate, verify_milp_certificate
OptimizaciónConicProblem, QuadraticallyConstrainedProblemsolve, verify_certificate
Geometría diferencialMetricinverse_metric, christoffel, riemann, ricci, scalar_curvature, einstein, geodesic_equations
Geometría diferencialCoordinateMapjacobian, verify
Geometría diferencialTensorFieldcovariant_derivative, lie_derivative
Geometría diferencialDifferentialFormwedge, exterior_derivative, interior_product, pullback, hodge_star
Geometría computacionalPointdistance_to
Geometría computacionalPointSetorientation, incircle, segment_intersection, convex_hull, nearest_neighbor, delaunay, voronoi
Geometría computacionalPolygonverify, contains, intersection, triangulate
Geometría computacionalPolytopeverify, contains
Geometría computacionalTriangulationverify, to_simplicial_complex
Topología algebraicaSimplicialComplex, CubicalComplexverify, chain_complex, boundary_matrix, homology
Topología algebraicaChainComplexverify, boundary_matrix, homology, euler_characteristic
Evidencia estadística e inferenciaStatisticalSampledescribe, covariance, empirical_distribution, evidence_profile, mann_whitney, wilcoxon, kruskal_wallis, ks_2samp, spearman, kendall, permutation_test, bootstrap
Análisis de supervivenciaSurvivalDatasetverify, kaplan_meier
Análisis de supervivenciaKaplanMeierEstimateverify, survival_at
Análisis de supervivenciaCoxProportionalHazardsModelverify, fit
Análisis de supervivenciaCoxPHFitverify, diagnostics, predict_partial_hazard
Series temporalesTimeSeriesDatasetverify, acf, pacf, stationarity_test
Series temporalesTimeSeriesAnalysisverify
Series temporalesTimeSeriesModelverify, fit
Series temporalesTimeSeriesFitverify, diagnostics, forecast
Series temporalesTimeSeriesForecastverify
Procesos estocásticosPoissonProcessverify, pmf, moments, increment_distribution
Procesos estocásticosWienerProcessverify, finite_dimensional, increment_distribution
Procesos estocásticosGaussianProcessverify, finite_dimensional, condition
Procesos estocásticosContinuousTimeMarkovChainverify, transition_matrix, distribution, stationary_distribution
Resultados de procesos estocásticosFiniteDimensionalDistribution, GaussianProcessPosterior, CTMCTransitionverify
Ecuaciones diferenciales estocásticasStochasticDifferentialEquationverify, simulate, convergence_study
Simulaciones de EDESDESimulationverify, path, terminal_values
Convergencia de EDESDEConvergenceStudyverify
Modelos lineales generalizadosGeneralizedLinearModelverify, fit
Modelos lineales generalizadosGLMFitverify, diagnostics, predict
Resultados no paramétricosNonparametricTestResult, ResamplingResultverify
Ecuaciones diferenciales parcialesPDEProblemverify, classify, boundary_compatibility, derive_weak_form
Resultados de EDPPDEClassification, PDECompatibilityReportverify
Formulaciones débilesWeakFormverify
Malla de elementos finitosFEMMeshverify, reference_element, finite_element_space
Elemento de referenciaReferenceElementverify, basis, quadrature
Resultados de elementos finitosBasisFunctionSet, QuadratureRule, FiniteElementSpaceverify
Álgebra de FEMAssembledSystemverify, solve
Solución de FEMFEMSolutionverify, estimate_error
Estimación de error de FEMFEMErrorEstimateverify, mark, compare
RefinamientoRefinementMarkingverify, refine
Malla refinadaRefinedMeshverify, reference_element, finite_element_space
Transferencia de malla / convergenciaMeshTransfer, FEMConvergenceObservationverify

Los objetos fuente usan el mismo límite: objetos de transformada/complejo/probabilidad, grafos y estructuras combinatorias, grupos/anejos/campos/módulos finitos, señales/filtros/sistemas de control, problemas de optimización, y ManifoldChartMetric/CoordinateMap/TensorField/DifferentialForm, además de Point/PointSet/Polygon/Polytope/Triangulation, y finitos SimplicialComplex/CubicalComplex/integral ChainComplex, y observaciones StatisticalSample tipadas, especificaciones GeneralizedLinearModel, y fuentes de supervivencia SurvivalDataset/CoxProportionalHazardsModel, además de fuentes de tiempo ordenado TimeSeriesDataset/TimeSeriesModel, y fuentes de ley de proceso PoissonProcess/WienerProcess/GaussianProcess/ContinuousTimeMarkovChain, modelos Itô StochasticDifferentialEquation, y ecuaciones/dominios/condiciones PDEProblem estructurados. NonparametricTestResult, ResamplingResult, KaplanMeierEstimate, GLMFit, y CoxPHFit son registros solo derivados, vinculados a la fuente, con reproducción determinista exacta, numérica o de flujo sembrado. TimeSeriesAnalysis, TimeSeriesFit, y TimeSeriesForecast, FiniteDimensionalDistribution, GaussianProcessPosterior, y CTMCTransition siguen el mismo límite de reproducción solo de salida. PDEClassification, PDECompatibilityReport, y WeakForm reproducen su resultado de parte principal, traza representada o identidad débil completa del problema fuente. FEMMesh vincula esa forma débil y una triangulación verificada opcional. ReferenceElement, BasisFunctionSet, QuadratureRule, y FiniteElementSpace son solo de salida con ascendencia reproducible de fuente única o múltiple. AssembledSystem retiene contribuciones locales y globales dispersas además de sus fuentes de espacio/cuadratura; FEMSolution solo de salida retiene la fuente exacta del sistema ensamblado y diagnósticos de solucionador reproducibles. Los registros solo de salida G.5 FEMErrorEstimate, RefinementMarking, RefinedMesh, MeshTransfer, y FEMConvergenceObservation retienen la cadena completa de solución a malla hija, política de marcado, celdas padre/hijo, pesos de interpolación y entradas de tasa empírica. SDESimulation y SDEConvergenceStudy además reproducen sus flujos PCG64 y discretizaciones. Los tipos solo derivados no pueden forjarse mediante entrada pública.

Instalación

pip install mathkernel           # Python mathematical core
pip install 'mathkernel[mcp]'    # add the optional MCP transport

Desde un checkout del código fuente:

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e .           # Python mathematical core
pip install -e '.[mcp]'  # add the optional MCP transport

Extras opcionales:

pip install -e '.[perf]'    # numba — JIT kernels (sieves, GF(2^m), FWHT, closure search)
pip install -e '.[cuda]'    # CuPy + all nvidia-*-cu12 runtime libraries (RTX-class GPU)
pip install -e '.[latex]'   # antlr4 runtime for math_parse_latex
pip install -e '.[dev]'     # pytest

Lean 4 + Mathlib se instala por defecto en el primer inicio de mathkernel-mcp y a través de mathkernel-lean-setup (elan + un lake workspace fijado). Omítelo con MATHKERNEL_SKIP_LEAN_INSTALL=1 (prueba rápida de CI/wheel).

Nota sobre GPU: Los wheels de CuPy no incluyen librerías CUDA. El extra cuda instala los paquetes pip de nvidia-*-cu12 correspondientes — sin ellos, las cargas de DLL de cuBLAS/NVRTC fallan incluso aunque import cupy tenga éxito. La disponibilidad de GPU se comprueba en tiempo de ejecución con una multiplicación de matrices real, por lo que una pila rota degrada con elegancia a CPU. Verifica tu pila con python scripts/gpu_smoke.py.

Inicio rápido — servidor MCP

mathkernel-mcp

El servidor habla MCP sobre stdio (FastMCP 3) y envía instrucciones principales al cliente en el momento de la inicialización: descubrir → parsear → contexto → disciplina de confianza → trabajos asíncronos → procedencia. 162 herramientas, todas con prefijo math_.

Sesión típica de agente:

math_capabilities                                   # discover surface, limits, engines
math_parse("x^2 - 3*x + 2 = 0")                     # -> expr_id
math_context_create(domains={"x": "real"})          # -> context_id
math_reason(expr_id, context_id, formal=true)       # solve + independently verify
math_derivation_trace(step_id)                      # full provenance on demand

Los barridos de larga duración son asíncronos:

math_job_submit("collatz", {"n_max": 14})  ->  math_job_status(job_id)  ->  math_job_result(job_id)

Inicio rápido — biblioteca de Python

El servidor MCP es una capa de transporte delgada; todo está disponible en proceso:

from mathkernel import MathKernel

kernel = MathKernel()

# symbolic
r = kernel.parse("x^2 - 2 = 0")
sol = kernel.solve(r.data["expr_id"], "x")
assert sol.ok and sol.trust.value == "symbolic"

# exact GF(2^m) field arithmetic
f = kernel.gf2m_create(8, "1b")  # AES polynomial x^8 + x^4 + x^3 + x + 1 (hex reduction part)
kernel.gf2m_compute(f.data["field_id"], "mul", ["53", "ca"])

# finite dynamics: an explicit eight-state cyclic permutation
transition = [1, 2, 3, 4, 5, 6, 7, 0]
fs = kernel.finite_system_create("uniform", transition)
km = kernel.koopman_matrix(fs.data["system_id"], {"kind": "walsh", "r": 3})
vis = kernel.koopman_visibility(fs.data["system_id"], {"kind": "walsh", "r": 3})
# Exact zeros certify the requested modes in this declared finite model.

# closure relations (njit meet-in-the-middle)
kernel.closure_search("cyclic", m="97", weight_bound=10, multipliers=["1", "5"])

Módulos independientes (mathkernel.gf2m, mathkernel.koopman, mathkernel.relations, mathkernel.cumulants, mathkernel.finite_fourier, mathkernel.transforms, mathkernel.integral_transforms, mathkernel.complex_analysis, mathkernel.continuous_probability, mathkernel.integers, mathkernel.computational_geometry, mathkernel.algebraic_topology, mathkernel.collatz, mathkernel.cuboid) son utilizables sin la fachada cuando no necesitas seguimiento de derivación.

Modelo de confianza

formal                  Lean certificate accepted by the Lean kernel
exact                   exact computation / checked claim-specific certificate
symbolic                symbolic engine agreement (e.g. SymPy residual checks)
interval_certified      rigorous enclosure (mpmath interval)
numeric_high_precision  arbitrary-precision numeric
numeric                 float evidence (incl. GPU fast paths)
empirical / heuristic / unknown

La confianza general está limitada por la evidencia más débil requerida para establecer el resultado reclamado — nunca la confianza máxima emitida por un solo nodo. El desacuerdo independiente entre backends se conserva como un conflicto explícito, no se promedia.

Cada MathResult también lleva un evidence_bundle con evidencia separada de cálculo, prueba, certificado, numérica, de modelo y empírica. claim_evidence retiene esos paquetes por conclusión en lugar de aplanar afirmaciones diferentes en una sola puntuación. El campo heredado trust sigue siendo un resumen conservador y se limita automáticamente por la evidencia requerida para el resultado. Un justified_trust proporcionado por el productor es un techo, nunca una anulación; una prueba o certificado no verificado soporta solo unknown.

Los estados semánticos distinguen la fuerza de la prueba o certificación de los resultados matemáticos como does_not_exist, undefined, infeasible y unsupported. Estas distinciones sobreviven a la serialización MCP, la recuperación de trabajos asíncronos, la reproducción de derivaciones, la visualización y el ensamblaje de artefactos multimodales.

El registro de capacidades separa los niveles de confianza anunciados de los métodos de verificación. Consúltalo por dominio, tipo de entrada/salida, operación, nivel de confianza, método de verificación o motor; los registros de capacidad también identifican su manejador de ejecución y dimensiones de costo significativas. Los planes de expresión registran la ruta de capacidad resuelta antes de que el ejecutor de obligaciones existente la ejecute.

Las rutas exactas y numéricas están estrictamente separadas: las herramientas de koopman/dinámica finita usan por defecto exact=true (valores racionales/ciclotómicos de grado de prueba); exact=false selecciona la ruta numérica vectorizada (GPU CuPy cuando es utilizable) y degrada la confianza a numeric.

Los literales decimales son observaciones aproximadas. Un decimal (RealNode) en cualquier parte de una expresión limita su confianza a numeric desde parse en adelante — 0.1 + x se parsea como numeric, 1/2 + x como symbolic. Los certificados formales (Lean) y los contraejemplos exactos de SMT se rechazan para entradas aproximadas, porque los backends codificarían la sintaxis decimal como racionales exactos — probando silenciosamente una afirmación diferente. Usa racionales exactos o certificación por intervalos cuando se necesite evidencia de grado de prueba.

Matemática simbólica continua

Los dominios continuos usan objetos tipados y el modelo composicional object_createapply en lugar de exponer una superficie CAS plana. Cada operación registra un DAG de cuatro obligaciones: validación de entrada tipada, cálculo de candidatos, verificación de invariantes de dominio y reconciliación de evidencia conservadora.

  • Transformadas integrales — Transformadas de Laplace, Fourier, Mellin y Z bilateral con convenciones explícitas, suposiciones y regiones de convergencia. La Z inversa usa extracción de Laurent/residuos consciente del anillo cuando está justificada. La verificación registra obligaciones de ida y vuelta, linealidad, convolución, diferenciación, teorema de valores y ROC por separado; las obligaciones no resueltas permanecen como unknown.
  • Análisis complejo — derivadas, candidatos de analiticidad, ceros, singularidades, series de Laurent, residuos, integración de contornos, números de enrollamiento, contabilidad del principio del argumento, continuación de identidad conservadora y mapas conformes conscientes del dominio. Las convenciones de ramas, cortes, puntos excluidos, orientación de contornos e incidentes de frontera permanecen explícitos.
  • Probabilidad continua — distribuciones tipadas univariadas, de variables aleatorias, conjuntas y condicionales; PDF/CDF/supervivencia/cuantil, momentos, transformadas, entropía, truncamiento, convolución, mezclas, divergencia, marginales, condicionamiento/Bayes, covarianza/correlación y estadísticas de orden. El soporte, las restricciones de parámetros, los jacobianos y las ramas inversas se conservan.

La disponibilidad simbólica es evidencia candidata, no prueba independiente. Las identidades del mismo motor están limitadas a symbolic; la ascendencia decimal permanece limitada a numeric. does_not_exist (por ejemplo, una media de Cauchy) es distinto de un método no soportado o una pregunta de convergencia no resuelta.

Las convenciones y suposiciones son parte del objeto. El signo y la normalización de Fourier, las variables de origen/destino de la transformada, las ramas/cortes complejos, los soportes de probabilidad y las restricciones de parámetros nunca se seleccionan silenciosamente. La orientación del contorno y el cálculo de singularidades son obligatorios donde el teorema depende de ellos.

La verificación es específica de la operación. Las transformadas conservan cada obligación de identidad y ROC verificada o no resuelta. Los residuos se comparan con fórmulas de límite/derivada definitorias o coeficientes de Laurent; las afirmaciones de contorno conservan singularidades encerradas, cortes y números de enrollamiento. La probabilidad verifica la normalización, la no negatividad consciente del soporte, los límites/derivada/monotonicidad de CDF cuando es decidible, y las ramas jacobianas. Estos son verificaciones simbólicas a menos que un certificado exacto o un registro numérico separado diga lo contrario.

Los fallos usan estados semánticos: candidate, unknown, unsupported, does_not_exist y error son distintos. Las limitaciones conocidas incluyen soportes conjuntos no productivos, continuación sin un dominio fuente superpuesto explícito, entradas del principio del argumento sensibles a ramas, transformadas cuyo ROC SymPy no puede establecer, y cambios generales multivariados de variables sin ramas/jacobianos inversos proporcionados.

El trabajo simbólico continuo está limitado por los límites globales de AST/salida/tiempo de solver y límites dedicados de contorno, dimensión conjunta, componentes de mezcla, orden de serie, estadística de orden y ramas inversas. Aumenta el valor de MATHKERNEL_MAX_* correspondiente explícitamente cuando una solicitud más grande es intencional.

# PDF → Laplace transform, preserving support and evidence ancestry
d = kernel.object_create("Distribution", {
    "family": "exponential", "parameters": ["2"], "variable": "x",
})
r = kernel.apply(d.data["object_id"], "integral_transform", {
    "transform": "laplace",
    "transform_variable": "s",
    "convention": "laplace_standard",
})
assert r.data["value"] == "2/(s + 2)"

Dinámica finita y análisis de PRNG

Una capacidad distintiva: análisis espectral exacto de sistemas dinámicos finitos (X, μ, T, O) — construido para (y validado en) el análisis de estructura de PRNG.

  • Suite Koopman — matriz de transporte Q, transferencia de observación C, visibilidad de modos ρ_O, tensores de estado rezagado (crudos/conectados), estadísticas observadas, diagnósticos IPR/entropía. Bases de Walsh para GF(2)^r, bases de caracteres para Z_M.
  • Transferencia de observación estocástica (API de biblioteca) — contracciones exactas FiniteJointLaw para leyes conjuntas latentes finitas arbitrarias; momentos/cumulantes de caminos Markov ordenados con los operadores de multiplicación requeridos; certificados de defecto de multiplicatividad por estado; y dilataciones deterministas exactas con ruido finito para núcleos Markov racionales. El piloto publicado de cuartetos de primates acompañante registra deliberadamente que el diagnóstico previo de división cero K3ST no sobrevive fuera de sus supuestos basados en grupos.
  • Tensores Markov generales ramificados (API de biblioteca) — leyes de suma-producto y cumulantes exactos FiniteMarkovTree en árboles enraizados heterogéneos; certificados exactos de aplanamiento de aristas L M R con el límite agudo de rango de transición; canales de observación estocásticos locales como transformadas de Kronecker; recuperación exacta de inversa izquierda, testigos de colisión, fusión de sensores colectiva y límites de valores singulares condicionados al canal. El piloto de primates publicado distingue la identificabilidad algebraica de la estabilidad de muestra finita.
  • Inferencia filogenética estadística (API de biblioteca) — proyección al simplex de probabilidad; EM de canal conocido y recuperación ridge restringida; selección de regularización por validación retenida; covarianza multinomial e información de Fisher en el espacio tangente; verosimilitud multinomial de rango no negativo; diagnósticos de rango de covarianza-Wald; y puntuación de cuartetos segura ante empates. Experimentos controlados GM(4) cuantifican el origen compartido de valores singulares de la pérdida de visibilidad y la inestabilidad inversa. Dos pilotos fijos de datos publicados añaden comprobaciones de arranque por sitios y bloques móviles sin reclamar precisión competitiva amplia.
  • Evaluación comparativa filogenética congelada (API de biblioteca) — ingesta de FASTA, PHYLIP relajado, NEXUS práctico y Newick; manifiestos SHA-256 portátiles de fuente; protocolo canónico y bloqueos de corpus; muestreo de cuartetos ciego a resultados a partir de divisiones de árboles de referencia; procedencia de sitios de casos completos; remuestreo de sitios, bloques circulares, estratificado por particiones y de partición completa; líneas base de rango-cola, distancia p y log-det normalizado; y resúmenes de corpus seguros ante empates. La ejecución incluida evalúa 22 unidades correlacionadas predeclaradas de dos alineamientos fuente publicados y una cuadrícula de estrés de verdad conocida de 1,920 alineamientos. Un bloqueo separado fija los primeros 20 conjuntos de datos BenchmarkAlignments elegibles antes de la adquisición; ese corpus externo está explícitamente pendiente en lugar de ser reemplazado silenciosamente.
  • Detección de relaciones conectadas observables (API de biblioteca) — leyes de interacción pura exactas y numéricas; espectros singulares de esperanza condicional ponderada; visibilidad estocástica específica de modos; transferencia exacta de amplitud conectada por canal local; retención de información chi-cuadrado y Fisher nula; certificados exactos de invisibilidad; cotas de muestra necesarias finitas y suficientes constructivas; escalado de paridad binaria; y fusión de sensores complementarios. El teorema controlado muestra que las pérdidas de visibilidad local se multiplican en amplitud y se elevan al cuadrado en información, produciendo una ley de costo de detección s^(-2d) en la especialización binaria homogénea.
  • Visibilidad de subespacios de relación y diseño de sensores (API de biblioteca) — leyes de relación local finitas multiparamétricas; matrices de Fisher Gram latentes y observadas; valores propios generalizados de información retenida y direcciones principales de visibilidad; certificados exactos de colisión ciegos a observación; multiplicadores de información y muestra a nivel de dirección; selección de subconjuntos de sensores por rango, E-óptimo, traza, D-óptimo y pseudo-logdet; transferencia de partición empírica eficiente; y corrección de media de puntuación por covarianza de largo plazo. Un adaptador SkewDB congelado añade auditoría de fuente/esquema, divisiones de descubrimiento/validación/desafío por taxonomía retenida, preprocesamiento solo de descubrimiento, hash de fuente y un ejecutor de datos crudos de cierre ante fallos. El fixture SkewDB incluido es explícitamente sintético porque la carga completa actual no se adquirió en este entorno.
  • Geometría de relaciones invariante a coordenadas (API de biblioteca) — vectores tangentes de simplex finito con la métrica de Fisher intrínseca; empuje hacia adelante tangente estocástico; valores propios generalizados de información retenida invariantes a coordenadas; equivalencia exacta de puntuación/tangente; transferencia chi-cuadrado local exacta; cotas de muestra necesarias minimax de peor dirección; conteos suficientes puntuales finitos de Bhattacharyya y basados en retención; e intervalos de arranque iid, de bloques móviles y de conglomerados para espectros de relaciones ordenados. Un adaptador SkewDB de resolución local bloqueado por SHA-256 convierte pistas acumulativas documentadas *_fit.csv en incrementos de ventana y separa explícitamente las entradas genuinas del fixture generado parametrizado por fuente incluido.
  • Fourier finito — aritmética exacta en ℚ(ζ_L) mediante polinomios ciclotómicos: DFT sobre Z_M, transformadas de transferencia de salida, coeficientes de diferencia de dos puntos, transformadas de Fourier de medidas, correcciones de órbita.
  • Búsqueda de cierres — relaciones irreducibles cortas seleccionadas por la dinámica: cíclicas (Σ k_j·a^j ≡ 0 mod m) y binarias (⊕ (L^{jK})ᵀ w_j = 0), encuentro en el medio con cotas de peso L1/Hamming.
  • GF(2^m) a partir de transiciones — reconstruir el campo (base cíclica de doble órbita, polinomio mínimo/reducción, verificado por Rabin) puramente a partir de las columnas de transición GF(2)-lineales de un generador.
  • Dinámica condicionada por estado — acceso exacto a órbitas por estado T^κ(x)(x): resolución de rezago mínimo, conversión de simetría a acceso, composición de cociclos, pruebas exhaustivas de cierre aditivo, mapas de acceso afines simbólicos, resolución de órbitas GF(2) de pasos de bebé/pasos gigantes, cierres predictivos de rezago gigante dispersos y descubrimiento de simetrías restringidas donde la prueba numérica solo clasifica candidatos — las pruebas de reescritura canónica o exhaustivas deciden.

El árbol scripts/ contiene reproducciones uniformes de extremo a extremo para más de 25 generadores (familias xorshift/xoroshiro/xoroww, MT19937, Melg19937, WELL19937a, MRG32k3a, PCG32/64(+fast), LXM, SplitMix64, SFC64, JSF64, Romu, Philox, Threefry, RXS-M-XS), cada uno ejecutable desde cero con scripts/families/run_all.py y scripts/companion/run_all.py. Los datos de referencia se incluyen en scripts/data/ — no se requieren fixtures externos.

Matemáticas de ingeniería

MathKernel proporciona matemáticas de ingeniería tipadas para señales, sistemas de control y optimización con restricciones, preservando los mismos contratos de evidencia y persistencia que el núcleo simbólico.

Señales y espectros

Las señales continuas y muestreadas llevan dominios explícitos, cuadrículas de muestreo y unidades. Las representaciones espectrales están tipadas en lugar de tratarse como arreglos anónimos. Los filtros FIR/IIR y los diseños de filtros retienen coeficientes, convenciones y señales fuente, mientras que el estado de transmisión inmutable hace que el procesamiento bloque por bloque sea reproducible. Las operaciones de respuesta en frecuencia y en tiempo registran si usaron álgebra simbólica exacta o evaluación numérica.

Sistemas de control

Los modelos SISO y MIMO tipados admiten representaciones de espacio de estados y función de transferencia, conversión continua/discreta, polos y ceros, comprobaciones de estabilidad, discretización, construcción de controladores y construcción de observadores. El filtrado de Kalman LQR, LQR de horizonte finito, en estado estacionario, la composición LQG y los estados inmutables de predicción/actualización de Kalman retienen la ascendencia de planta/modelo y separan las comprobaciones algebraicas de los supuestos de modelado.

El MPC de horizonte finito con restricciones mantiene separadas las afirmaciones de factibilidad, optimalidad, invariancia terminal, factibilidad recursiva y estabilidad. El análisis en el dominio de la frecuencia incluye representaciones de Bode, Nyquist y lugar de raíces junto con respuestas temporales verificadas.

Optimización y certificados

Los programas lineales y cuadráticos pueden devolver testigos de optimalidad exactos/verificables donde el fragmento admitido lo permite. Los LP inviables pueden exponer certificados de Farkas y los problemas no acotados pueden exponer rayos de recesión. Los resultados de búsqueda MILP llevan árboles de prueba reproducibles en lugar de solo un valor incumbente. Los flujos de trabajo cónicos y de restricciones cuadráticas admiten conos de producto SOCP/SDP acotados y certificados de estilo lagrangiano en sus fragmentos declarados.

Los solucionadores candidatos nativos externos se aíslan en procesos nuevos con solicitudes acotadas y terminación por tiempo de espera estricto. La generación de candidatos y la verificación de certificados son pasos distintos: un solucionador que encuentra un punto no establece por sí mismo una afirmación más fuerte de lo que el verificador puede comprobar.

Geometría y topología

Geometría diferencial y cálculo tensorial

Los objetos inmutables Manifold, Chart y Metric alimentan salidas tipadas GeometryTensor, Connection y GeodesicSystem. Las operaciones métricas calculan métricas inversas, símbolos de Christoffel, curvatura de Riemann/Ricci/escalar/Einstein y ecuaciones geodésicas afines. Las comprobaciones simbólicas exactas cubren identidades inversas, libertad de torsión, compatibilidad métrica, simetrías de Riemann, la primera identidad de Bianchi y la identidad de Bianchi contraída. Los dominios de cartas y las condiciones de no degeneración métrica permanecen explícitos.

Los objetos direccionales CoordinateMap llevan jacobianos explícitos y comprobaciones de composición inversa. Los objetos densos TensorField conscientes de la varianza y los objetos dispersos canónicos DifferentialForm admiten derivadas covariantes y de Lie, productos cuña, derivadas exteriores, productos interiores, retrocesos y estrellas de Hodge. Las comprobaciones incluyen conmutatividad graduada, d²=0, conmutación de retroceso con d, compatibilidad métrica, composición de mapas de coordenadas y el signo de doble estrella de Hodge cuando se proporciona la firma métrica. La orientación y la firma nunca se adivinan.

Geometría computacional

Los objetos Point, PointSet, Polygon, de semiespacio Polytope, Triangulation y derivados VoronoiDiagram proporcionan predicados exactos de orientación, incírculo e intersección de segmentos, cascos convexos de cadena monótona, contención por enrollamiento, vecinos más cercanos exactos de distancia al cuadrado, recorte de orejas certificado, recorte de polígonos convexos, triangulación de Delaunay de circuncírculo vacío y duales de Voronoi finitos con rayos no acotados explícitos. Los predicados decimales usan filtros de error de punto flotante conservadores; cuando la topología no se puede establecer, el resultado es explícitamente ambiguo en lugar de promoverse a una clasificación exacta.

Topología algebraica

Los objetos finitos exactos SimplicialComplex, CubicalComplex e integrales ChainComplex expanden celdas a cierres de caras canónicos y derivan matrices de frontera orientadas. Los complejos verifican boundary[k-1] * boundary[k] = 0 antes de intentar la homología. homology calcula rangos libres y torsión entera sobre Z mediante reducciones certificadas de núcleo/cociente de Smith, y números de Betti exactos más ciclos representativos sobre Q o GF(p). boundary_matrix, chain_complex y euler_characteristic exponen bases ordenadas y la comprobación cruzada de Euler-Poincaré.

Las triangulaciones exactas verificadas se pueden convertir en complejos simpliciales canónicos y componerse directamente con operaciones de homología; las triangulaciones numéricas o refutadas no pueden cruzar ese límite de exactitud. La expansión de cierres está acotada antes de que el crecimiento combinatorio pueda exceder los límites de topología configurados. No se reivindican homología persistente, productos de cohomología ni inferencia de complejos infinitos/CW.

Estadística y modelado estocástico

Muestras y estadísticas descriptivas

StatisticalSample almacena una matriz rectangular no vacía de observaciones reales concretas finitas, etiquetas de variables únicas, identificadores de observación únicos opcionales y metadatos explícitos de muestreo/población/diseño. describe deriva momentos numéricos exactos o limitados por ascendencia y estadísticas de orden tipo 7; covariance deriva productos cruzados centrados con normalización de muestra o población; empirical_distribution preserva conteos de frecuencia exactos y probabilidades racionales; y evidence_profile audita el propio límite de evidencia. La evidencia requerida establece únicamente cálculos sobre las observaciones almacenadas. Los metadatos de muestreo, el respaldo empírico y los supuestos del modelo permanecen en registros de evidencia diagnóstica separados, mientras que la generalización poblacional y la validez del modelo siguen explícitamente sin establecerse. Se rechazan los valores faltantes, las observaciones simbólicas no resueltas y la imputación silenciosa. La entrada decimal no puede mejorar, los límites de recursos se verifican antes de trabajos costosos, y cada objeto derivado conserva su fuente a través de la persistencia y el reinicio.

Modelos lineales generalizados

Los objetos inmutables GeneralizedLinearModel se vinculan a muestras almacenadas y producen objetos GLMFit solo derivados. Los pares canónicos admitidos son Gaussiano/identidad, binomial/logit y Poisson/log. verify verifica el dominio de respuesta, el rango del diseño y los grados de libertad residuales; fit reporta coeficientes ordenados, covarianza/errores estándar, medias condicionales ajustadas, desviación, desviación nula, dispersión, convergencia, residual de puntuación y condicionamiento. Los ajustes admiten de forma independiente verify, diagnostics y predict.

Los modelos gaussianos de entrada exacta utilizan productos cruzados suficientes y ecuaciones normales exactas. Los ajustes gaussianos numéricos utilizan mínimos cuadrados float64 verificados; los ajustes logísticos y de Poisson utilizan IRLS float64 determinista. La deficiencia de rango, los dominios de respuesta inválidos o degenerados, la no convergencia, la información singular/mal condicionada y la separación completa/cuasi detectada fallan de forma cerrada sin un objeto de ajuste. No hay término de cresta, eliminación de filas, imputación o sustitución de familia/enlace en silencio. Las afirmaciones de coeficiente, covarianza, desviación y predicción permanecen condicionadas a la muestra/diseño almacenados; la validez del modelo, la generalización poblacional y los efectos causales no se infieren.

Pruebas no paramétricas, pruebas de permutación y bootstrap

Las muestras almacenadas admiten mann_whitney, wilcoxon, kruskal_wallis, ks_2samp, spearman y kendall, con rangos promedio explícitos y correcciones de empates. method="auto" realiza la enumeración completa exacta de signos/etiquetas/permutaciones solo cuando tanto el estado como las estimaciones de trabajo se ajustan a los límites configurados; de lo contrario, el resultado nombra su aproximación normal, chi-cuadrado, Kolmogorov o t de Student. Así, un valor p exacto es un cálculo nulo condicional exacto para las observaciones almacenadas, mientras que un valor p asintótico sigue siendo evidencia numérica sin un teorema de error de muestra finita.

permutation_test admite diferencias de media/mediana mediante enumeración exacta o Monte Carlo PCG64 con semilla explícita y valor p de suma uno. bootstrap admite intervalos percentiles de media/mediana con una semilla uint64 obligatoria, extracciones acotadas y lotes con límite de memoria. Los resultados simulados registran algoritmo aleatorio, semilla, número de extracciones y configuración de reproducción. La intercambiabilidad, el diseño de muestreo, la validez asintótica, la cobertura poblacional y la interpretación causal siguen siendo supuestos separados o afirmaciones no establecidas.

Análisis de supervivencia

SurvivalDataset almacena duraciones, indicadores de eventos binarios exactos, tiempos opcionales de entrada tardía y estratos opcionales dentro de una muestra estadística inmutable. kaplan_meier construye conjuntos de riesgo exactos y valores de producto-límite junto con errores estándar numéricos de Greenwood e intervalos log-log bilaterales. Las entradas multiestrato requieren un estrato explícito, y survival_at consulta la curva escalonada continua por la derecha.

CoxProportionalHazardsModel proporciona una superficie de Cox no estratificada con empates explícitos de Efron o Breslow. Su ajuste determinista de Newton float64 utiliza búsqueda de línea monótona y rechaza casos con deficiencia de rango, eventos escasos, no convergentes, singulares, sobrecondicionados o similares a separación. CoxPHFit registra coeficientes/razones de riesgo, covarianza/errores estándar, verosimilitud parcial, residual de puntuación, riesgo basal, concordancia y correlaciones temporales de Schoenfeld, con verificación de reproducción, diagnósticos y predicción de riesgo parcial acotada. La censura independiente, los riesgos proporcionales, la generalización poblacional y la causalidad siguen siendo supuestos o no establecidos.

Modelos de series temporales y pronósticos

TimeSeriesDataset preserva el orden de filas, columnas distintas de tiempo/valor, marcas de tiempo estrictas, política de rechazo de faltantes y espaciado regular detectado. acf de fuente exacta utiliza un denominador centrado común de retraso cero y pacf utiliza la recursión de Durbin–Levinson. stationarity_test proporciona una regresión ADF numérica de caso constante con valores críticos asintóticos nombrados en lugar de inventar un valor p exacto o afirmar que la estacionariedad está probada.

TimeSeriesModel cubre órdenes AR, MA, ARMA, ARIMA y GARCH, elección de constante, innovaciones gaussianas e inicialización. Los ajustes de la familia ARMA utilizan optimización acotada de suma de cuadrados condicional; GARCH utiliza verosimilitud gaussiana restringida con varianza positiva y persistencia inferior a uno. Los ajustes derivados registran coeficientes, series residuales/ajustadas, varianza condicional, raíces, verosimilitud, AIC/BIC y convergencia, con diagnósticos de Ljung–Box/Jarque–Bera. Los pronósticos derivan tiempos futuros regulares, medias recursivas e intervalos gaussianos utilizando respuestas de impulso ARIMA o recursión de varianza GARCH. El espaciado irregular puede analizarse pero no ajustarse.

Procesos estocásticos

Los objetos inmutables PoissonProcess, WienerProcess, GaussianProcess y ContinuousTimeMarkovChain exponen leyes de dimensión finita y artefactos derivados verificados. Las masas/momentos de conteo de Poisson y las medias/covarianzas de Wiener son simbólicos o exactos. Las leyes finitas de procesos gaussianos admiten núcleos RBF, Matérn-3/2, lineal y Browniano con verificaciones numéricas de PSD; el condicionamiento utiliza soluciones de Cholesky float64 acotadas, varianza explícita de ruido de observación y jitter almacenado opcional sin ajustar hiperparámetros en silencio. La verificación CTMC verifica el generador y los axiomas de la ley inicial exactamente; las transiciones utilizan una exponencial matricial verificada, mientras que las leyes estacionarias utilizan un sistema exacto de espacio nulo izquierdo y preservan la no unicidad.

Los incrementos independientes/estacionarios, la continuidad, la gaussianidad, la idoneidad del núcleo y la homogeneidad temporal siguen siendo supuestos de modelo declarados, no hechos establecidos por cálculo.

Ecuaciones diferenciales estocásticas

StochasticDifferentialEquation admite sistemas de Itô vectoriales con alcance de símbolos declarado, vector de deriva, matriz de difusión completa de estado por ruido, estado inicial concreto e intervalo finito. Euler–Maruyama admite estados vectoriales y difusión completa. Milstein está restringido a estado escalar/ruido escalar y utiliza la derivada simbólica de difusión; los casos multidimensionales no admitidos se rechazan en lugar de sustituir silenciosamente otro esquema.

La simulación registra la cuadrícula de pasos exacta cuando es posible, trayectorias float64, algoritmo/semilla/flujo PCG64, momentos muestrales terminales y órdenes nominales fuerte/débil. Las salidas grandes exponen metadatos compactos más consultas acotadas de trayectoria/terminal. Los estudios de convergencia acoplados reutilizan un flujo Browniano más fino en múltiples tamaños de paso y reportan convergencia RMS terminal observada cuando está definida. La simulación y la convergencia siguen siendo numéricas/empíricas; los órdenes nominales, la existencia, la unicidad y la regularidad son supuestos, no pruebas.

Evidencia estadística y persistencia

En todos los objetos estadísticos/estocásticos, la evidencia exacta, simbólica, asintótica, numérica, empírica y de modelo sigue siendo distinta. Los tipos derivados son solo de salida, la reproducción opera bajo límites actuales, la ascendencia decimal no puede mejorar, el JSON persistido se verifica por integridad antes de decodificar, y los campos almacenados de tipo/clase/fuente se concilian para prevenir la sustitución de fuente entre tipos.

PDEs y elementos finitos adaptativos

Representación y clasificación de PDEs

Los problemas de PDE tipados admiten sistemas escalares y acoplados, variables independientes/dependientes declaradas, multiíndices de derivadas, coeficientes/parámetros y condiciones iniciales/de frontera explícitas. El análisis de parte principal clasifica el sistema representado solo dentro del fragmento simbólico declarado, y las verificaciones de compatibilidad de trazas distinguen la información de frontera representada de afirmaciones más fuertes como existencia, unicidad, regularidad o buen planteamiento.

Formas débiles

Los artefactos PDEFunctionSpace, PDEMeasure, WeakIntegralTerm, IntegrationByPartsStep y solo de salida WeakForm representan formulaciones débiles explícitamente. derive_weak_form requiere variables de integración, espacios de prueba ordenados, espacios de prueba, índices de traza de frontera y transferencias seleccionadas de términos/coordenadas; no adivina espacios analíticos ni integra términos en silencio.

La integración por partes con coeficientes variables conserva la regla del producto completa, almacenando términos de volumen de prueba diferenciada y derivada de coeficiente por separado. Cada transferencia emite caras de frontera orientadas. Los términos de frontera que se anulan bajo trazas de prueba cero declaradas permanecen representados y se marcan como tales. Los índices de Dirichlet, Neumann/Robin y periódicos se registran como particiones esenciales, naturales y periódicas. WeakForm.verify reconstruye espacios, medidas, términos de volumen/frontera, signos, derivadas de regla de producto, particiones y pasos de derivación a partir de la PDE fuente. La afirmación verificada es la identidad integral representada bajo supuestos declarados, no un teorema de resolubilidad o regularidad.

Mallas, elementos de referencia y espacios de elementos finitos

FEMMesh admite símplices de intervalo, triángulo y tetraedro. La construcción verifica conectividad acotada, no degeneración, orientación positiva canónica, incidencia de facetas de frontera/interior, propiedad de frontera inducida y componentes conexas de celdas. Un Triangulation almacenado compatible puede proporcionar conectividad de triángulos preservando la geometría y la ascendencia de forma débil. La reproducción combinatoria no infiere no superposición geométrica ni calidad de aproximación.

reference_element proporciona símplices unitarios canónicos. basis deriva funciones y gradientes de Lagrange P1 nodales simbólicos y verifica la propiedad de Kronecker, la partición de la unidad y la suma de gradientes. quadrature suministra reglas de momentos exactos acotadas para los grados de símplex admitidos. finite_element_space construye espacios C0 de DOF de vértice P1 con conectividad local a global explícita y DOF de frontera esenciales. Los objetos derivados son reproducibles y solo de salida.

Ensamblaje y soluciones algebraicas

AssembledSystem y FEMSolution admiten formas débiles estacionarias lineales escalares en símplices P1 afines. El ensamblaje almacena matrices/vectores locales densos y determinantes jacobianos, fusiona la matriz global en entradas dispersas ordenadas, integra términos de faceta de Neumann/Robin admitidos y realiza eliminación simétrica documentada para DOF de Dirichlet conservando sistemas crudos y transformados. Las sustituciones concretas resuelven los parámetros restantes de PDE a través de MathIR restringido.

El ensamblaje distingue la integración exacta de una suma de cuadratura finita exacta. La cuadratura de orden insuficiente o no polinomial puede aún definir un sistema algebraico reproducible, pero quadrature_exact=false registra la limitación. Las segundas derivadas fuertes no admitidas, derivadas temporales, campos acoplados/no lineales, restricciones periódicas, parámetros no resueltos y flujos de frontera faltantes fallan de forma cerrada.

Las soluciones seleccionan análisis exacto de rango/rango aumentado o una ruta numérica dispersa explícita de SciPy. FEMSolution registra unique, ill_conditioned, singular_inconsistent, singular_underdetermined o singular_least_squares, junto con residual y diagnósticos de condicionamiento. La verificación establece solo el sistema de dimensión finita transformado y el resultado del solucionador, nunca un teorema de solución de PDE continua o un límite de error de continuo.

Estimación de error y adaptividad

FEMSolution.estimate_error proporciona indicadores de residual-salto para soluciones P1 completas únicas o mal condicionadas en su fragmento de difusión estacionaria escalar admitido. Cada CellErrorIndicator conserva residual fuerte ponderado por diámetro, contribución de salto conormal interior, contribución de frontera natural y total. FEMErrorEstimate almacena valores de estimador local/global, exactitud de cuadratura y residual algebraico por separado, y siempre registra rigorous_error_bound=false; las constantes de confiabilidad y eficiencia no se infieren. FEMErrorEstimate.mark implementa políticas deterministas de Dörfler y de máximo. RefinementMarking.refine aplica refinamiento rojo de triángulos y propaga el cierre conforme a través de aristas compartidas. RefinedMesh registra celdas solicitadas/de cierre y mapeos hijo-a-padre; MeshTransfer registra valores nodales P1 refinados como combinaciones afines explícitas de grados de libertad padre. Las mallas refinadas pueden reingresar a la cadena de base, cuadratura, espacio, ensamblaje, resolución y estimación.

FEMErrorEstimate.compare acepta pares directos de refinamiento padre/hijo y reporta razones de estimador y tasas observadas de dos mallas. FEMConvergenceObservation es evidencia explícitamente empírica sobre una secuencia de estimadores, no un teorema de convergencia ni una cota de error en el continuo.

Inferencia de relaciones y geometría de la información

Inferencia compuesta de relaciones

mathkernel.composite_relation_inference proporciona una prueba de puntuación cuadrática para un subespacio de relaciones visible completo. Las puntuaciones observadas generalizadas se blanquean bajo la ley nominal y el estadístico es la norma al cuadrado de su media muestral. Un argumento finito de puntuación acotada proporciona una garantía conservadora con dependencia explícita de la dimensión de la relación, el valor propio más débil de información retenida, el radio de perturbación y el límite de puntuación.

El mismo módulo calcula información objetivo ajustada por molestias mediante complementos de Schur de Fisher latentes y observados. Reporta confusión exacta post-observación cuando una dirección objetivo puede reproducirse mediante variación de molestias. Para valores propios de información repetidos o casi repetidos, se adjunta incertidumbre bootstrap a subespacios propios invariantes mediante ángulos principales en lugar de vectores propios individuales arbitrarios. Están disponibles intervalos de espectro ordenado estudentizados, heurísticas de bloques circulares dependientes de la información, modos de covarianza nominal/empírico/HAC y garantías de especificación errónea acotada por norma, con sus supuestos registrados.

Inferencia robusta de relaciones

mathkernel.robust_relation_inference proporciona inferencia cuadrática limitada al modelo, proyecciones de molestias aprendidas, relaciones residuales ortogonales y estimación de covarianza de largo plazo pre-blanqueada por VAR.

API de PythonFunción y límite de evidencia
quadratic_minimax_boundsTasas inferior/superior de secuencia gaussiana usando el espectro de información inverso; cota separada finita para estadístico U iid bajo una envolvente de covarianza justificada
gaussian_quadratic_testPrueba de cuadrado ponderado con umbral finito de Chernoff gaussiano
quadratic_u_testEstadístico de pares insesgado O(Nr); calibración finita de Cantelli para puntuaciones iid de nulo conocido
prewhitened_long_run_covarianceVAR(1), ancho de banda automático de Bartlett, recoloreo y diagnósticos de persistencia; los supuestos de consistencia siguen siendo necesarios
quadratic_moment_testPrueba de Wald asintótica de rango completo con covarianza empírica o suministrada; la covarianza singular se rechaza
relation_foldsPliegues iid reproducibles, que preservan grupos o contiguos
crossfit_nuisance_projectionEstimación de proyección de molestias fuera de pliegue en un tramo candidato declarado
crossfit_residual_relationsMomentos cruzados residuales ortogonales con medias condicionales aprendidas, aprendices personalizados y brechas de exclusión

Estas API de investigación permanecen limitadas numérica/modelo a menos que se devuelva explícitamente una garantía finita más fuerte. No adquieren etiquetas de prueba formal o certificación de intervalos simplemente porque se componen con otros objetos de MathKernel.

Visibilidad de relaciones, diseño de sensores y geometría de la información

La pila de análisis de relaciones también incluye visibilidad exacta de relaciones observables, cálculos de retención de información, diagnósticos de costo muestral, geometría de Fisher multi-relación, objetivos de diseño de sensores, representaciones tangentes invariantes a coordenadas, límites de prueba locales e incertidumbre para espectros de información. Las direcciones numéricas casi nulas se mantienen distintas de las direcciones ciegas matemáticamente exactas.

Rendimiento: numba · CUDA · paralelismo

Carga de trabajoRuta rápida CPURuta GPUParalelo
Tamiz de Collatznjit (n ≤ 31)CUDA RawKernelgrupo de procesos persistente
Barrido de cuboidesnjit escaneo de pares de patas + prefiltro QRCUDA RawKernelgrupo de procesos
GF(2^m) ≤ 1024núcleos njit de n-limb (uint64×N)
Lote de enterosnúcleos njit de arreglosgrupo de procesos persistente, tamaño de fragmento adaptativo
BFS/componentes de grafosrecorrido CSR njit, certificado re-verificado
GF(p^m), p < 2^24, m ≤ 64multiplicación/módulo polinomial njit uint64
Validación de tabla de Cayleyescaneo de axiomas njit
Extensión de recurrencianjit int64 verificado, respaldo bigint
FWHTmariposa njit int64
Búsqueda de cierrenjit MITM (int64/uint64)
Dinámica de Koopman / finitanumpy complex128CuPy matmul
DAG de obligacionesoleadas de hilos
Barridos largosgrupo de trabajos asíncrono

Los tipos simbólicos exactos (Fraction, CyclotomicNumber) son deliberadamente Python puro: un cero de visibilidad o una cancelación de cierre debe seguir siendo una prueba. Existen gemelos numéricos donde la escala lo exige y siempre llevan trust: numeric.

Contrato de expansión. Los nuevos dominios deben diseñar niveles de verificación y rendimiento juntos desde el inicio: semántica tipada exacta y límites, un certificado verificable de forma independiente para cada afirmación VERIFIED, y — donde la carga de trabajo sea lo suficientemente regular — una ruta rápida Numba/proceso/GPU detrás de un fragmento de exactitud estrecho con respaldo automático en Python. Las rutas rápidas deben re-verificarse o probarse diferencialmente contra la implementación de referencia y deben registrar el backend seleccionado en los metadatos de evidencia; nunca pueden elevar la confianza más allá de la prueba subyacente. La descarga a GPU es obligatoria solo para cargas de trabajo regulares exactas por dispositivo; los algoritmos irregulares de precisión arbitraria documentan los niveles considerados en su lugar.

Optimización que preserva la corrección

MathKernel optimiza solo donde el contrato matemático sobrevive a la optimización. Las cargas de trabajo regulares de enteros/arreglos acotados usan rutas Numba, proceso o GPU con verificaciones diferenciales y respaldos protegidos. Las cargas de trabajo simbólicas exactas permanecen en representaciones exactas cuando convertirlas a punto flotante debilitaría la afirmación. La creación de perfiles se usa para eliminar trabajo simbólico repetido, elevar cálculos invariantes, almacenar en caché certificados reproducibles y reemplazar pasos de verificación superlineales evitables sin cambiar la evidencia matemática almacenada. La selección del backend se registra en los metadatos de evidencia y nunca eleva la confianza por encima del cálculo o certificado subyacente.

Visualización y artefactos portátiles

mathkernel_viz convierte objetos y resultados de MathKernel en artefactos interactivos que portan evidencia. La visualización es posterior a las matemáticas: consume datos fuente tipados o un MultimodalProjection, registra transformaciones de presentación y nunca mejora la evidencia fuente simplemente porque se usa una forma gráfica particular.

import mathkernel_projection as mkp
import mathkernel_viz as viz

projection = mkp.create_projection(
    "matrix",
    {"matrix": [[1, 2], [3, 4]]},
    trust="exact",
)
doc = viz.from_projection(projection)
viz.export_html(doc, "matrix.html", mode="portable")

La API de tablero de nivel inferior sigue disponible para composición directa:

import mathkernel_viz as viz

doc = viz.dashboard("My result", cols=2)
viz.add_point_cloud(doc, points, trust="numeric")
viz.add_histogram(doc, values, bins=128)
viz.add_select(doc, "lag", [
    {"label": "k=4", "value": {"embed": {"lags": [0, 4, 8]}}}
])
viz.export_html(doc, "out.html", mode="portable")
  • Bloques de construcción, no monolitos — los artefactos componen paneles reutilizables como point_cloud_3d, trajectory_3d, surface_3d, vector_field_3d, plot2d, histogram, heatmap, dag, metric_grid, data_table, text y select.
  • IR neutral al renderizador — el VisualizationDocument versionado es consumido por SVG puro en Python, matplotlib PNG/PDF opcional y el renderizador HTML+Three.js.
  • 3D interactivo — órbita/pan/zoom e inspección al pasar el cursor de identidad y confianza.
  • HTML portátil — un .html autocontenido con conjuntos de datos incrustados, procedencia, metadatos de reproducibilidad y tiempo de ejecución del visor; no se requiere servidor ni CDN.
  • Preservación de evidencia — la confianza de bloques/series/conjuntos de datos se hereda de forma conservadora; la visualización certificada por intervalos solo se usa cuando la fuente misma porta ese soporte.
  • Integridad y determinismo — se exponen SHA-256 de carga útil y por conjunto de datos, y entradas idénticas producen artefactos deterministas.
  • Límite de presentación seguro — CSP, etiquetas escapadas, sin eval, límites de conjuntos de datos, y MathIR tratado como datos en lugar de código ejecutable.

Proyecciones multimodales compartidas

La capa compartida mathkernel_projection define familias canónicas de proyección matemática que pueden alimentar visualización, sonificación o un artefacto de investigación combinado. Esto evita que cada renderizador invente su propia interpretación de una matriz, malla, grafo, campo, distribución u objeto de alta dimensión.

Un MultimodalProjection registra:

  • linaje fuente (SourceRef);
  • familia de proyección y carga útil estructurada;
  • coordenadas, unidades y etiquetas;
  • supuestos y referencias de evidencia;
  • procedencia de transformación determinista;
  • parámetros explícitos de base, rebanada, recorrido u ordenamiento;
  • dimensionalidad de salida y pérdida de información declarada.

Las familias canónicas cubren campos escalares/vectoriales; conjuntos de puntos/nubes; curvas, superficies y trayectorias; secuencias y distribuciones; matrices y tensores; grafos, grafos de evidencia, árboles de expresión y árboles de certificados; espectros y campos de valores complejos; regiones y conjuntos implícitos; mallas y complejos geométricos; soluciones de ODE/PDE y sistemas dinámicos; objetos de optimización e inferencia estadística; estructuras de campo finito/GF(2); geometría de relaciones/información; conjuntos, particiones y objetos por partes; cantidades con unidades; conjuntos; y proyecciones explícitas de alta dimensión.

Para dimensión fuente mayor que tres, un método de proyección y la dimensionalidad de salida deben ser explícitos. La selección de coordenadas, una base declarada, reducción tipo PCA o una proyección espectral específica del dominio son transformaciones que deben registrarse; un renderizador no puede decidir silenciosamente qué vista es canónica.

Un registro de adaptadores de resultados (mathkernel_projection.result_adapters) mapea objetos tipados almacenados y cargas útiles de resultados planos a estas familias automáticamente. Los adaptadores son funciones de extracción puras: nunca recalculan matemáticas, nunca mejoran la confianza y declaran cualquier elección de presentación (rejillas de muestreo, espectros solo de magnitud, selección de canales, reducción de covarianza a banda) en parameters y information_loss. math_visualize(object_id=...) y math_projection_create(source_object_id=...) usan el registro para elegir la proyección canónica para señales, espectros, filtros, mapas de polos-ceros, respuestas de frecuencia, lugares de raíces, respuestas temporales, distribuciones (las densidades simbólicas se muestrean en una ventana declarada), distribuciones empíricas/discretas, muestras estadísticas, ajustes GLM, estimaciones de Kaplan-Meier, riesgos base de Cox, diagnósticos ACF/PACF, ajustes de series temporales, grafos y árboles de recorrido, resultados de optimización, conjuntos ODE/SDE, mallas FEM/soluciones/indicadores de error/observaciones de convergencia, patrones de dispersión de sistemas ensamblados, rejillas PDE, conjuntos de puntos, polígonos, triangulaciones, diagramas de Voronoi, funciones generadoras, tablas de Cayley, contornos, mapas de singularidades, particiones de subgrupos/coset/órbitas, conteos combinatorios y cantidades unitarias. Los tipos de objetos no registrados fallan con un error tipado en lugar de una vista inventada.

Los grafos de evidencia son de primera clase: las relaciones afirmación -> evidencia -> supuesto/fuente se pueden visualizar directamente, haciendo que la estructura de verificación de MathKernel sea inspeccionable en lugar de ocultarla en metadatos. Las proyecciones de valores complejos retienen la estructura de magnitud/fase, y las proyecciones de malla/campo preservan la entidad geométrica a la que pertenece cada valor.

Linaje de artefactos y presentación científica

mathkernel_viz, mathkernel_sonify y mathkernel_multimodal comparten la capa semántica mathkernel_artifacts. MathKernelArtifact porta linaje fuente tipado, evidencia/certificados, transformaciones de presentación, anotaciones científicas/perceptivas, metadatos de reproducibilidad y sincronización visual/audio. mathkernel_viz.visualize(result) adjunta linaje estructurado determinista a conjuntos de datos y series visuales, mientras que mathkernel_viz.to_artifact(doc, result=...) promueve un documento visual al mismo modelo de artefacto que porta evidencia utilizado por exportaciones multimodales. La presentación permanece posterior a las matemáticas y no puede mejorar la confianza fuente.

Sonificación científica (mathkernel-sonify)

mathkernel_sonify es el hermano auditivo de mathkernel_viz. Consume el mismo linaje de fuente y el contrato MultimodalProjection, mientras que SonificationDocument posee el mapeo auditivo en sí. El resultado matemático permanece intacto.

import mathkernel_projection as mkp
import mathkernel_sonify as son

projection = mkp.create_projection(
    "spectrum",
    {"amplitudes": [1.0, 0.42, 0.17], "phases": [0.0, 0.3, -0.2]},
    trust="numeric",
)
audio = son.projection_sonification(projection)
son.write_wav(audio, "spectrum.wav")
son.export_html(audio, "spectrum.html")

El IR registra cada mapeo de valor a audio como procedencia declarativa. Los objetos estructurados nunca se aplanan silenciosamente: los escaneos de matrices registran el orden de filas/columnas; la sonificación de tensores registra el corte/orden seleccionado; los grafos registran el recorrido o la reducción de grado; las mallas registran la reducción geométrica; los objetos complejos preservan el mapeo de magnitud y fase; los rastreos de optimización, las distribuciones bootstrap/nulas, los espectros de relación y los ordenamientos de conjuntos son igualmente explícitos.

Los adaptadores integrados cubren síntesis aditiva armónica/Fourier, escaneos secuenciales, comparación estéreo predicción-vs-observación, sonificación residual y mapeos estructurados conscientes de la proyección. El renderizado offline PCM/WAV es determinista, rechaza el aliasing silencioso de Nyquist y aplica límites explícitos de normalización/pico. El exportador WebAudio es un único archivo HTML offline sin dependencia de red.

Regla científica: un patrón audible es un candidato perceptual, no evidencia matemática. Cualquier patrón descubierto al escuchar debe validarse cuantitativamente, exactamente, formalmente o empíricamente a través de MathKernel.

Artefactos multimodales unificados (mathkernel-multimodal)

mathkernel_multimodal combina visualización y sonificación derivadas de la misma fuente/proyección en un MathKernelArtifact portátil. La ascendencia compartida de SourceRef permite la sincronización automática entre modalidades sin debilitar el modelo de confianza matemática.

import mathkernel_multimodal as mkm

artifact = mkm.build_artifact(
    title="Result",
    visualizations=[viz_doc],
    sonifications=[son_doc],
    mathkernel_version="current",
)
mkm.export_html(artifact, "result.html")
  • los bloques visuales pueden resaltarse durante la reproducción de audio vinculada y el audio vinculado puede buscar desde un bloque visual;
  • una superficie de inspector expone Resultado, Evidencia, Procedencia, Datos, Reproducción, Mapeo Visual, Mapeo de Audio, Sincronización y Anotaciones;
  • la verificación de carga útil y los hashes de integridad del documento permanecen disponibles en el artefacto exportado;
  • la salida portátil funciona desde file://, sin necesidad de un servidor MathKernel en ejecución;
  • la confianza del artefacto sigue siendo la confianza de fuente/miembro justificada más débil.

A través de MCP, los artefactos de investigación pueden ensamblarse a partir de objetos de visualización y sonificación almacenados y exportarse como un único archivo autocontenido.

Superficie de herramientas MCP

Las 167 herramientas (clic para expandir)
GrupoHerramientas
Descubrimientomath_capabilities, math_capability_query, math_result_resource_get
Matemáticas tipadasmath_object_create, math_object_get, math_apply — superficie compositiva completa tabulada arriba, incluyendo geometría, señales/control, optimización certificada, estadística/sistemas estocásticos y representación general de PDE
Análisis sintácticomath_parse, math_parse_latex, math_get, math_substitute, math_infer_structure
Álgebramath_simplify, math_solve, math_solve_system
Cálculomath_differentiate, math_integrate, math_limit, math_series, math_summation, math_product
Numéricomath_numeric_evaluate, math_interval_evaluate
Matricesmath_matrix_create, math_matrix_get, math_matrix_det, math_matrix_inverse, math_matrix_transpose, math_matrix_multiply, math_matrix_rank, math_matrix_rref, math_matrix_eigenvalues, math_matrix_solve
Contextomath_context_create, math_context_infer, math_context_check
Razonamientomath_analyze, math_plan, math_plan_get, math_execute_plan, math_reason, math_execution_get, math_prove_equivalence, math_counterexample
Generación de códigomath_codegen, math_verify_code, math_execute_code
Enterosmath_integer_analyze, math_integer_compute, math_integer_batch
Barridosmath_collatz_sieve, math_cuboid_sweep
Trabajosmath_job_submit, math_job_status, math_job_result, math_job_list
GF(2^m)math_gf2m_create, math_gf2m_from_transition, math_gf2m_compute, math_gf2m_coords, math_gf2m_root_jump_rows, math_gf2m_closure_roots, math_gf2m_jump_rows
GF(2)math_gf2_rank, math_gf2_nullspace, math_gf2_carryfree_cols, math_gf2_minpoly
Transformadasmath_fwht
Dinámica finitamath_finite_system_create, math_koopman_matrix, math_koopman_transfer, math_koopman_visibility, math_koopman_lagged, math_koopman_observed, math_koopman_diagnostics, math_finite_fourier_compute, math_closure_search, math_cumulant_compute
Dinámica condicionadamath_conditioned_access_solve, math_conditioned_symmetry_access, math_conditioned_access_compose, math_conditioned_closure, math_symbolic_conditioned_access, math_affine_conditioned_access, math_gf2_conditioned_access, math_gf2_predictive_closure, math_synthesize_conditioned_closures, math_synthesize_gf2_vector_conditioned_access, math_discover_structural_conditioned_closure, math_discover_factor_swap_conditioned_closure
Proyecciones multimodalesmath_projection_catalog, math_projection_create, math_projection_describe
Visualizaciónmath_visualize, math_visualize_dag, math_render_koopman, math_visualize_projection, math_export_artifact
Sonificaciónmath_sonify, math_sonify_compare, math_sonification_describe, math_sonify_projection, math_export_audio
Artefactos multimodalesmath_research_artifact_create, math_export_research_artifact
Conjuntos y lógicamath_set_create, math_set_op, math_set_membership, math_quantifier_check, math_quantifier_eliminate, math_quantifier_eliminate_batch
Polinomiosmath_poly_groebner, math_poly_divide, math_poly_resultant, math_poly_discriminant, math_poly_factor, math_ideal_membership, math_poly_groebner_batch
Probabilidadmath_prob_rv_create, math_prob_expectation, math_prob_variance, math_prob_covariance, math_prob_bayes, math_prob_markov_stationary, math_prob_markov_hitting_time, math_prob_sample, math_prob_distribution
Estadísticamath_stats_moments, math_stats_order, math_stats_regression, math_stats_correlation, math_stats_ttest, math_stats_chi2, math_stats_confidence_interval, math_stats_batch_moments
Tensoresmath_tensor_create, math_tensor_get, math_tensor_contract, math_tensor_solve
Numéricosmath_root_find, math_root_scan, math_quadrature
ODE/PDEmath_ode_solve, math_ode_solve_numeric, math_ode_ensemble, math_pde_heat_1d, math_pde_heat_2d, math_pde_wave_1d, math_pde_advect_1d, math_pde_ensemble, math_pde_mol_heat
Optimizaciónmath_optimize_critical_points, math_optimize_kkt, math_lp_solve, math_optimize_minimize, math_optimize_multistart
Unidadesmath_unit_check, math_unit_convert, math_unit_simplify
Aseguramientomath_store_status, math_replay, math_fuzz_differential, math_certified_enclose
Demostraciónmath_prove, math_prove_batch, math_prove_replay
Procedenciamath_derivation_get, math_derivation_trace

Cada docstring de herramienta está escrito orientado a LLM: formatos de parámetros, semántica exacta-vs-numérica, límites y sugerencias de seguimiento están documentados en el lugar.

Configuración

Todos los ajustes están impulsados por el entorno con el prefijo MATHKERNEL_ (Settings.from_env()), inspeccionables a través de math_capabilities:

VariableDefaultPropósito
MATHKERNEL_MAX_INPUT_LENGTH100000Límite de entrada del analizador
MATHKERNEL_MAX_OUTPUT_SIZE_BYTES256000000Presupuesto de bytes para la respuesta completa; los payloads sobredimensionados se conservan como recursos verificados por integridad y se devuelven mediante recibo
MATHKERNEL_SOLVER_TIMEOUT_SECONDS30Presupuesto de operaciones simbólicas mediante trabajadores de subproceso cancelables y acotados
MATHKERNEL_ENABLE_EXECUTIONfalseEjecución de generación de código en sandbox (opt-in)
MATHKERNEL_YOLO_MODEfalseDesbloquea math_yolo_settings para mutar la configuración activa de MATHKERNEL_* (coerción tipada; desactivado por defecto)
MATHKERNEL_Z3_TIMEOUT_MS10000Presupuesto SMT (se establece en cada instancia del solver Z3)
MATHKERNEL_LEAN_BINARY / MATHKERNEL_LEAN_TIMEOUT_SECONDSlean / 90Adaptador Lean (tiempo de espera pasado a cada verificación de lake env lean)
MATHKERNEL_SKIP_LEAN_INSTALLsin definirOmitir la descarga predeterminada de Lean 4 + Mathlib
MATHKERNEL_LEAN_CACHEcaché de plataformaRaíz del espacio de trabajo de elan + lake
MATHKERNEL_ENABLE_PARALLEL / MATHKERNEL_MAX_WORKERStrue / cpu_countGrupos de procesos y subprocesos
MATHKERNEL_MAX_ITERATIONS10000Límite de iteraciones para simplex / Nelder-Mead
MATHKERNEL_TOLERANCE1e-12Tolerancia numérica de convergencia
MATHKERNEL_MAX_ODE_STEPS100000Límite de pasos de integración RK45
MATHKERNEL_STORE_PATHsin definirPersistencia SQLite opt-in para expresiones/derivaciones + math_replay
MATHKERNEL_PROVE_PORTFOLIO_SIZE3Codificaciones SMT en competencia por llamada a math_prove
MATHKERNEL_MAX_PDE_GRID1000000Límite de celdas de la malla del solver PDE
MATHKERNEL_MAX_PDE_FIELDS / MATHKERNEL_MAX_PDE_DIMENSIONS16 / 8Límites tipados de campos PDE y variables independientes
MATHKERNEL_MAX_PDE_EQUATIONS / MATHKERNEL_MAX_PDE_TERMS32 / 1024Límites tipados del sistema PDE y del total de términos
MATHKERNEL_MAX_PDE_CONDITIONS1024Límite tipado total de condiciones de contorno/iniciales
MATHKERNEL_MAX_PDE_DERIVATIVE_ORDER / MATHKERNEL_MAX_PDE_NONLINEAR_POWER4 / 8Límites de derivadas y potencias representadas
MATHKERNEL_MAX_PDE_WORK2000000Límite de trabajo tipado de construcción/reproducción PDE
MATHKERNEL_MAX_PDE_SPACES / MATHKERNEL_MAX_PDE_SPACE_ORDER64 / 8Límites tipados de conteo de espacios de forma débil y orden de regularidad
MATHKERNEL_MAX_PDE_WEAK_TERMS / MATHKERNEL_MAX_PDE_IBP_STEPS4096 / 256Límites tipados de términos integrales derivados e integración por partes
MATHKERNEL_MAX_PDE_WEAK_WORK5000000Límite de trabajo de derivación/reproducción de forma débil
MATHKERNEL_MAX_FEM_POINTS / MATHKERNEL_MAX_FEM_CELLS100000 / 200000Límites de vértices/celdas de malla simplex
MATHKERNEL_MAX_FEM_DOFS200000Límite de grados de libertad del espacio de elementos finitos
MATHKERNEL_MAX_FEM_WORK20000000Límite de trabajo de construcción/reproducción de elementos finitos
MATHKERNEL_MAX_FEM_ASSEMBLY_NNZ / MATHKERNEL_MAX_FEM_ASSEMBLY_WORK2000000 / 50000000Límites de entradas dispersas y trabajo de ensamblaje
MATHKERNEL_MAX_FEM_EXACT_SOLVE_DOFS / MATHKERNEL_MAX_FEM_NUMERIC_SOLVE_DOFS256 / 100000Límites de diagnóstico denso exacto y resolución dispersa numérica
MATHKERNEL_MAX_FEM_ESTIMATOR_WORK / MATHKERNEL_MAX_FEM_REFINED_CELLS50000000 / 500000Límites de trabajo de reproducción del indicador residual y celdas de salida refinadas
MATHKERNEL_MAX_QE_VARIABLES16Límite de variables para eliminación de cuantificadores
MATHKERNEL_MAX_BATCH_JOBS10000Límite de lotes enteros
MATHKERNEL_MAX_MATRIX_DIM128Límite del motor matricial
MATHKERNEL_MAX_JOBS_RETAINED100Retención de trabajos asíncronos
MATHKERNEL_MAX_MATH_OBJECTS10000Límite de objetos tipados retenidos
MATHKERNEL_MAX_CONTOUR_VERTICES4096Límite de complejidad de contornos
MATHKERNEL_MAX_JOINT_DIMENSIONS8Límite de dimensión de distribución conjunta
MATHKERNEL_MAX_DISTRIBUTION_COMPONENTS256Límite de componentes de mezcla
MATHKERNEL_MAX_SYMBOLIC_SERIES_ORDER128Límite de orden de Laurent/clasificación
MATHKERNEL_MAX_ORDER_STATISTIC_SAMPLE_SIZE1024Límite simbólico de muestra de estadísticos de orden
MATHKERNEL_MAX_GRAPH_VERTICES / MATHKERNEL_MAX_GRAPH_EDGES4096 / 65536Límites tipados de tamaño de grafo
MATHKERNEL_MAX_COMBINATORIAL_ITEMS10000Límite de generación combinatoria perezosa
MATHKERNEL_MAX_GROUP_ELEMENTS4096Límite de enumeración de grupos finitos
MATHKERNEL_MAX_FIELD_DEGREE64Límite de grado de extensión GF(p^m)
MATHKERNEL_MAX_NORMAL_FORM_DIM128Límite de dimensión matricial Smith/Hermite
MATHKERNEL_MAX_INVERSE_BRANCHES256Límite de ramas/Jacobianos de cambio de variable
MATHKERNEL_MAX_OBLIGATION_STEPS128Obligaciones máximas del plan ejecutable
MATHKERNEL_MAX_FWHT_SIZE2²⁰Límite de longitud FWHT
MATHKERNEL_MAX_FINITE_STATES4096Límite de enumeración de sistemas finitos
MATHKERNEL_MAX_CUMULANT_ORDER8Límite de orden de cumulantes/tensores conectados
MATHKERNEL_MAX_CLOSURE_RESULTS10000Límite de resultados de búsqueda de cierre
MATHKERNEL_MAX_GEOMETRY_DIMENSION8Límite de dimensión de variedad/carta
MATHKERNEL_MAX_GEOMETRY_RANK6Límite de rango de campo tensorial denso
MATHKERNEL_MAX_GEOMETRY_POINTS10000Límite de conteo de puntos/vértices
MATHKERNEL_MAX_GEOMETRY_SIMPLICES100000Límite de conteo de semiespacios/triángulos
MATHKERNEL_MAX_GEOMETRY_WORK1000000Límite de trabajo simbólico de geometría de preflight
MATHKERNEL_MAX_TOPOLOGY_DIMENSION16Grado máximo de complejo finito/dimensión ambiente
MATHKERNEL_MAX_TOPOLOGY_CELLS10000Límite total de celdas de base simplicial/cúbica/cadena
MATHKERNEL_MAX_TOPOLOGY_MATRIX_ENTRIES1000000Límite de entradas de matriz de frontera almacenada
MATHKERNEL_MAX_TOPOLOGY_ENTRY_BITS4096Límite de longitud de bits de entradas de frontera enteras
MATHKERNEL_MAX_TOPOLOGY_WORK2000000Límite de trabajo de preflight de topología exacta
MATHKERNEL_MAX_STATISTICAL_VARIABLES256Límite tipado de columnas de muestra
MATHKERNEL_MAX_STATISTICAL_OBSERVATIONS100000Límite tipado de filas de muestra
MATHKERNEL_MAX_STATISTICAL_CELLS1000000Límite tipado de celdas rectangulares de muestra
MATHKERNEL_MAX_STATISTICAL_WORK2000000Límite de trabajo de preflight descriptivo/covarianza
MATHKERNEL_MAX_GLM_PARAMETERS64Límite de coeficientes ajustados, incluida la intersección
MATHKERNEL_MAX_GLM_ITERATIONS200Límite de iteraciones IRLS solicitadas
MATHKERNEL_MAX_GLM_PREDICTION_ROWS100000Filas de media condicional por solicitud de predicción
MATHKERNEL_MAX_GLM_WORK20000000Límite de trabajo de preflight de rango/matriz/iteración GLM
MATHKERNEL_MAX_NONPARAMETRIC_GROUPS64Límite de grupos Kruskal–Wallis seleccionados
MATHKERNEL_MAX_EXACT_RESAMPLING_STATES100000Límite de estado completo de signos/etiquetas/permutaciones
MATHKERNEL_MAX_RESAMPLES1000000Límite de extracciones de permutación/bootstrap Monte Carlo
MATHKERNEL_MAX_RESAMPLING_BATCH_CELLS1000000Celdas generadas por lote de bootstrap
MATHKERNEL_MAX_RESAMPLING_WORK20000000Límite de trabajo de preflight de rango/enumeración/remuestreo
MATHKERNEL_MAX_SURVIVAL_STRATA64Límite de estratos de supervivencia distintos
MATHKERNEL_MAX_SURVIVAL_TIMELINE_POINTS100000Límite de línea de tiempo Kaplan–Meier seleccionada
MATHKERNEL_MAX_COX_PARAMETERS64Límite de predictores Cox
MATHKERNEL_MAX_COX_ITERATIONS200Límite de iteraciones Newton Cox solicitadas
MATHKERNEL_MAX_COX_PREDICTION_ROWS100000Límite de filas de predicción de riesgo parcial
MATHKERNEL_MAX_COX_INFORMATION_CONDITION1000000000000Techo de condición de información observada
MATHKERNEL_MAX_SURVIVAL_WORK20000000Límite de trabajo de conjunto de riesgo/matriz/iteración de supervivencia
MATHKERNEL_MAX_TIME_SERIES_LAG1000Límite de rezago ACF/PACF/diagnóstico
MATHKERNEL_MAX_TIME_SERIES_DIFFERENCE2Límite de orden de diferenciación ARIMA
MATHKERNEL_MAX_TIME_SERIES_PARAMETERS32Límite de parámetros dinámicos AR/MA/GARCH
MATHKERNEL_MAX_TIME_SERIES_ITERATIONS500Límite de iteraciones del optimizador de ajuste
MATHKERNEL_MAX_TIME_SERIES_FORECAST_STEPS10000Límite de horizonte de pronóstico
MATHKERNEL_MAX_TIME_SERIES_WORK50000000Límite de trabajo de análisis/ajuste/pronóstico
MATHKERNEL_MAX_STOCHASTIC_STATES256Límite de estados CTMC
MATHKERNEL_MAX_STOCHASTIC_TIME_POINTS10000Límite de tiempo de predicción/dimensión finita
MATHKERNEL_MAX_GP_CONDITIONING_POINTS2000Límite de observaciones GP
MATHKERNEL_MAX_STOCHASTIC_MATRIX_ENTRIES1000000Límite de espacio de trabajo de covarianza/generador
MATHKERNEL_MAX_GP_CONDITION_NUMBER1000000000000Techo de condicionamiento GP
MATHKERNEL_MAX_STOCHASTIC_WORK50000000Límite de trabajo de factorización/exponencial
MATHKERNEL_MAX_SDE_STATE_DIMENSION32Límite de dimensión de estado SDE
MATHKERNEL_MAX_SDE_NOISE_DIMENSION32Límite de dimensión del driver browniano
MATHKERNEL_MAX_SDE_STEPS1000000Límite de pasos de simulación/convergencia
MATHKERNEL_MAX_SDE_PATHS100000Límite de trayectorias de simulación
MATHKERNEL_MAX_SDE_SIMULATION_CELLS5000000Límite de celdas de trayectoria almacenada/incremento aleatorio
MATHKERNEL_MAX_SDE_WORK50000000Límite de trabajo de actualización SDE
MATHKERNEL_MAX_SDE_QUERY_VALUES20000Valores de trayectoria/terminales devueltos por consulta

Estructura del repositorio

src/mathkernel/            core library, typed mathematics and kernel facade
src/mathkernel_mcp/        FastMCP server layer and public math_* tools
src/mathkernel_projection/ shared typed multimodal projection layer
src/mathkernel_viz/        visualization IR, viewers and portable renderers
src/mathkernel_sonify/     scientific sonification IR, PCM/WAV and WebAudio
src/mathkernel_artifacts/  shared evidence, lineage and synchronization schema
src/mathkernel_multimodal/ unified visual/audio research-artifact exporter
scripts/                   reproducibility, GPU checks and demonstrations
experiments/               research validation programs and datasets
skills/                    synchronized Python and MCP agent skills
tests/                     core, regression, multimodal and domain test suites
benchmarks/                correctness-gated performance measurements

Paquetes de habilidades

MathKernel incluye dos paquetes de habilidades de agente sincronizados: uno para uso directo de Python y otro para clientes MCP. Documentan el mismo contrato de evidencia, ciclo de vida de objetos y semántica matemática, adaptando los ejemplos a sus respectivas interfaces.

Las habilidades cubren trabajo simbólico/exacto, razonamiento y demostración, persistencia, dinámica finita, probabilidad/estadística, numérica, tensores/unidades, rendimiento, visualización, sonificación científica y el flujo de trabajo compartido de proyección multimodal. Las habilidades de viz/audio ahora requieren procedencia de proyección primero para objetos estructurados y reducción explícita de alta dimensión o extracción acústica en lugar de aplanamiento oculto.

Pruebas

Ejecute la suite completa del árbol fuente con las dependencias opcionales requeridas para los dominios que desee validar:

PYTHONPATH=src:. python -m pytest -q
python scripts/gpu_smoke.py

El repositorio degrada los motores opcionales no disponibles a unknown o unavailable en lugar de fabricar éxito. FastMCP es necesario para las pruebas de registro MCP, z3-solver para pruebas de SMT/demostración/eliminación de cuantificadores, y el runtime ANTLR compatible para el análisis LaTeX de SymPy. Los módulos de prueba específicos de dominio y los ejecutores de experimentos pueden ejecutarse de forma independiente al validar una superficie matemática particular.

La cobertura incluye manejo de analizador y ambigüedad, álgebra simbólica y cálculo, aritmética entera exacta y de campos finitos, algoritmos de grafos, álgebra lineal, rutas diferenciales Numba/CUDA, trabajos asíncronos, generación y verificación de código, métodos GF(2) y Fourier finito, dinámica Koopman/finita, análisis PRNG, matemáticas de ingeniería tipadas, geometría/topología, estadística y sistemas estocásticos, PDE/FEM/adaptividad, propagación de evidencia, integridad de persistencia, visualización, sonificación, artefactos multimodales y la superficie de herramientas MCP.

CI apunta a versiones compatibles de Python con fan-out de subprocesos nativos acotado por trabajador. Las comprobaciones de distribución construyen el sdist y la wheel, verifican metadatos, instalan la wheel en un entorno limpio, confirman la versión del runtime y verifican que los activos multimodales/visualización offline incluidos estén presentes. Las exportaciones portátiles por lo tanto no requieren un CDN después de la instalación.

Límites de seguridad

  • Ninguna expresión de usuario cruda llega jamás a sympify()/parse_expr(); gramática restringida, funciones desconocidas rechazadas, notación ambigua rechazada con candidatos.
  • Conversión de enteros de longitud arbitraria por fragmentos; guardas de salida de resultados grandes; trabajo automático de teoría de números acotado; techos de pasos de obligación; validación de dependencias/ciclos.
  • La ejecución de código en sandbox es opt-in (MATHKERNEL_ENABLE_EXECUTION=1), se ejecuta en un subproceso aislado con tiempo de espera y siempre se etiqueta como evidencia numérica.
  • La invocación del subproceso Lean usa shell=False; los motores opcionales informan unknown/unavailable en lugar de fabricar éxito.
  • Las búsquedas de candidatos nativas externas LP/QP/MILP, cónicas/QCQP, Riccati/LQG y colocación de polos numérica se ejecutan en intérpretes nuevos cuyos grupos de procesos se eliminan al agotar el tiempo de espera. Las solicitudes/resultados están acotados y el fan-out BLAS/OpenMP está limitado.
  • La persistencia SQLite verifica cada payload JSON con SHA-256 antes de decodificar. Los registros tipados canónicos además reconcilian su tipo de objeto declarado, clase de modelo decodificada y campo de enlace fuente antes de la recuperación o ejecución. Los registros corruptos o sustituidos fallan de forma cerrada sin producir objetos derivados.

Este límite de terminación no es un sandbox de código hostil y no impone una cuota de memoria del SO. El aislamiento multiinquilino aún pertenece a una capa externa de trabajador o sandbox.

Licencia

Copyright © 2026 Maarten Boone.

Publicado bajo la Licencia MIT.