MathKernel-MCP

Um kernel matemático multi-motor com consciência de evidências — utilizável tanto como biblioteca Python (mathkernel) quanto como servidor MCP (mathkernel-mcp) — para que aplicações e LLMs possam fazer matemática avançada preservando suposições, proveniência e evidências específicas de cada afirmação.

Documentação

MathKernel

Um kernel matemático multi-motor com consciência de evidências — utilizável tanto como biblioteca Python (mathkernel) quanto como servidor MCP (mathkernel-mcp) — para que aplicações e LLMs possam fazer matemática avançada preservando suposições, proveniência e evidências específicas de cada afirmação.

O LLM interpreta a intenção; o MathKernel estabelece a evidência matemática.

Resultados matemáticos carregam um nível de confiança explícito, uma etiqueta de motor e um rastro de derivação. Cálculo exato, certificados verificados, resultados simbólicos, enclausuramentos certificados, evidência empírica e provas formais são afirmações distintas. Aritmética exata por si só não é uma prova formal; a ancestralidade de entradas aproximadas não deve desaparecer silenciosamente.

version python engines license


Sumário

Por quê

LLMs são bons em intenção matemática e ruins em aritmética matemática. O MathKernel inverte a divisão de trabalho: o modelo analisa, planeja e interpreta; o kernel calcula e registra evidências específicas de cada afirmação. Algumas afirmações usam certificados independentes ou verificações cruzadas; outras são cálculos exatos em um único motor. A concordância entre motores por si só não é uma prova, e um único rótulo de confiança não substitui o pacote de evidências.

alt text

Arquitetura

O MathKernel é uma camada de orquestração tipada, e não um único solucionador. A fachada pública é responsável por análise sintática, contextos, identidade de objetos, persistência, composição de evidências, política de recursos e rastreamento de derivação; os adaptadores de domínio são responsáveis pela matemática em si. As camadas de apresentação ficam a jusante e não podem alterar silenciosamente a afirmação que está sendo feita.

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

Essa separação é deliberada: um renderizador pode apresentar evidências, mas não cria evidências matemáticas mais fortes apenas por produzir um gráfico polido ou um artefato de áudio.

Matriz de recursos

DomínioSuperfície de computaçãoMotoresTeto de verificação / evidência
Álgebra simbólicaparse, substituir, simplificar/expandir/fatorar, resolver, sistemasSymPySYMBOLIC; ancestralidade da entrada pode reduzi-lo
Cálculodiferenciação, integração, limites, séries, somas, produtosSymPySYMBOLIC + condições
Transformadas integraisLaplace/Fourier/Mellin/Z bilateral, inversas, ROC e obrigações de propriedadeadaptador de transformada tipada + SymPySYMBOLIC; NUMERIC para ancestralidade aproximada
Análise complexaramos/domínios, zeros/singularidades, resíduos, séries de Laurent, contornos, princípio do argumento, continuação, mapas conformesadaptador complexo tipado + SymPyidentidades definidoras SYMBOLIC; certificados EXACT de winding apenas para geometria exata, limitados pela ancestralidade caso contrário
Probabilidade contínuadistribuições univariadas/conjuntas/condicionais tipadas, transformações, marginais, Bayes, covariância, divergência, estatísticas de ordemadaptador de probabilidade tipado + SymPyevidência de normalização/identidade SYMBOLIC; inexistência matemática preservada
Grafos exatosgrafos simples/dirigidos/ponderados/multigrafos tipados, travessia, componentes, caminhos mais curtos, MST, fluxo máximo/corte mínimo, emparelhamento bipartido, trilhas de Euler, coloração, ordenação topológica, ciclos, centralidade, isomorfismoalgoritmos determinísticos exatos de grafos sobre Fraction + kernels de travessia CSR njitcertificados de testemunha EXACT; otimalidade NP-difícil é OPTIMUM/CANDIDATE/IMPOSSIBLE/UNKNOWN, nunca inexistência heurística
Combinatória exataclasses combinatórias, contagens exatas, geração preguiçosa, funções geradoras ordinárias/exponenciais, recorrênciasenumeração exata de inteiros/Fraction + SymPy + kernels de recorrência njit verificadoscontagens EXACT e verificações de recorrência/coeficiente
Álgebra finitagrupos finitos, grupos de permutação, grupos abelianos, homomorfismos, Z/nZ, GF(p^m), módulos, formas normais de Smith/Hermiteálgebra exata + combinatória SymPy + kernels njit de Cayley/GF(p)[x]certificados EXACT de axioma, homomorfismo, irredutibilidade e forma normal
Álgebra lineardeterminante, inversa, multiplicar, posto, RREF, autovalores, soluções exatasSymPyEXACT para aritmética exata; caso contrário, limitado pela ancestralidade
Raciocínioplanejamento de DAG de obrigações, equivalência, contraexemplosSymPy + Z3 + LeanSYMBOLIC / EXACT / FORMAL por verificador
Numérica certificadaavaliação de precisão arbitrária e envoltórios intervalaresmpmath + mpmath.ivCERTIFIED NUMERIC ou NUMERIC
Inteirosprecisão arbitrária, gcd/lcm, primalidade, fatoração, CRT, aritmética modularexato + numba em loteEXACT
Geração de códigoemissão TypeScript/Python/Rust, verificação de tipos, round-trip simbólico, sandboxcompiladores + SymPyverificação SYMBOLIC; nunca mais forte que a fonte
Campos bináriosaritmética/construção GF(2^m) e irredutibilidade de Rabinkernels njit de n-limboscertificados EXACT
Álgebra linear GF(2)posto, espaço nulo, potências, Berlekamp–Massey, colunas sem transporteinteiros empacotados em bitsEXACT
Transformadas discretasFWHT exato com fallback bigintnumbaEXACT
Dinâmica finitatransferência Koopman/observação, visibilidade, tensores defasados, diagnósticosexato + NumPy/CuPyEXACT ou NUMERIC, selecionado explicitamente
Tensores de Markov ramificadosárvores de Markov finitas enraizadas arbitrárias, leis exatas de folhas/cumulantes, certificados de achatamento de arestas verdadeiras, observações estocásticas de folhas, transferência de posto de canal, recuperação exata e fusão coletiva de sensoressoma-produto/enumeração exata Fraction + diagnósticos SVD NumPyidentidades algébricas/postos/recuperação EXACT; evidência NUMERIC de valores singulares e condicionamento mantida separada
Detectabilidade de relação conectadaleis puras de interação conectada, visibilidade estocástica de modos, espectros de expectativa condicional, retenção exata qui-quadrado/Fisher, certificados de invisibilidade, limites finitos de amostra e fusão de sensoresleis exatas Fraction + SVD NumPy ponderado + validação exata de razão de verossimilhança binomialidentidades de transferência/informação EXACT e limites inferior/superior; verificações EMPIRICAL de Monte Carlo permanecem rotuladas separadamente
Visibilidade de subespaço de relaçãotransferência de Gram Fisher multi-relação, espectros de visibilidade generalizados, certificados de colisão de combinação cega, projeto de sensores com restrição de custo, partições empíricas e correção de covariância de longo prazoálgebra de probabilidade finita + sistemas de autovalores generalizados NumPy ponderados + enumeração exata finita de sensoresidentidades EXACT de transferência local/processamento de dados/colisão; espectros NUMERIC e verificações EMPIRICAL de dependência/SkewDB retêm escopo explícito
Geometria de informação de observação intrínsecatangentes Fisher de simplex finito, espectros de informação retida invariantes a coordenadas, transferência exata local qui-quadrado, limites inferiores de teste na pior direção, limites superiores finitos de Bhattacharyya, bootstrap de espectro iid/bloco/cluster, adaptador SkewDB de resolução localálgebra de probabilidade finita + sistemas de autovalores generalizados ponderados + validação exata binomial SciPy + reamostragem com sementeidentidades EXACT de tangente finita/processamento de dados/divergência e limites finitos de teste simples; sistemas de autovalores NUMERIC e verificações de incerteza EMPIRICAL permanecem rotulados separadamente
Inferência de relação compostaum teste de subespaço de relação agnóstico a direção, limite finito ciente de dimensão, geometria Fisher eficiente a incômodos, regiões de autoespaço, bootstrap studentizado/bloco, diagnósticos HAC e de especificação incorretaálgebra Fisher finita + sistemas de autovalores NumPy + calibração qui-quadrado opcional SciPy + reamostragem com sementeidentidades EXACT de incômodo/processamento de dados e garantia conservadora de pontuação limitada; calibração composta ASYMPTOTIC e verificações EMPIRICAL de bootstrap/dependência são rotuladas
Fourier finitocálculos ciclotômicos de DFT/transferência/coeficiente/órbitaexato + FFT NumPyEXACT ou verificação cruzada NUMERIC
Busca de fechamentorelações de fechamento irredutíveis cíclicas/XORnjit meet-in-the-middleevidência EXACT de testemunha/exaustiva
Dinâmica condicionadaacesso a órbitas, cociclos, fechamentos e síntese de simetriaenumeração exata + reescrita canônicatestemunhas EXACT
Cumulantesmomentos/cumulantes e estatísticas de amostra conectadasexato + NumPyálgebra EXACT ou amostras EMPIRICAL
Conjuntos e lógicaálgebra de conjuntos, pertinência, verdade quantificada e eliminaçãoconjuntos SymPy + Z3testemunhas EXACT SMT onde estabelecidas
Álgebra polinomialbases de Gröbner, divisão, resultantes, fatoração, pertinência a ideaisalgoritmos polinomiais exatos SymPycertificados algébricos EXACT
Probabilidade discretaVAs racionais, Bayes, quantidades de Markov, amostragem com sementeFraction + NumPydistribuições EXACT; amostragem EMPIRICAL
Estatística e sistemas estocásticosamostras tipadas, GLMs, inferência por posto/reamostragem, análise de sobrevivência/séries temporais; leis de Poisson/Wiener/GP/CTMC; SDEs de Itô tipadas, caminhos Euler–Maruyama/Milstein escalar e estudos de convergência acopladosadaptadores tipados estatísticos/sobrevivência/séries temporais/estocásticos/SDE + SymPy + NumPy/SciPy/mpmathidentidades EXACT permanecem separadas de ajustes/condicionamento/exponenciais NUMERIC rotulados e reamostragem/simulação EMPIRICAL com semente; sem validade implícita de processo/modelo, teorema de convergência, inferência populacional ou causalidade
Tensorestensores esparsos, contração e soluções esparsasexato + njit + CuPyEXACT ou NUMERIC por caminho aritmético
EDOs / EDPsclassificação simbólica de EDOs/dsolve; solvers numéricos de PVI/EDPs nomeadas; sistemas de EDP tipados, formas fracas, malhas de simplex orientadas, espaços P1, montagem esparsa, soluções algébricas verificadas, indicadores residual-salto, marcação, refinamento conforme, transferência nodal e taxas de estimador observadasadaptadores tipados de EDP/FEM/adaptatividade + SymPy + SciPy esparso + mpmath + njit + CUDA/CuPyestimadores e taxas empíricas retêm ancestralidade e nunca se tornam limites contínuos rigorosos ou teoremas de convergência
Otimizaçãopontos críticos, KKT, LP exato, não linear numérico/multistartFraction + njit + pool de processoscertificados EXACT de LP ou candidatos NUMERIC
Unidadesdimensões SI, conversões racionais e propagação de unidades semânticasFraction exatoEXACT
Garantiaobrigações intervalares, replay Lean, bolas Arb, persistência e fuzzingmpmath.iv + flint + LeanCERTIFIED NUMERIC / FORMAL / evidência diferencial
Prova de teoremasportfólio SMT e certificados LeanZ3 + Leantestemunha EXACT SMT ou prova FORMAL verificada por kernel
Varreduras exaustivasbuscas de Collatz e cuboidesnumba + CUDA + pools de processosEXACT apenas quando a cobertura é exaustiva
Tarefas assíncronasenviar/status/resultado/listar com recuperação que preserva evidênciapool de tarefasPreserva a evidência subjacente
Visualizaçãoartefatos matemáticos interativos/estáticos neutros a renderizadorPython SVG + three.js embutidoSem nova evidência; preserva a confiança da fonte
Sonificaçãomapeamentos declarativos de áudio científico e WAV determinísticoPython PCM + WebAudioApenas observação candidata
Artefatos multimodaismontagem sincronizada de artefatos visuais/áudioesquema compartilhado de artefatosReivindicação/evidência incluída mais fraca
Geometria diferencialvariedades, cartas orientadas, métricas, mapas de coordenadas, campos tensoriais, formas, curvatura, derivadas covariante/Lie/exterior, operações de cunha/interior/pullback/Hodgeadaptador de geometria tipado + SymPyidentidades SYMBOLIC com domínios explícitos, Jacobianos, assinatura e ancestralidade; entrada numérica permanece NUMERIC
Geometria computacionalpontos/conjuntos concretos, polígonos, politopos de semiespaço, triangulações, envoltória, contenção, interseção, vizinho mais próximo, Delaunay e Voronoideterminantes exatos SymPy + filtros de ponto flutuante adaptativostopologia EXACT para coordenadas exatas; NUMERIC apenas quando filtros decidem; caso contrário, resultado AMBIGUOUS explícito
Topologia algébricacomplexos de cadeia simpliciais/cúbicos/integrais finitos, conversão exata de triangulação, fronteiras orientadas, característica de Euler, homologia sobre Z/Q/GF(p)matrizes inteiras exatas + forma normal de Smith certificada + eliminação racional/modularcertificados EXACT de fechamento de face, fronteira², posto-nulidade, quociente, torção e Euler–Poincaré

Superfície de funcionalidade tipada

As ferramentas MCP genéricas math_object_create, math_object_get e math_apply expõem as seguintes operações composicionais. Este é o inventário completo de operações tipadas; math_capability_query é a fonte viva dos esquemas de parâmetros, tipos de saída, limites, motores e métodos de verificação.

DomínioObjetoOperações
Transformadas integraisTransformProblemapply, solve, verify
Análise complexaComplexFunctionanalytic_continuation, analyticity, argument_principle, classify_singularity, conformal_at, conformal_map, contour_integral, derivative, laurent_series, residue, singularities, zeros
Análise complexaContourwinding_number
Probabilidade contínuaDistributioncdf, characteristic_function, convolve, cross_entropy, entropy, expectation, kl_divergence, mean, mgf, mixture, moment, order_statistic, pdf, quantile, query, survival, truncate, variance, verify
Probabilidade contínuaJointDistributionbayes, condition, correlation, covariance, marginal, order_statistic, verify
Probabilidade contínuaConditionalDistribution, RandomVariablecondicional cdf/mean/pdf/variance/verify; variável aleatória transform
Grafos exatosGraph, MultiGraphbfs, centrality, coloring, connected_components, cycle_detection, dfs, euler_path, matching, shortest_path, verify; Graph também possui isomorphic_to
Grafos exatosDirectedGraphbfs, centrality, cycle_detection, dfs, shortest_path, strongly_connected_components, topological_sort, verify
Grafos exatosWeightedGraphbfs, 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
CombinatóriaCombinatorialClass, GeneratingFunctionclasse count/generate/verify; função geradora 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
SinaisContinuousSignal, DiscreteSignalcontínuo sample; discreto autocorrelation, convolution, correlation, cross_spectrum, dft, resample, stft, window
SinaisSpectrum, Filter, FilterDesign, FilterStateespectro idft; filtro apply_signal/initial_state/to_transfer_function; projeto design; estado process
ControleTransferFunctionbode, feedback, frequency_response, impulse_response, nyquist, poles, root_locus, series, stability, step_response, to_filter, to_state_space, to_zero_pole_gain, zeros
ControleStateSpaceSystembode, 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
ControleDiscreteControlSystembode, controllability, frequency_response, nyquist, observability, poles, stability, to_state_space, to_transfer_function, zeros
ControleZeroPoleGain, TransferMatrixZPK bode/nyquist/poles/to_transfer_function/zeros; matriz entry
Controle sequencialFiniteHorizonLQR, KalmanState, MPCPlanLQR control/rollout/verify; Kalman predict/update; MPC first_control/verify
OtimizaçãoOptimizationProblemcertify_milp, solve, to_conic, verify_certificate, verify_milp_certificate
OtimizaçãoConicProblem, QuadraticallyConstrainedProblemsolve, verify_certificate
Geometria diferencialMetricinverse_metric, christoffel, riemann, ricci, scalar_curvature, einstein, geodesic_equations
Geometria diferencialCoordinateMapjacobian, verify
Geometria diferencialTensorFieldcovariant_derivative, lie_derivative
Geometria diferencialDifferentialFormwedge, exterior_derivative, interior_product, pullback, hodge_star
Geometria computacionalPointdistance_to
Geometria computacionalPointSetorientation, incircle, segment_intersection, convex_hull, nearest_neighbor, delaunay, voronoi
Geometria computacionalPolygonverify, contains, intersection, triangulate
Geometria computacionalPolytopeverify, contains
Geometria computacionalTriangulationverify, to_simplicial_complex
Topologia algébricaSimplicialComplex, CubicalComplexverify, chain_complex, boundary_matrix, homology
Topologia algébricaChainComplexverify, boundary_matrix, homology, euler_characteristic
Evidência estatística e inferênciaStatisticalSampledescribe, covariance, empirical_distribution, evidence_profile, mann_whitney, wilcoxon, kruskal_wallis, ks_2samp, spearman, kendall, permutation_test, bootstrap
Análise de sobrevivênciaSurvivalDatasetverify, kaplan_meier
Análise de sobrevivênciaKaplanMeierEstimateverify, survival_at
Análise de sobrevivênciaCoxProportionalHazardsModelverify, fit
Análise de sobrevivênciaCoxPHFitverify, diagnostics, predict_partial_hazard
Séries temporaisTimeSeriesDatasetverify, acf, pacf, stationarity_test
Séries temporaisTimeSeriesAnalysisverify
Séries temporaisTimeSeriesModelverify, fit
Séries temporaisTimeSeriesFitverify, diagnostics, forecast
Séries temporaisTimeSeriesForecastverify
Processos estocásticosPoissonProcessverify, pmf, moments, increment_distribution
Processos estocásticosWienerProcessverify, finite_dimensional, increment_distribution
Processos estocásticosGaussianProcessverify, finite_dimensional, condition
Processos estocásticosContinuousTimeMarkovChainverify, transition_matrix, distribution, stationary_distribution
Resultados de processos estocásticosFiniteDimensionalDistribution, GaussianProcessPosterior, CTMCTransitionverify
Equações diferenciais estocásticasStochasticDifferentialEquationverify, simulate, convergence_study
Simulações de EDESDESimulationverify, path, terminal_values
Convergência de EDESDEConvergenceStudyverify
Modelos lineares generalizadosGeneralizedLinearModelverify, fit
Modelos lineares generalizadosGLMFitverify, diagnostics, predict
Resultados não paramétricosNonparametricTestResult, ResamplingResultverify
Equações diferenciais parciaisPDEProblemverify, classify, boundary_compatibility, derive_weak_form
Resultados de EDPPDEClassification, PDECompatibilityReportverify
Formulações fracasWeakFormverify
Malha de elementos finitosFEMMeshverify, reference_element, finite_element_space
Elemento de referênciaReferenceElementverify, basis, quadrature
Resultados de elementos finitosBasisFunctionSet, QuadratureRule, FiniteElementSpaceverify
Álgebra de MEFAssembledSystemverify, solve
Solução de MEFFEMSolutionverify, estimate_error
Estimativa de erro de MEFFEMErrorEstimateverify, mark, compare
RefinamentoRefinementMarkingverify, refine
Malha refinadaRefinedMeshverify, reference_element, finite_element_space
Transferência de malha / convergênciaMeshTransfer, FEMConvergenceObservationverify

Os objetos de origem usam o mesmo limite: objetos de transformada/complexo/probabilidade, grafos e estruturas combinatórias, grupos/aneis/corpos/modulos finitos, sinais/filtros/sistemas de controle, problemas de otimização e ManifoldChartMetric/CoordinateMap/TensorField/DifferentialForm, além de Point/PointSet/Polygon/Polytope/Triangulation, e finitos SimplicialComplex/CubicalComplex/integral ChainComplex, e observações StatisticalSample tipadas, especificações GeneralizedLinearModel, e fontes de sobrevivência SurvivalDataset/CoxProportionalHazardsModel, além de fontes de tempo ordenado TimeSeriesDataset/TimeSeriesModel, e fontes de lei de processo PoissonProcess/WienerProcess/GaussianProcess/ContinuousTimeMarkovChain, modelos Itô StochasticDifferentialEquation, e equações/domínios/condições PDEProblem estruturados. NonparametricTestResult, ResamplingResult, KaplanMeierEstimate, GLMFit, e CoxPHFit são registros somente derivados, vinculados à origem, com reprodução determinística exata, numérica ou de fluxo com semente. TimeSeriesAnalysis, TimeSeriesFit, e TimeSeriesForecast, FiniteDimensionalDistribution, GaussianProcessPosterior, e CTMCTransition seguem o mesmo limite de reprodução somente de saída. PDEClassification, PDECompatibilityReport, e WeakForm reproduzem seu resultado de parte principal, traço representado ou identidade fraca completa a partir do problema de origem. FEMMesh vincula essa forma fraca e uma triangulação verificada opcional. ReferenceElement, BasisFunctionSet, QuadratureRule, e FiniteElementSpace são somente de saída com ancestralidade reproduzível de origem única ou múltipla. AssembledSystem retém contribuições globais locais e esparsas, além de suas fontes de espaço/quadratura; FEMSolution somente de saída retém a fonte exata do sistema montado e diagnósticos de solucionador reproduzíveis. Registros somente de saída G.5 FEMErrorEstimate, RefinementMarking, RefinedMesh, MeshTransfer, e FEMConvergenceObservation retêm a cadeia completa de solução para malha filha, política de marcação, células pai/filho, pesos de interpolação e entradas de taxa empírica. SDESimulation e SDEConvergenceStudy adicionalmente reproduzem seus fluxos PCG64 e discretizações. Tipos somente derivados não podem ser forjados por meio de entrada pública.

Instalação

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

A partir de um checkout do código-fonte:

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 opcionais:

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 é instalado por padrão na primeira inicialização do mathkernel-mcp e via mathkernel-lean-setup (elan + um lake workspace fixado). Pule com MATHKERNEL_SKIP_LEAN_INSTALL=1 (CI/wheel smoke).

Nota sobre GPU: As wheels do CuPy não incluem bibliotecas CUDA. O extra cuda instala os pacotes pip nvidia-*-cu12 correspondentes — sem eles, os carregamentos de DLL cuBLAS/NVRTC falham mesmo que import cupy tenha sucesso. A disponibilidade de GPU é verificada em tempo de execução com um matmul real, então uma pilha quebrada degrada graciosamente para CPU. Verifique sua pilha com python scripts/gpu_smoke.py.

Início rápido — servidor MCP

mathkernel-mcp

O servidor fala MCP via stdio (FastMCP 3) e envia instruções principais ao cliente no momento da inicialização: descobrir → analisar → contexto → disciplina de confiança → jobs assíncronos → proveniência. 162 ferramentas, todas prefixadas com math_.

Sessão 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

Varreduras de longa duração são assíncronas:

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

Início rápido — biblioteca Python

O servidor MCP é uma camada de transporte fina; tudo está disponível in-process:

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 independentes (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) são utilizáveis sem a fachada quando você não precisa de rastreamento de derivação.

Modelo de confiança

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

A confiança geral é limitada pela evidência mais fraca necessária para estabelecer o resultado reivindicado — nunca a confiança máxima emitida por qualquer nó individual. A discordância independente entre backends é preservada como um conflito explícito, não calculada como média.

Cada MathResult também carrega um evidence_bundle com evidências separadas de computação, prova, certificado, numérica, de modelo e empírica. claim_evidence retém esses pacotes por conclusão em vez de achatar reivindicações diferentes em um único escore. O campo legado trust permanece um resumo conservador e é automaticamente limitado pela evidência necessária para o resultado. Um justified_trust fornecido pelo produtor é um teto, nunca uma substituição; uma prova ou certificado não verificado suporta apenas unknown.

Status semânticos distinguem a força de prova ou certificação de resultados matemáticos como does_not_exist, undefined, infeasible e unsupported. Essas distinções sobrevivem à serialização MCP, recuperação de jobs assíncronos, reprodução de derivação, visualização e montagem de artefatos multimodais.

O registro de capacidades separa níveis de confiança anunciados de métodos de verificação. Consulte-o por domínio, tipo de entrada/saída, operação, nível de confiança, método de verificação ou mecanismo; registros de capacidade também identificam seu manipulador de execução e dimensões de custo significativas. Planos de expressão registram a rota de capacidade resolvida antes que o executor de obrigações existente a execute.

Caminhos exatos e numéricos são estritamente separados: ferramentas koopman/dinâmica finita usam por padrão exact=true (valores racionais/ciclotômicos de grau de prova); exact=false seleciona o caminho numérico vetorizado (GPU CuPy quando utilizável) e rebaixa a confiança para numeric.

Literais decimais são observações aproximadas. Um decimal (RealNode) em qualquer lugar de uma expressão limita sua confiança a numeric de parse em diante — 0.1 + x é analisado como numeric, 1/2 + x como symbolic. Certificados formais (Lean) e contraexemplos exatos de SMT são recusados para entradas aproximadas, porque os backends codificariam sintaxe decimal como racionais exatos — provando silenciosamente uma afirmação diferente. Use racionais exatos ou certificação por intervalos quando evidência de grau de prova for necessária.

Matemática simbólica contínua

Domínios contínuos usam objetos tipados e o modelo composicional object_createapply em vez de expor uma superfície CAS plana. Cada operação registra um DAG de quatro obrigações: validação de entrada tipada, cálculo de candidato, verificação de invariante de domínio e reconciliação conservadora de evidências.

  • Transformadas integrais — transformadas de Laplace, Fourier, Mellin e Z bilateral com convenções, suposições e regiões de convergência explícitas. A Z inversa usa extração de Laurent/resíduos ciente de anel quando justificada. A verificação registra obrigações de ida e volta, linearidade, convolução, diferenciação, teorema de valor e ROC separadamente; obrigações não resolvidas permanecem unknown.
  • Análise complexa — derivadas, candidatos a analiticidade, zeros, singularidades, séries de Laurent, resíduos, integração de contorno, números de enrolamento, contabilidade do princípio do argumento, continuação de identidade conservadora e mapas conformes cientes de domínio. Convenções de ramo, cortes, pontos excluídos, orientação de contorno e incidentes de fronteira permanecem explícitos.
  • Probabilidade contínua — distribuições univariadas tipadas, de variável aleatória, conjuntas e condicionais; PDF/CDF/sobrevivência/quantil, momentos, transformadas, entropia, truncamento, convolução, misturas, divergência, marginais, condicionamento/Bayes, covariância/correlação e estatísticas de ordem. Suporte, restrições de parâmetros, Jacobianos e ramos inversos são retidos.

A disponibilidade simbólica é evidência candidata, não prova independente. Identidades do mesmo mecanismo são limitadas a symbolic; ancestralidade decimal permanece limitada a numeric. does_not_exist (por exemplo, uma média de Cauchy) é distinto de um método não suportado ou de uma questão de convergência não resolvida.

Convenções e suposições fazem parte do objeto. Sinal de Fourier e normalização, variáveis de origem/destino da transformada, ramos/cortes complexos, suportes de probabilidade e restrições de parâmetros nunca são selecionados silenciosamente. A orientação de contorno e a contabilidade de singularidades são obrigatórias onde o teorema depende delas.

A verificação é específica da operação. Transformadas retêm cada obrigação de identidade e ROC verificada ou não resolvida. Resíduos são comparados com fórmulas de limite/derivada definidora ou coeficiente de Laurent; reivindicações de contorno retêm singularidades, cortes e números de enrolamento incluídos. Probabilidade verifica normalização, não negatividade ciente de suporte, limites/derivada/monotonicidade de CDF quando decidível, e ramos de Jacobiano. Essas são verificações simbólicas, a menos que um certificado exato ou registro numérico separado diga o contrário.

Falhas usam status semânticos: candidate, unknown, unsupported, does_not_exist e error são distintos. Limitações conhecidas incluem suportes conjuntos não produtivos, continuação sem um domínio de origem sobreposto explícito, entradas sensíveis a ramos do princípio do argumento, transformadas cuja ROC o SymPy não consegue estabelecer, e mudanças multivariadas gerais de variáveis sem ramos inversos/Jacobianos fornecidos.

O trabalho simbólico contínuo é limitado pelos limites globais de AST/saída/tempo de solucionador e limites dedicados de contorno, dimensão conjunta, componente de mistura, ordem de série, estatística de ordem e ramo inverso. Aumente o valor MATHKERNEL_MAX_* correspondente explicitamente quando uma solicitação maior for 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 e análise de PRNG

Uma capacidade distinta: análise espectral exata de sistemas dinâmicos finitos (X, μ, T, O) — construída para (e validada em) análise de estrutura de PRNG.

  • Suíte Koopman — matriz de transporte Q, transferência de observação C, visibilidade de modo ρ_O, tensores de estado defasados (brutos/conectados), estatísticas observadas, diagnósticos IPR/entropia. Bases de Walsh para GF(2)^r, bases de caracteres para Z_M.
  • Transferência estocástica de observação (API de biblioteca) — contrações exatas FiniteJointLaw para leis conjuntas latentes finitas arbitrárias; momentos/cumulantes ordenados de caminhos Markovianos com os operadores de multiplicação necessários; certificados de defeito de multiplicatividade por estado; e dilatações determinísticas exatas com ruído finito para núcleos Markovianos racionais. O piloto publicado de quartetos de primatas acompanhante registra deliberadamente que o diagnóstico anterior de divisão zero K3ST não sobrevive fora de suas suposições baseadas em grupos.
  • Tensores Markovianos gerais ramificados (API de biblioteca) — leis exatas de soma-produto FiniteMarkovTree e cumulantes em árvores enraizadas heterogêneas; certificados exatos de achatamento de arestas L M R com o limite agudo de posto de transição; canais estocásticos locais de observação como transformadas de Kronecker; recuperação exata de inversa à esquerda, testemunhas de colisão, fusão coletiva de sensores e limites de valores singulares condicionados ao canal. O piloto publicado de primatas distingue identificabilidade algébrica de estabilidade de amostra finita.
  • Inferência filogenética estatística (API de biblioteca) — projeção no simplex de probabilidade; EM com canal conhecido e recuperação ridge restrita; seleção de regularização por validação retida; covariância multinomial e informação de Fisher no espaço tangente; verossimilhança multinomial de posto não negativo; diagnósticos de posto de Wald por covariância; e pontuação de quartetos segura contra empates. Experimentos controlados GM(4) quantificam a origem compartilhada de valores singulares da perda de visibilidade e da instabilidade inversa. Dois pilotos fixos com dados publicados adicionam verificações de bootstrap por sítio e por bloco móvel sem reivindicar precisão competitiva ampla.
  • Benchmarking filogenético congelado (API de biblioteca) — ingestão de FASTA, PHYLIP relaxado, NEXUS prático e Newick; manifestos portáteis SHA-256 de fonte; protocolo canônico e bloqueios de corpus; amostragem de quartetos cega a resultados a partir de divisões de árvore de referência; proveniência de sítios de caso completo; reamostragem de sítios, blocos circulares, estratificada por partição e de partição inteira; linhas de base de cauda de posto, distância p e log-det normalizado; e resumos de corpus seguros contra empates. A execução agrupada avalia 22 unidades correlacionadas pré-declaradas de dois alinhamentos de fonte publicados e uma grade de estresse de verdade conhecida de 1.920 alinhamentos. Um bloqueio separado fixa os primeiros 20 conjuntos de dados elegíveis do BenchmarkAlignments antes da aquisição; esse corpus externo está explicitamente pendente em vez de ser silenciosamente substituído.
  • Detecção de relação conectada observável (API de biblioteca) — leis exatas e numéricas de interação pura; espectros singulares de expectativa condicional ponderada; visibilidade estocástica específica de modo; transferência exata de amplitude conectada por canal local; retenção de informação qui-quadrado e Fisher nula; certificados exatos de invisibilidade; limites finitos necessários e construtivos suficientes de amostra; escalonamento de paridade binária; e fusão de sensores complementares. O teorema controlado mostra que perdas locais de visibilidade multiplicam em amplitude e elevam ao quadrado em informação, resultando em uma lei de custo de detecção s^(-2d) na especialização binária homogênea.
  • Visibilidade de subespaço de relação e design de sensores (API de biblioteca) — leis de relação locais finitas multiparâmetro; matrizes de Fisher Gram latentes e observadas; autovalores generalizados de informação retida e direções principais de visibilidade; certificados exatos de colisão cegos a observação; multiplicadores de informação e amostra em nível de direção; seleção de subconjunto de sensores por posto, E-ótimo, traço, D-ótimo e pseudo-logdet; transferência empírica eficiente de partição; e correção de média de pontuação por covariância de longo prazo. Um adaptador SkewDB congelado adiciona auditoria de fonte/esquema, divisões de descoberta/validação/desafio por taxonomia retida, pré-processamento apenas de descoberta, hash de fonte e um executor de dados brutos com falha fechada. O fixture SkewDB agrupado é explicitamente sintético porque a carga completa atual não foi adquirida neste ambiente.
  • Geometria de relação invariante a coordenadas (API de biblioteca) — vetores tangentes de simplex finito com a métrica de Fisher intrínseca; pushforward tangente estocástico; autovalores generalizados de informação retida invariantes a coordenadas; equivalência exata de pontuação/tangente; transferência exata de qui-quadrado local; limites mínimos de amostra necessários minimax na pior direção; contagens suficientes pontuais finitas de Bhattacharyya e baseadas em retenção; e intervalos de bootstrap iid, de bloco móvel e de cluster para espectros de relação ordenados. Um adaptador SkewDB de resolução local bloqueado por SHA-256 converte faixas cumulativas documentadas *_fit.csv em incrementos de janela e separa explicitamente entradas genuínas do fixture gerado parametrizado por fonte agrupado.
  • Fourier finito — aritmética exata em ℚ(ζ_L) via polinômios ciclotômicos: DFT sobre Z_M, transformadas de transferência de saída, coeficientes de diferença de dois pontos, transformadas de Fourier de medida, correções de órbita.
  • Busca de fechamento — relações irredutíveis curtas selecionadas pela dinâmica: cíclicas (Σ k_j·a^j ≡ 0 mod m) e binárias (⊕ (L^{jK})ᵀ w_j = 0), meet-in-the-middle com limites de peso L1/Hamming.
  • GF(2^m) a partir de transições — reconstruir o corpo (base cíclica de órbita dupla, polinômio mínimo/de redução, verificado por Rabin) puramente a partir das colunas de transição GF(2)-lineares de um gerador.
  • Dinâmica condicionada por estado — acesso exato a órbita por estado T^κ(x)(x): resolução de menor defasagem, conversão de simetria para acesso, composição de cociclos, provas exaustivas de fechamento aditivo, mapas de acesso afins simbólicos, resolução de órbita GF(2) baby-step/giant-step, fechamentos preditivos esparsos de defasagem gigante, e descoberta de simetria restrita onde a sondagem numérica apenas classifica candidatos — provas de reescrita canônica ou exaustivas decidem.

A árvore scripts/ contém reproduções uniformes de ponta a ponta para mais de 25 geradores (famílias xorshift/xoroshiro/xoroww, MT19937, Melg19937, WELL19937a, MRG32k3a, PCG32/64(+fast), LXM, SplitMix64, SFC64, JSF64, Romu, Philox, Threefry, RXS-M-XS), cada um executável do zero com scripts/families/run_all.py e scripts/companion/run_all.py. Os dados de referência são fornecidos em scripts/data/ — nenhum fixture externo é necessário.

Matemática de engenharia

O MathKernel fornece matemática de engenharia tipada para sinais, sistemas de controle e otimização com restrições, preservando os mesmos contratos de evidência e persistência do núcleo simbólico.

Sinais e espectros

Sinais contínuos e amostrados carregam domínios explícitos, grades de amostragem e unidades. Representações espectrais são tipadas em vez de tratadas como matrizes anônimas. Filtros FIR/IIR e projetos de filtro retêm coeficientes, convenções e sinais de origem, enquanto o estado de streaming imutável torna o processamento bloco a bloco reproduzível. Operações de resposta em frequência e tempo registram se usaram álgebra simbólica exata ou avaliação numérica.

Sistemas de controle

Modelos SISO e MIMO tipados suportam representações em espaço de estados e função de transferência, conversão contínuo/discreto, polos e zeros, verificações de estabilidade, discretização, construção de controladores e construção de observadores. LQR, LQR de horizonte finito, filtragem de Kalman em estado estacionário, composição LQG e estados imutáveis de predição/atualização de Kalman retêm ancestralidade de planta/modelo e separam verificações algébricas de suposições de modelagem.

MPC de horizonte finito com restrições mantém separadas as afirmações de viabilidade, otimalidade, invariância terminal, viabilidade recursiva e estabilidade. Análise no domínio da frequência inclui representações de Bode, Nyquist e lugar das raízes juntamente com respostas temporais verificadas.

Otimização e certificados

Programas lineares e quadráticos podem retornar testemunhas exatas/verificáveis de otimalidade onde o fragmento suportado permite. LPs inviáveis podem expor certificados de Farkas e problemas ilimitados podem expor raios de recessão. Resultados de busca MILP carregam árvores de prova reproduzíveis em vez de apenas um valor incumbente. Fluxos de trabalho cônicos e com restrições quadráticas suportam cones de produto SOCP/SDP limitados e certificados estilo Lagrangeano em seus fragmentos declarados.

Solucionadores candidatos nativos externos são isolados em processos novos com solicitações limitadas e término por tempo limite rígido. A geração de candidatos e a verificação de certificados são etapas distintas: um solucionador que encontra um ponto não estabelece por si só uma afirmação mais forte do que o verificador pode checar.

Geometria e topologia

Geometria diferencial e cálculo tensorial

Objetos imutáveis Manifold, Chart e Metric alimentam saídas tipadas GeometryTensor, Connection e GeodesicSystem. Operações métricas calculam métricas inversas, símbolos de Christoffel, curvatura de Riemann/Ricci/escalar/Einstein e equações geodésicas afins. Verificações simbólicas exatas cobrem identidades inversas, liberdade de torção, compatibilidade métrica, simetrias de Riemann, a primeira identidade de Bianchi e a identidade de Bianchi contraída. Domínios de carta e condições de não degenerescência métrica permanecem explícitos.

Objetos direcionais CoordinateMap carregam Jacobianos explícitos e verificações de composição inversa. Objetos densos TensorField cientes de variância e objetos esparsos canônicos DifferentialForm suportam derivadas covariantes e de Lie, produtos wedge, derivadas exteriores, produtos interiores, pullbacks e estrelas de Hodge. Verificações incluem comutatividade graduada, d²=0, comutação de pullback com d, compatibilidade métrica, composição de mapas de coordenadas e o sinal de dupla estrela de Hodge quando a assinatura métrica é fornecida. Orientação e assinatura nunca são adivinhadas.

Geometria computacional

Objetos Point, PointSet, Polygon, de semiespaço Polytope, Triangulation e derivados VoronoiDiagram fornecem predicados exatos de orientação, incírculo e interseção de segmentos, envoltórias convexas por cadeia monotônica, contenção por enrolamento, vizinhos mais próximos exatos por distância ao quadrado, recorte de orelhas certificado, recorte de polígonos convexos, triangulação de Delaunay com circuncírculo vazio e duais de Voronoi finitos com raios ilimitados explícitos. Predicados decimais usam filtros conservadores de erro de ponto flutuante; quando a topologia não pode ser estabelecida, o resultado é explicitamente ambíguo em vez de promovido a uma classificação exata.

Topologia algébrica

Objetos exatos finitos SimplicialComplex, CubicalComplex e integrais ChainComplex expandem células para fechamentos de face canônicos e derivam matrizes de fronteira orientadas. Complexos verificam boundary[k-1] * boundary[k] = 0 antes que a homologia seja tentada. homology calcula postos livres e torção inteira sobre Z por meio de reduções certificadas de núcleo/quociente de Smith, e números de Betti exatos mais ciclos representativos sobre Q ou GF(p). boundary_matrix, chain_complex e euler_characteristic expõem bases ordenadas e a verificação cruzada de Euler–Poincaré.

Triangulações exatas verificadas podem ser convertidas em complexos simpliciais canônicos e compostas diretamente com operações de homologia; triangulações numéricas ou refutadas não podem cruzar essa fronteira de exatidão. A expansão de fechamento é limitada antes que o crescimento combinatório possa exceder os limites de topologia configurados. Homologia persistente, produtos de cohomologia e inferência de complexos infinitos/CW não são reivindicados.

Estatística e modelagem estocástica

Amostras e estatísticas descritivas

StatisticalSample armazena uma matriz retangular não vazia de observações reais concretas finitas, rótulos de variáveis únicos, IDs de observação opcionais únicos e metadados explícitos de amostragem/população/design. describe deriva momentos numéricos exatos ou limitados por ancestralidade e estatísticas de ordem tipo 7; covariance deriva produtos cruzados centrados com normalização de amostra ou população; empirical_distribution preserva contagens de frequência exatas e probabilidades racionais; e evidence_profile audita a própria fronteira de evidência. A evidência exigida estabelece apenas cálculos sobre as observações armazenadas. Metadados de amostragem, suporte empírico e suposições de modelo permanecem em registros separados de evidência diagnóstica, enquanto generalização populacional e validade do modelo permanecem explicitamente não estabelecidas. Valores ausentes, observações simbólicas não resolvidas e imputação silenciosa são recusados. Entrada decimal não pode ser promovida, limites de recursos são verificados antes de trabalho caro, e todo objeto derivado mantém sua origem através de persistência e reinicialização.

Modelos lineares generalizados

Objetos imutáveis GeneralizedLinearModel vinculam-se a amostras armazenadas e produzem objetos GLMFit apenas derivados. Pares canônicos suportados são Gaussiano/identidade, binomial/logito e Poisson/log. verify verifica domínio da resposta, posto do delineamento e graus de liberdade residuais; fit relata coeficientes ordenados, covariância/erros padrão, médias condicionais ajustadas, desvio, desvio nulo, dispersão, convergência, resíduo de escore e condicionamento. Ajustes suportam independentemente verify, diagnostics e predict.

Modelos gaussianos de entrada exata usam produtos cruzados suficientes e equações normais exatas. Ajustes gaussianos numéricos usam mínimos quadrados float64 verificados; ajustes logísticos e de Poisson usam IRLS float64 determinístico. Deficiência de posto, domínios de resposta inválidos ou degenerados, não convergência, informação singular/mal condicionada e separação completa/quase detectada falham de forma fechada sem objeto de ajuste. Nenhum termo de crista, exclusão de linhas, imputação ou substituição de família/ligação é silencioso. Coeficiente, covariância, desvio e alegações de previsão permanecem condicionais à amostra/delineamento armazenados; validade do modelo, generalização populacional e efeitos causais não são inferidos.

Testes não paramétricos, testes de permutação e bootstrap

Amostras armazenadas suportam mann_whitney, wilcoxon, kruskal_wallis, ks_2samp, spearman e kendall, com postos médios explícitos e correções de empate. method="auto" realiza enumeração completa exata de sinais/rótulos/permutações somente quando tanto o estado quanto as estimativas de trabalho se ajustam aos limites configurados; caso contrário, o resultado nomeia sua aproximação normal, qui-quadrado, Kolmogorov ou t de Student. Assim, um valor-p exato é um cálculo nulo condicional exato para as observações armazenadas, enquanto um valor-p assintótico permanece evidência numérica sem teorema de erro de amostra finita.

permutation_test suporta diferenças de média/mediana usando enumeração exata ou Monte Carlo PCG64 explicitamente semeado com valor-p aditivo. bootstrap suporta intervalos percentílicos de média/mediana com semente uint64 obrigatória, sorteios limitados e lotes com memória limitada. Resultados simulados registram algoritmo aleatório, semente, contagem de sorteios e configuração de reprodução. Trocabilidade, delineamento amostral, validade assintótica, cobertura populacional e interpretação causal permanecem suposições separadas ou alegações não estabelecidas.

Análise de sobrevivência

SurvivalDataset armazena durações, indicadores binários exatos de eventos, tempos opcionais de entrada tardia e estratos opcionais dentro de uma amostra estatística imutável. kaplan_meier constrói conjuntos de risco exatos e valores de produto-limite juntamente com erros padrão numéricos de Greenwood e intervalos log-log bilaterais. Entradas multiestrato exigem um estrato explícito, e survival_at consulta a curva de degraus contínua à direita.

CoxProportionalHazardsModel fornece uma superfície de Cox não estratificada com laços explícitos de Efron ou Breslow. Seu ajuste Newton float64 determinístico usa busca de linha monotônica e recusa casos com deficiência de posto, eventos esparsos, não convergentes, singulares, supercondicionados ou semelhantes a separação. CoxPHFit registra coeficientes/razões de risco, covariância/erros padrão, verossimilhança parcial, resíduo de escore, risco basal, concordância e correlações temporais de Schoenfeld, com verificação de reprodução, diagnósticos e previsão de risco parcial limitada. Censura independente, riscos proporcionais, generalização populacional e causalidade permanecem suposições ou não estabelecidas.

Modelos de séries temporais e previsão

TimeSeriesDataset preserva ordem das linhas, colunas distintas de tempo/valor, carimbos de tempo estritos, política de rejeição de ausentes e espaçamento regular detectado. acf de origem exata usa um denominador centrado comum com defasagem zero e pacf usa recursão de Durbin–Levinson. stationarity_test fornece uma regressão ADF numérica de caso constante com valores críticos assintóticos nomeados em vez de inventar um valor-p exato ou afirmar que estacionariedade é provada.

TimeSeriesModel cobre ordens AR, MA, ARMA, ARIMA e GARCH, escolha de constante, inovações gaussianas e inicialização. Ajustes da família ARMA usam otimização limitada de soma condicional de quadrados; GARCH usa verossimilhança gaussiana restrita com variância positiva e persistência abaixo de um. Ajustes derivados registram coeficientes, séries residuais/ajustadas, variância condicional, raízes, verossimilhança, AIC/BIC e convergência, com diagnósticos de Ljung–Box/Jarque–Bera. Previsões derivam tempos futuros regulares, médias recursivas e intervalos gaussianos usando respostas de impulso ARIMA ou recursão de variância GARCH. Espaçamento irregular pode ser analisado, mas não ajustado.

Processos estocásticos

Objetos imutáveis PoissonProcess, WienerProcess, GaussianProcess e ContinuousTimeMarkovChain expõem leis de dimensão finita e artefatos derivados verificados. Massas/momentos de contagem de Poisson e médias/covariâncias de Wiener são simbólicos ou exatos. Leis finitas de processos gaussianos suportam núcleos RBF, Matérn-3/2, linear e Browniano com verificações numéricas de PSD; condicionamento usa soluções de Cholesky float64 limitadas, variância explícita de ruído de observação e jitter armazenado opcional sem ajustar hiperparâmetros silenciosamente. Verificação de CTMC verifica axiomas de gerador e lei inicial exatamente; transições usam exponencial de matriz verificada, enquanto leis estacionárias usam um sistema exato de espaço nulo esquerdo e preservam não unicidade.

Incrementos independentes/estacionários, continuidade, gaussianidade, adequação do núcleo e homogeneidade temporal permanecem suposições de modelo declaradas, não fatos estabelecidos por cálculo.

Equações diferenciais estocásticas

StochasticDifferentialEquation suporta sistemas de Itô vetoriais com escopo de símbolo declarado, vetor de deriva, matriz de difusão completa estado-por-ruído, estado inicial concreto e intervalo finito. Euler–Maruyama suporta estados vetoriais e difusão completa. Milstein é restrito a estado escalar/ruído escalar e usa a derivada simbólica da difusão; casos multidimensionais não suportados são recusados em vez de substituir silenciosamente outro esquema.

Simulação registra a grade de passos exata quando possível, caminhos float64, algoritmo/semente/fluxo PCG64, momentos amostrais terminais e ordens nominais forte/fraca. Saídas grandes expõem metadados compactos mais consultas limitadas de caminho/terminal. Estudos de convergência acoplados reutilizam um fluxo Browniano mais fino em múltiplos tamanhos de passo e relatam convergência RMS terminal observada quando definida. Simulação e convergência permanecem numéricas/empíricas; ordens nominais, existência, unicidade e regularidade são suposições, não provas.

Evidência estatística e persistência

Em todos os objetos estatísticos/estocásticos, evidência exata, simbólica, assintótica, numérica, empírica e de modelo permanecem distintas. Tipos derivados são somente saída, reprodução opera sob limites atuais, ancestralidade decimal não pode ser promovida, JSON persistido é verificado quanto à integridade antes da decodificação, e campos armazenados de tipo/classe/origem são reconciliados para prevenir substituição de origem entre tipos.

EDPs e elementos finitos adaptativos

Representação e classificação de EDPs

Problemas de EDP tipados suportam sistemas escalares e acoplados, variáveis independentes/dependentes declaradas, multi-índices de derivadas, coeficientes/parâmetros e condições iniciais/de contorno explícitas. Análise de parte principal classifica o sistema representado somente dentro do fragmento simbólico declarado, e verificações de compatibilidade de traço distinguem informação de contorno representada de alegações mais fortes como existência, unicidade, regularidade ou boa colocação.

Formas fracas

Artefatos PDEFunctionSpace, PDEMeasure, WeakIntegralTerm, IntegrationByPartsStep e somente saída WeakForm representam formulações fracas explicitamente. derive_weak_form exige variáveis de integração, espaços de tentativa ordenados, espaços de teste, índices de traço de contorno e transferências selecionadas de termo/coordenada; não adivinha espaços analíticos nem integra termos silenciosamente.

Integração por partes com coeficiente variável retém a regra do produto completa, armazenando termos de volume com teste diferenciado e derivada de coeficiente separadamente. Cada transferência emite faces de contorno orientadas. Termos de contorno que desaparecem sob traços de teste zero declarados permanecem representados e são marcados como tais. Índices de Dirichlet, Neumann/Robin e periódicos são registrados como partições essenciais, naturais e periódicas. WeakForm.verify reconstrói espaços, medidas, termos de volume/contorno, sinais, derivadas da regra do produto, partições e etapas de derivação a partir da EDP de origem. A alegação verificada é a identidade integral representada sob suposições declaradas—não um teorema de solubilidade ou regularidade.

Malhas, elementos de referência e espaços de elementos finitos

FEMMesh suporta simplexos de intervalo, triângulo e tetraedro. Construção verifica conectividade limitada, não degenerescência, orientação positiva canônica, incidência de facetas de contorno/interior, propriedade de contorno induzida e componentes conexas de células. Um Triangulation armazenado compatível pode fornecer conectividade de triângulo preservando geometria e ancestralidade de forma fraca. Reprodução combinatória não infere não sobreposição geométrica ou qualidade de aproximação.

reference_element fornece simplexos unitários canônicos. basis deriva funções e gradientes de Lagrange P1 nodais simbólicos e verifica a propriedade de Kronecker, partição da unidade e soma de gradientes. quadrature fornece regras de momento exato limitadas para os graus de simplex suportados. finite_element_space constrói espaços C0 de vértice-DOF P1 com conectividade local-para-global explícita e DOFs de contorno essenciais. Objetos derivados são reproduzíveis e somente saída.

Montagem e soluções algébricas

AssembledSystem e FEMSolution suportam formas fracas estacionárias lineares escalares em simplexos P1 afins. Montagem armazena matrizes/vetores locais densos e determinantes jacobianos, coalesce a matriz global em entradas esparsas ordenadas, integra termos de faceta de Neumann/Robin suportados e realiza eliminação simétrica documentada para DOFs de Dirichlet retendo sistemas brutos e transformados. Substituições concretas resolvem parâmetros restantes de EDP através de MathIR restrito.

Montagem distingue integração exata de uma soma de quadratura finita exata. Quadratura de ordem insuficiente ou não polinomial pode ainda definir um sistema algébrico reproduzível, mas quadrature_exact=false registra a limitação. Segundas derivadas fortes não suportadas, derivadas temporais, campos acoplados/não lineares, restrições periódicas, parâmetros não resolvidos e fluxos de contorno ausentes falham de forma fechada.

Soluções selecionam análise exata de posto/posto aumentado ou um caminho numérico esparso explícito do SciPy. FEMSolution registra unique, ill_conditioned, singular_inconsistent, singular_underdetermined ou singular_least_squares, juntamente com resíduo e diagnósticos de condicionamento. Verificação estabelece o sistema de dimensão finita transformado e o resultado do solucionador somente, nunca um teorema de solução contínua de EDP ou limite de erro contínuo.

Estimativa de erro e adaptatividade

FEMSolution.estimate_error fornece indicadores de resíduo–salto para soluções P1 completas únicas ou mal condicionadas em seu fragmento de difusão estacionária escalar suportado. Cada CellErrorIndicator retém resíduo forte ponderado por diâmetro, contribuição de salto conormal interior, contribuição de contorno natural e total. FEMErrorEstimate armazena valores de estimador local/global, exatidão de quadratura e resíduo algébrico separadamente, e sempre registra rigorous_error_bound=false; constantes de confiabilidade e eficiência não são inferidas. FEMErrorEstimate.mark implementa políticas determinísticas de Dörfler e de máximo. RefinementMarking.refine aplica o refinamento vermelho de triângulos e propaga o fechamento conforme através de arestas compartilhadas. RefinedMesh registra células solicitadas/de fechamento e mapeamentos filho-pai; MeshTransfer registra valores nodais P1 refinados como combinações afins explícitas de DOFs pais. Malhas refinadas podem reentrar na cadeia de base, quadratura, espaço, montagem, solução e estimação.

FEMErrorEstimate.compare aceita pares diretos de refinamento pai/filho e relata razões de estimadores e taxas observadas de duas malhas. FEMConvergenceObservation é evidência explicitamente empírica sobre uma sequência de estimadores, não um teorema de convergência ou limite de erro contínuo.

Inferência de relações e geometria da informação

Inferência composta de relações

mathkernel.composite_relation_inference fornece um teste de escore quadrático para um subespaço inteiro de relações visíveis. Escores observados generalizados são branqueados sob a lei nominal e a estatística é a norma quadrada de sua média amostral. Um argumento finito de escore limitado fornece uma garantia conservadora com dependência explícita da dimensão da relação, do menor autovalor de informação retido, do raio de perturbação e do limite do escore.

O mesmo módulo calcula informação alvo ajustada por incômodo através de complementos de Schur de Fisher latentes e observados. Ele relata confusão exata pós-observação quando uma direção alvo pode ser reproduzida por variação de incômodo. Para autovalores de informação repetidos ou quase repetidos, a incerteza bootstrap é anexada a autoespaços invariantes através de ângulos principais, em vez de autovetores individuais arbitrários. Intervalos de espectro ordenado studentizados, heurísticas de blocos circulares informadas por dependência, modos de covariância nominal/empírico/HAC e garantias de especificação incorreta limitadas por norma estão disponíveis com suas suposições registradas.

Inferência robusta de relações

mathkernel.robust_relation_inference fornece inferência quadrática com escopo de modelo, projeções de incômodo aprendidas, relações residuais ortogonais e estimação de covariância de longo prazo pré-branqueada por VAR.

API PythonFunção e limite de evidência
quadratic_minimax_boundsTaxas inferior/superior de sequência gaussiana usando o espectro de informação inverso; limite separado finito iid de estatística U sob um envelope de covariância justificado
gaussian_quadratic_testTeste de quadrado ponderado com limiar finito de Chernoff gaussiano
quadratic_u_testEstatística de par não enviesada O(Nr); calibração finita de Cantelli para escores iid de nulo conhecido
prewhitened_long_run_covarianceVAR(1), largura de banda automática de Bartlett, recoloração e diagnósticos de persistência; suposições de consistência permanecem necessárias
quadratic_moment_testTeste de Wald assintótico de posto completo com covariância empírica ou fornecida; covariância singular é rejeitada
relation_foldsDobras iid reproduzíveis, preservadoras de grupo ou contíguas
crossfit_nuisance_projectionEstimação de projeção de incômodo fora da dobra em um intervalo candidato declarado
crossfit_residual_relationsMomentos cruzados residuais ortogonais com médias condicionais aprendidas, aprendizes personalizados e lacunas de exclusão

Essas APIs de pesquisa permanecem numéricas/com escopo de modelo, a menos que uma garantia finita mais forte seja explicitamente retornada. Elas não adquirem rótulos de prova formal ou certificação de intervalo meramente por serem compostas com outros objetos MathKernel.

Visibilidade de relações, design de sensores e geometria da informação

A pilha de análise de relações também inclui visibilidade exata de relações observáveis, cálculos de retenção de informação, diagnósticos de custo amostral, geometria de Fisher multi-relação, objetivos de design de sensores, representações tangentes invariantes a coordenadas, limites de teste locais e incerteza para espectros de informação. Direções numéricas quase nulas são mantidas distintas de direções cegas matematicamente exatas.

Desempenho: numba · CUDA · paralelismo

Carga de trabalhoCaminho rápido de CPUCaminho de GPUParalelo
Peneira de Collatznjit (n ≤ 31)CUDA RawKernelpool de processos persistente
Varredura de cuboidenjit varredura de pares de pernas + pré-filtro QRCUDA RawKernelpool de processos
GF(2^m) ≤ 1024njit kernels de n-limb (uint64×N)
Lote inteironjit kernels de arraypool de processos persistente, tamanho de chunk adaptativo
BFS/componentes de grafonjit travessia CSR, certificado re-verificado
GF(p^m), p < 2^24, m ≤ 64njit multiplicação/mod polinomial uint64
Validação de tabela de Cayleynjit varredura de axiomas
Extensão de recorrêncianjit int64 verificado, fallback bigint
FWHTnjit borboleta int64
Busca de fechamentonjit MITM (int64/uint64)
Dinâmica de Koopman / finitanumpy complex128CuPy matmul
DAG de obrigaçõesondas de threads
Varreduras longaspool de jobs assíncrono

Tipos simbólicos exatos (Fraction, CyclotomicNumber) são deliberadamente Python puro — uma visibilidade zero ou cancelamento de fechamento deve permanecer uma prova. Gêmeos numéricos existem onde a escala exige e sempre carregam trust: numeric.

Contrato de expansão. Novos domínios devem projetar verificação e camadas de desempenho juntas desde o início: semântica tipada exata e limites, um certificado verificável independentemente para cada reivindicação VERIFIED e — onde a carga de trabalho é regular o suficiente — um caminho rápido Numba/processo/GPU atrás de um fragmento de exatidão estreito com fallback automático em Python. Caminhos rápidos devem ser re-verificados ou testados diferencialmente contra a implementação de referência e devem registrar o backend selecionado nos metadados de evidência; eles nunca podem elevar a confiança além da prova subjacente. Descarregamento de GPU é obrigatório apenas para cargas de trabalho regulares exatas por dispositivo; algoritmos irregulares de precisão arbitrária documentam as camadas consideradas em vez disso.

Otimização que preserva a correção

MathKernel otimiza apenas onde o contrato matemático sobrevive à otimização. Cargas de trabalho regulares limitadas de inteiros/arrays usam caminhos Numba, processo ou GPU com verificações diferenciais e fallbacks protegidos. Cargas de trabalho simbólicas exatas permanecem em representações exatas quando convertê-las para ponto flutuante enfraqueceria a reivindicação. A criação de perfil é usada para remover trabalho simbólico repetido, elevar computações invariantes, armazenar em cache certificados reproduzíveis e substituir passagens de verificação superlineares evitáveis sem alterar evidência matemática armazenada. A seleção de backend é registrada nos metadados de evidência e nunca eleva a confiança acima da computação ou certificado subjacente.

Visualização e artefatos portáteis

mathkernel_viz transforma objetos e resultados MathKernel em artefatos interativos que carregam evidência. A visualização é a jusante da matemática: ela consome dados de origem tipados ou um MultimodalProjection, registra transformações de apresentação e nunca atualiza a evidência de origem meramente porque uma forma gráfica particular é usada.

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")

A API de dashboard de nível inferior permanece disponível para composição direta:

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")
  • Blocos de construção, não monólitos — artefatos compõem painéis reutilizáveis como point_cloud_3d, trajectory_3d, surface_3d, vector_field_3d, plot2d, histogram, heatmap, dag, metric_grid, data_table, text e select.
  • IR neutro de renderizador — o VisualizationDocument versionado é consumido por SVG puro em Python, matplotlib PNG/PDF opcional e o renderizador HTML+Three.js.
  • 3D interativo — órbita/pan/zoom e inspeção por hover de identidade e confiança.
  • HTML portátil — um .html autocontido com conjuntos de dados embutidos, proveniência, metadados de reprodutibilidade e runtime de visualizador; nenhum servidor ou CDN é necessário.
  • Preservador de evidência — a confiança de bloco/série/conjunto de dados é herdada conservadoramente; exibição certificada por intervalo é usada apenas quando a própria fonte carrega esse suporte.
  • Integridade e determinismo — SHA-256 de payload e por conjunto de dados são expostos, e entradas idênticas produzem artefatos determinísticos.
  • Limite de apresentação seguro — CSP, rótulos escapados, sem eval, limites de conjunto de dados, e MathIR tratado como dados em vez de código executável.

Projeções multimodais compartilhadas

A camada compartilhada mathkernel_projection define famílias canônicas de projeção matemática que podem alimentar visualização, sonificação ou um artefato de pesquisa combinado. Isso impede que cada renderizador invente sua própria interpretação de uma matriz, malha, grafo, campo, distribuição ou objeto de alta dimensão.

Um MultimodalProjection registra:

  • linhagem de origem (SourceRef);
  • família de projeção e payload estruturado;
  • coordenadas, unidades e rótulos;
  • suposições e referências de evidência;
  • proveniência de transformação determinística;
  • parâmetros explícitos de base, fatia, travessia ou ordenação;
  • dimensionalidade de saída e perda de informação declarada.

As famílias canônicas cobrem campos escalares/vetoriais; conjuntos de pontos/nuvens; curvas, superfícies e trajetórias; sequências e distribuições; matrizes e tensores; grafos, grafos de evidência, árvores de expressão e árvores de certificado; espectros e campos de valor complexo; regiões e conjuntos implícitos; malhas e complexos geométricos; soluções de ODE/PDE e sistemas dinâmicos; objetos de otimização e inferência estatística; estruturas de campo finito/GF(2); geometria de relação/informação; conjuntos, partições e objetos por partes; quantidades com unidades; ensembles; e projeções explícitas de alta dimensão.

Para dimensão de origem maior que três, um método de projeção e dimensionalidade de saída devem ser explícitos. Seleção de coordenadas, uma base declarada, redução tipo PCA ou uma projeção espectral específica de domínio são transformações que devem ser registradas; um renderizador não pode decidir silenciosamente qual visão é canônica.

Um registro de adaptadores de resultado (mathkernel_projection.result_adapters) mapeia objetos tipados armazenados e payloads de resultado planos para essas famílias automaticamente. Adaptadores são funções puras de extração: eles nunca recomputam matemática, nunca atualizam confiança e declaram qualquer escolha de apresentação (grades de amostragem, espectros somente de magnitude, seleção de canal, redução covariância-para-banda) em parameters e information_loss. math_visualize(object_id=...) e math_projection_create(source_object_id=...) usam o registro para escolher a projeção canônica para sinais, espectros, filtros, mapas polo-zero, respostas de frequência, lugares de raízes, respostas de tempo, distribuições (densidades simbólicas são amostradas em uma janela declarada), distribuições empíricas/discretas, amostras estatísticas, ajustes GLM, estimativas de Kaplan-Meier, riscos de base de Cox, diagnósticos ACF/PACF, ajustes de séries temporais, grafos e árvores de travessia, resultados de otimização, ensembles ODE/SDE, malhas/soluções/indicadores de erro/observações de convergência FEM, padrões de esparsidade de sistemas montados, grades de PDE, conjuntos de pontos, polígonos, triangulações, diagramas de Voronoi, funções geradoras, tabelas de Cayley, contornos, mapas de singularidade, partições de subgrupo/cossete/órbita, contagens combinatórias e quantidades com unidades. Tipos de objetos não registrados falham com um erro tipado em vez de uma visão inventada.

Grafos de evidência são cidadãos de primeira classe: relações reivindicação -> evidência -> suposição/origem podem ser visualizadas diretamente, tornando a estrutura de verificação do MathKernel inspecionável em vez de escondê-la em metadados. Projeções de valor complexo retêm estrutura de magnitude/fase, e projeções de malha/campo preservam a entidade geométrica à qual cada valor pertence.

Linhagem de artefatos e apresentação científica

mathkernel_viz, mathkernel_sonify e mathkernel_multimodal compartilham a camada semântica mathkernel_artifacts. MathKernelArtifact carrega linhagem de origem tipada, evidência/certificados, transformações de apresentação, anotações científicas/perceptuais, metadados de reprodutibilidade e sincronização visual/áudio. mathkernel_viz.visualize(result) anexa linhagem estruturada determinística a conjuntos de dados e séries visuais, enquanto mathkernel_viz.to_artifact(doc, result=...) promove um documento visual para o mesmo modelo de artefato que carrega evidência usado por exportações multimodais. A apresentação permanece a jusante da matemática e não pode atualizar a confiança da origem.

Sonificação científica (mathkernel-sonify)

mathkernel_sonify é o irmão auditivo de mathkernel_viz. Ele consome a mesma linhagem de fonte e o contrato MultimodalProjection, enquanto SonificationDocument é responsável pelo mapeamento auditivo em si. O resultado matemático permanece intocado.

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")

O IR registra cada mapeamento valor-para-áudio como proveniência declarativa. Objetos estruturados nunca são silenciosamente achatados: varreduras de matrizes registram a ordem linha/coluna; sonificação de tensores registra a fatia/ordem selecionada; grafos registram redução de travessia ou grau; malhas registram a redução geométrica; objetos complexos preservam o mapeamento de magnitude e fase; rastreamentos de otimização, distribuições bootstrap/nulas, espectros de relação e ordenações de ensemble são igualmente explícitos.

Adaptadores integrados cobrem síntese aditiva harmônica/Fourier, varreduras sequenciais, comparação estéreo previsão-vs-observação, sonificação de resíduos e mapeamentos estruturados conscientes de projeção. A renderização offline PCM/WAV é determinística, rejeita aliasing Nyquist silencioso e aplica limites explícitos de normalização/pico. O exportador WebAudio é um único arquivo HTML offline sem dependência de rede.

Regra científica: um padrão audível é um candidato perceptual, não evidência matemática. Qualquer padrão descoberto pela audição deve ser validado quantitativamente, exatamente, formalmente ou empiricamente por meio do MathKernel.

Artefatos multimodais unificados (mathkernel-multimodal)

mathkernel_multimodal combina visualização e sonificação derivadas da mesma fonte/projeção em um único MathKernelArtifact portátil. A ancestralidade compartilhada SourceRef permite sincronização automática entre modalidades sem enfraquecer o modelo de confiança 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")
  • blocos visuais podem ser destacados durante a reprodução de áudio vinculada e o áudio vinculado pode buscar a partir de um bloco visual;
  • uma única superfície de inspeção expõe Resultado, Evidência, Proveniência, Dados, Reprodução, Mapeamento Visual, Mapeamento de Áudio, Sincronização e Anotações;
  • verificação de carga útil e hashes de integridade do documento permanecem disponíveis no artefato exportado;
  • a saída portátil funciona a partir de file://, sem exigir um servidor MathKernel em execução;
  • a confiança do artefato permanece como a confiança de fonte/membro justificada mais fraca.

Via MCP, artefatos de pesquisa podem ser montados a partir de objetos de visualização e sonificação armazenados e exportados como um único arquivo autocontido.

MathKernel Studio

MathKernel Studio é um workbench local opcional baseado em navegador no branch de desenvolvimento Studio. O alpha 0.4 fornece autoria de canvas/contorno, entradas de valores exatos, recuperação, inspeção de evidências, visualizadores isolados de plot/áudio e execução real de fluxo de trabalho local por meio do backend separado mathkernel_workflow.

O backend valida e congela grafos suportados, apresenta planos imutáveis, aplica política de operador e aprovação vinculada à sessão, e supervisiona processos de trabalho do kernel. Solicitações duráveis e snapshots de resultados sobrevivem a desconexões do navegador; processos de host interrompidos nunca são reproduzidos automaticamente. Quinze adaptadores simbólicos/matriciais explícitos e subfluxos de trabalho autocontidos salvos são suportados. Entradas parciais de catálogo legado e destinos não suportados permanecem limitados por capacidade. Rótulos de resultados importados permanecem não confiáveis; a evidência do kernel é preservada.

O wheel opcional do Studio agrupa seus ativos; Node/npm são apenas ferramentas de tempo de compilação. O pacote Python/MCP não importa o Studio. Este é um alpha de execução local testado; a qualificação completa de navegador/acessibilidade/plataforma permanece pendente.

Consulte o guia do Studio para instalação, teclado e edição sem arrastar, a conexão de loopback protegida, publicação de resultados e limites de suporte atuais.

Superfície de ferramentas MCP

Todas as 167 ferramentas (clique para expandir)
GrupoFerramentas
Descobertamath_capabilities, math_capability_query, math_result_resource_get
Matemática tipadamath_object_create, math_object_get, math_apply — superfície composicional completa tabulada acima, incluindo geometria, sinais/controle, otimização certificada, estatística/sistemas estocásticos e representação geral de EDP
Análisemath_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
Matrizesmath_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
Raciocíniomath_analyze, math_plan, math_plan_get, math_execute_plan, math_reason, math_execution_get, math_prove_equivalence, math_counterexample
Geração de códigomath_codegen, math_verify_code, math_execute_code
Inteirosmath_integer_analyze, math_integer_compute, math_integer_batch
Varredurasmath_collatz_sieve, math_cuboid_sweep
Tarefasmath_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
Projeções multimodaismath_projection_catalog, math_projection_create, math_projection_describe
Visualizaçãomath_visualize, math_visualize_dag, math_render_koopman, math_visualize_projection, math_export_artifact
Sonificaçãomath_sonify, math_sonify_compare, math_sonification_describe, math_sonify_projection, math_export_audio
Artefatos multimodaismath_research_artifact_create, math_export_research_artifact
Conjuntos e lógicamath_set_create, math_set_op, math_set_membership, math_quantifier_check, math_quantifier_eliminate, math_quantifier_eliminate_batch
Polinômiosmath_poly_groebner, math_poly_divide, math_poly_resultant, math_poly_discriminant, math_poly_factor, math_ideal_membership, math_poly_groebner_batch
Probabilidademath_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
Estatí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
EDO/EDPmath_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
Otimizaçãomath_optimize_critical_points, math_optimize_kkt, math_lp_solve, math_optimize_minimize, math_optimize_multistart
Unidadesmath_unit_check, math_unit_convert, math_unit_simplify
Garantiamath_store_status, math_replay, math_fuzz_differential, math_certified_enclose
Provamath_prove, math_prove_batch, math_prove_replay
Proveniênciamath_derivation_get, math_derivation_trace

Cada docstring de ferramenta é escrita voltada para LLM: formatos de parâmetros, semânticas exatas-vs-numéricas, limites e dicas de acompanhamento são documentados no local.

Configuração

Todas as configurações são orientadas por ambiente com o prefixo MATHKERNEL_ (Settings.from_env()), inspecionáveis via math_capabilities:

VariávelPadrãoPropósito
MATHKERNEL_MAX_INPUT_LENGTH100000limite de entrada do parser
MATHKERNEL_MAX_OUTPUT_SIZE_BYTES256000000orçamento de bytes para resposta completa; cargas úteis superdimensionadas são preservadas como recursos verificados por integridade e retornadas por recibo
MATHKERNEL_SOLVER_TIMEOUT_SECONDS30orçamento de operações simbólicas usando trabalhadores de subprocesso limitados e canceláveis
MATHKERNEL_ENABLE_EXECUTIONfalseexecução de codegen em sandbox (opt-in)
MATHKERNEL_YOLO_MODEfalsedesbloqueia math_yolo_settings para alterar configurações ativas de MATHKERNEL_* (coerção tipada; desligado por padrão)
MATHKERNEL_Z3_TIMEOUT_MS10000orçamento SMT (definido em cada instância do solver Z3)
MATHKERNEL_LEAN_BINARY / MATHKERNEL_LEAN_TIMEOUT_SECONDSlean / 90adaptador Lean (tempo limite passado para cada verificação lake env lean)
MATHKERNEL_SKIP_LEAN_INSTALLnão definidopular o download padrão do Lean 4 + Mathlib
MATHKERNEL_LEAN_CACHEcache da plataformaraiz do espaço de trabalho elan + lake
MATHKERNEL_ENABLE_PARALLEL / MATHKERNEL_MAX_WORKERStrue / cpu_countpools de processos e threads
MATHKERNEL_MAX_ITERATIONS10000limite de iterações para simplex / Nelder-Mead
MATHKERNEL_TOLERANCE1e-12tolerância numérica de convergência
MATHKERNEL_MAX_ODE_STEPS100000limite de passos de integração RK45
MATHKERNEL_STORE_PATHnão definidopersistência SQLite opt-in para expressões/derivações + math_replay
MATHKERNEL_PROVE_PORTFOLIO_SIZE3codificações SMT disputadas por chamada math_prove
MATHKERNEL_MAX_PDE_GRID1000000limite de células da grade do solver PDE
MATHKERNEL_MAX_PDE_FIELDS / MATHKERNEL_MAX_PDE_DIMENSIONS16 / 8limites tipados de campos PDE e variáveis independentes
MATHKERNEL_MAX_PDE_EQUATIONS / MATHKERNEL_MAX_PDE_TERMS32 / 1024limites tipados de sistema PDE e termos totais
MATHKERNEL_MAX_PDE_CONDITIONS1024limite total tipado de condições de contorno/iniciais
MATHKERNEL_MAX_PDE_DERIVATIVE_ORDER / MATHKERNEL_MAX_PDE_NONLINEAR_POWER4 / 8limites de derivadas e potências representadas
MATHKERNEL_MAX_PDE_WORK2000000limite de trabalho tipado de construção/replay PDE
MATHKERNEL_MAX_PDE_SPACES / MATHKERNEL_MAX_PDE_SPACE_ORDER64 / 8limites tipados de contagem de espaços de forma fraca e ordem de regularidade
MATHKERNEL_MAX_PDE_WEAK_TERMS / MATHKERNEL_MAX_PDE_IBP_STEPS4096 / 256limites tipados de termos integrais derivados e integração por partes
MATHKERNEL_MAX_PDE_WEAK_WORK5000000limite de trabalho de derivação/replay de forma fraca
MATHKERNEL_MAX_FEM_POINTS / MATHKERNEL_MAX_FEM_CELLS100000 / 200000limites de vértices/células da malha simplex
MATHKERNEL_MAX_FEM_DOFS200000limite de DOF do espaço de elementos finitos
MATHKERNEL_MAX_FEM_WORK20000000limite de trabalho de construção/replay de elementos finitos
MATHKERNEL_MAX_FEM_ASSEMBLY_NNZ / MATHKERNEL_MAX_FEM_ASSEMBLY_WORK2000000 / 50000000limites de entradas esparsas e trabalho de montagem
MATHKERNEL_MAX_FEM_EXACT_SOLVE_DOFS / MATHKERNEL_MAX_FEM_NUMERIC_SOLVE_DOFS256 / 100000limites de diagnóstico denso exato e solução esparsa numérica
MATHKERNEL_MAX_FEM_ESTIMATOR_WORK / MATHKERNEL_MAX_FEM_REFINED_CELLS50000000 / 500000limites de trabalho de replay do indicador residual e células de saída refinadas
MATHKERNEL_MAX_QE_VARIABLES16limite de variáveis para eliminação de quantificadores
MATHKERNEL_MAX_BATCH_JOBS10000limite de lote inteiro
MATHKERNEL_MAX_MATRIX_DIM128limite do mecanismo de matriz
MATHKERNEL_MAX_JOBS_RETAINED100retenção de trabalhos assíncronos
MATHKERNEL_MAX_MATH_OBJECTS10000limite de objetos tipados retidos
MATHKERNEL_MAX_CONTOUR_VERTICES4096limite de complexidade de contorno
MATHKERNEL_MAX_JOINT_DIMENSIONS8limite de dimensão de distribuição conjunta
MATHKERNEL_MAX_DISTRIBUTION_COMPONENTS256limite de componentes de mistura
MATHKERNEL_MAX_SYMBOLIC_SERIES_ORDER128limite de ordem de Laurent/classificação
MATHKERNEL_MAX_ORDER_STATISTIC_SAMPLE_SIZE1024limite de amostra simbólica de estatísticas de ordem
MATHKERNEL_MAX_GRAPH_VERTICES / MATHKERNEL_MAX_GRAPH_EDGES4096 / 65536limites tipados de tamanho de grafo
MATHKERNEL_MAX_COMBINATORIAL_ITEMS10000limite de geração combinatória preguiçosa
MATHKERNEL_MAX_GROUP_ELEMENTS4096limite de enumeração de grupos finitos
MATHKERNEL_MAX_FIELD_DEGREE64limite de grau de extensão GF(p^m)
MATHKERNEL_MAX_NORMAL_FORM_DIM128limite de dimensão de matriz Smith/Hermite
MATHKERNEL_MAX_INVERSE_BRANCHES256limite de ramo/Jacobiano de mudança de variável
MATHKERNEL_MAX_OBLIGATION_STEPS128obrigações máximas de plano executável
MATHKERNEL_MAX_FWHT_SIZE2²⁰limite de comprimento FWHT
MATHKERNEL_MAX_FINITE_STATES4096limite de enumeração de sistemas finitos
MATHKERNEL_MAX_CUMULANT_ORDER8limite de ordem de cumulantes/tensores conectados
MATHKERNEL_MAX_CLOSURE_RESULTS10000limite de resultados de busca de fechamento
MATHKERNEL_MAX_GEOMETRY_DIMENSION8limite de dimensão de variedade/gráfico
MATHKERNEL_MAX_GEOMETRY_RANK6limite de posto de campo tensorial denso
MATHKERNEL_MAX_GEOMETRY_POINTS10000limite de contagem de pontos/vértices
MATHKERNEL_MAX_GEOMETRY_SIMPLICES100000limite de contagem de semiespaços/triângulos
MATHKERNEL_MAX_GEOMETRY_WORK1000000limite de trabalho simbólico de geometria de pré-verificação
MATHKERNEL_MAX_TOPOLOGY_DIMENSION16grau máximo de complexo finito/dimensão ambiente
MATHKERNEL_MAX_TOPOLOGY_CELLS10000limite total de células de base simplicial/cúbica/cadeia
MATHKERNEL_MAX_TOPOLOGY_MATRIX_ENTRIES1000000limite de entradas armazenadas de matriz de fronteira
MATHKERNEL_MAX_TOPOLOGY_ENTRY_BITS4096limite de comprimento de bits de entradas de fronteira inteiras
MATHKERNEL_MAX_TOPOLOGY_WORK2000000limite de trabalho de pré-verificação de topologia exata
MATHKERNEL_MAX_STATISTICAL_VARIABLES256limite tipado de colunas de amostra
MATHKERNEL_MAX_STATISTICAL_OBSERVATIONS100000limite tipado de linhas de amostra
MATHKERNEL_MAX_STATISTICAL_CELLS1000000limite tipado de células retangulares de amostra
MATHKERNEL_MAX_STATISTICAL_WORK2000000limite de trabalho de pré-verificação descritiva/covariância
MATHKERNEL_MAX_GLM_PARAMETERS64limite de coeficientes ajustados, incluindo o intercepto
MATHKERNEL_MAX_GLM_ITERATIONS200limite de iterações IRLS solicitadas
MATHKERNEL_MAX_GLM_PREDICTION_ROWS100000linhas de média condicional por solicitação de previsão
MATHKERNEL_MAX_GLM_WORK20000000limite de trabalho de pré-verificação de posto/matriz/iteração GLM
MATHKERNEL_MAX_NONPARAMETRIC_GROUPS64limite de grupos Kruskal–Wallis selecionados
MATHKERNEL_MAX_EXACT_RESAMPLING_STATES100000limite de estado completo de sinais/rótulos/permutações
MATHKERNEL_MAX_RESAMPLES1000000limite de sorteios de permutação/bootstrap Monte Carlo
MATHKERNEL_MAX_RESAMPLING_BATCH_CELLS1000000células geradas por lote de bootstrap
MATHKERNEL_MAX_RESAMPLING_WORK20000000limite de trabalho de pré-verificação de posto/enumeração/reamostragem
MATHKERNEL_MAX_SURVIVAL_STRATA64limite de estratos de sobrevivência distintos
MATHKERNEL_MAX_SURVIVAL_TIMELINE_POINTS100000limite de linha do tempo Kaplan–Meier selecionada
MATHKERNEL_MAX_COX_PARAMETERS64limite de preditores Cox
MATHKERNEL_MAX_COX_ITERATIONS200limite de iterações Newton Cox solicitadas
MATHKERNEL_MAX_COX_PREDICTION_ROWS100000limite de linhas de previsão de risco parcial
MATHKERNEL_MAX_COX_INFORMATION_CONDITION1000000000000teto de condição de informação observada
MATHKERNEL_MAX_SURVIVAL_WORK20000000limite de trabalho de conjunto de risco/matriz/iteração de sobrevivência
MATHKERNEL_MAX_TIME_SERIES_LAG1000limite de defasagem ACF/PACF/diagnóstico
MATHKERNEL_MAX_TIME_SERIES_DIFFERENCE2limite de ordem de diferenciação ARIMA
MATHKERNEL_MAX_TIME_SERIES_PARAMETERS32limite de parâmetros dinâmicos AR/MA/GARCH
MATHKERNEL_MAX_TIME_SERIES_ITERATIONS500limite de iterações do otimizador de ajuste
MATHKERNEL_MAX_TIME_SERIES_FORECAST_STEPS10000limite de horizonte de previsão
MATHKERNEL_MAX_TIME_SERIES_WORK50000000limite de trabalho de análise/ajuste/previsão
MATHKERNEL_MAX_STOCHASTIC_STATES256limite de estado CTMC
MATHKERNEL_MAX_STOCHASTIC_TIME_POINTS10000limite de tempo de previsão/dimensão finita
MATHKERNEL_MAX_GP_CONDITIONING_POINTS2000limite de observações GP
MATHKERNEL_MAX_STOCHASTIC_MATRIX_ENTRIES1000000limite de espaço de trabalho de covariância/gerador
MATHKERNEL_MAX_GP_CONDITION_NUMBER1000000000000teto de condicionamento GP
MATHKERNEL_MAX_STOCHASTIC_WORK50000000limite de trabalho de fatoração/exponencial
MATHKERNEL_MAX_SDE_STATE_DIMENSION32limite de dimensão de estado SDE
MATHKERNEL_MAX_SDE_NOISE_DIMENSION32limite de dimensão do driver Browniano
MATHKERNEL_MAX_SDE_STEPS1000000limite de passos de simulação/convergência
MATHKERNEL_MAX_SDE_PATHS100000limite de caminhos de simulação
MATHKERNEL_MAX_SDE_SIMULATION_CELLS5000000limite de células de caminho/incremento aleatório armazenado
MATHKERNEL_MAX_SDE_WORK50000000limite de trabalho de atualização SDE
MATHKERNEL_MAX_SDE_QUERY_VALUES20000valores de caminho/terminal retornados por consulta

Layout do repositório

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
ui/studio/                optional local Studio authoring/inspection preview
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

Pacotes de habilidades

O MathKernel inclui dois pacotes de habilidades de agente sincronizados: um para uso direto em Python e um para clientes MCP. Eles documentam o mesmo contrato de evidência, ciclo de vida de objetos e semântica matemática, adaptando exemplos às suas respectivas interfaces.

As habilidades cobrem trabalho simbólico/exato, raciocínio e prova, persistência, dinâmica finita, probabilidade/estatística, numérica, tensores/unidades, desempenho, visualização, sonificação científica e o fluxo de trabalho compartilhado de projeção multimodal. As habilidades de viz/áudio agora exigem proveniência de projeção em primeiro lugar para objetos estruturados e redução explícita de alta dimensão ou extração acústica em vez de achatamento oculto.

Testes

Execute a suíte completa da árvore de fontes com as dependências opcionais exigidas pelos domínios que você deseja validar:

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

O repositório degrada mecanismos opcionais indisponíveis para unknown ou unavailable em vez de fabricar sucesso. FastMCP é necessário para testes de registro MCP, z3-solver para testes de SMT/prova/eliminação de quantificadores, e o runtime ANTLR compatível para análise LaTeX do SymPy. Módulos de teste específicos de domínio e executores de experimentos podem ser executados independentemente ao validar uma superfície matemática específica.

A cobertura inclui análise e tratamento de ambiguidade, álgebra simbólica e cálculo, aritmética exata de inteiros e campos finitos, algoritmos de grafos, álgebra linear, caminhos diferenciais Numba/CUDA, trabalhos assíncronos, geração e verificação de código, métodos GF(2) e Fourier finito, dinâmica Koopman/finita, análise PRNG, matemática de engenharia tipada, geometria/topologia, estatística e sistemas estocásticos, PDE/FEM/adaptividade, propagação de evidências, integridade de persistência, visualização, sonificação, artefatos multimodais e a superfície de ferramentas MCP.

CI tem como alvo versões suportadas de Python com fan-out nativo de threads limitado por trabalhador. As verificações de distribuição constroem o sdist e a wheel, verificam metadados, instalam a wheel em um ambiente limpo, confirmam a versão do runtime e verificam que os ativos offline de visualização/multimodal fornecidos estão presentes. Exportações portáteis, portanto, não exigem CDN após a instalação.

Limites de segurança

  • Nenhuma expressão bruta do usuário chega a sympify()/parse_expr(); gramática restrita, funções desconhecidas rejeitadas, notação ambígua recusada com candidatos.
  • Conversão de inteiros de comprimento arbitrário em partes; guardas de saída de resultados grandes; trabalho automático de teoria dos números limitado; tetos de passos de obrigação; validação de dependência/ciclo.
  • Execução de código em sandbox é opt-in (MATHKERNEL_ENABLE_EXECUTION=1), roda em um subprocesso isolado com tempo limite e é sempre rotulada como evidência numérica.
  • Invocação de subprocesso Lean usa shell=False; mecanismos opcionais relatam unknown/unavailable em vez de fabricar sucesso.
  • Buscas externas nativas de candidatos LP/QP/MILP, cônicos/QCQP, Riccati/LQG e posicionamento de polos numéricos rodam em interpretadores novos cujos grupos de processos são mortos no tempo limite. Solicitações/resultados são limitados e o fan-out BLAS/OpenMP é limitado.
  • Persistência SQLite verifica cada payload JSON com SHA-256 antes de decodificar. registros tipados canônicos adicionalmente reconciliam seu tipo de objeto declarado, classe de modelo decodificada e campo de link de origem antes da recuperação ou execução. Registros corrompidos ou substituídos falham de forma fechada sem produzir objetos derivados.

Este limite de terminação não é uma sandbox de código hostil e não impõe uma cota de memória do SO. Isolamento multi-tenant ainda pertence a um trabalhador externo ou camada de sandbox.

Licença

Copyright © 2026 Maarten Boone.

Lançado sob a Licença MIT.