ForHosting KIT · Matemática

Decomposição de Cholesky

Decomponha uma matriz simétrica definida positiva num triângulo inferior L vezes sua transposta: o exemplo clássico 3×3 cuja primeira linha é 4, 12, −16 dá uma L com 2, 1 e 3 na diagonal. Útil para resolver sistemas e gerar amostras. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.

Cholesky é a forma padrão de resolver sistemas lineares, gerar amostras aleatórias correlacionadas e testar se uma matriz é sequer definida positiva — quando a fatoração existe, a matriz é definida positiva por construção. Envie a sua matriz como um array de linhas e receba o fator, a entrada ecoada e o método usado, em uma única chamada determinística.

O que a decomposição de Cholesky realmente entrega

Toda matriz simétrica definida positiva A pode ser escrita como o produto de uma matriz triangular inferior pela sua própria transposta: A = L·Lᵀ. Esse fator L é, grosso modo, a raiz quadrada da matriz — e, uma vez que você o tem, vários problemas caros ficam baratos. Resolver A·x = b deixa de exigir eliminação geral: você resolve L·y = b por substituição progressiva e depois Lᵀ·x = y por substituição regressiva, ambas em tempo quadrático.

Inverter a matriz, calcular o seu determinante (o produto das entradas da diagonal de L ao quadrado) e branquear ou correlacionar vetores aleatórios se reduzem a operações sobre o triângulo. A calculadora de decomposição de Cholesky devolve exatamente esse fator: uma matriz triangular inferior n×n com entradas positivas na diagonal e zeros acima dela. Como o cálculo é aritmética de ponto flutuante determinística com arredondamento fixo, a mesma entrada produz sempre uma saída idêntica byte a byte, o que torna seguro cachear, comparar e arquivar o resultado.

Como a fatoração é calculada e verificada

Para cada posição da diagonal, ele toma a entrada correspondente de A, subtrai a norma ao quadrado da linha do fator já calculada e extrai a raiz quadrada; para cada posição abaixo da diagonal, subtrai o produto escalar das duas linhas parciais e divide pela entrada da diagonal já conhecida. Essa única raiz quadrada é também o teste definitivo de positividade: a quantidade sob ela é positiva em cada linha se e somente se a matriz é definida positiva.

Antes de tudo isso, a entrada é validada: deve ser um array quadrado de no máximo 50 linhas, cada entrada deve ser um número finito dentro do teto de magnitude declarado e as entradas espelhadas devem coincidir dentro de uma tolerância relativa, porque uma matriz não simétrica simplesmente não tem fatoração de Cholesky.

Onde ela se encaixa no trabalho real

Os dois lares clássicos de Cholesky são a estatística e a computação numérica. Na estatística, extrair amostras de uma distribuição normal multivariada com matriz de covariância Σ significa multiplicar um vetor de normais padrão independentes pelo fator de Cholesky de Σ — os motores de Monte Carlo fazem isso milhões de vezes e precisam do fator calculado uma vez, corretamente, de antemão.

Na computação numérica, problemas de mínimos quadrados, filtros de Kalman e otimizadores de ponto interior resolvem sistemas simétricos definidos positivos a cada iteração, e Cholesky é cerca de duas vezes mais rápido que a LU geral porque aproveita a simetria e dispensa pivoteamento.

Valide uma matriz de covariância antes de amostrar

Verifique se uma matriz de covariância ou correlação estimada é realmente definida positiva — e obtenha o fator necessário para sorteios de Monte Carlo correlacionados — antes que ela contamine uma simulação.

Resolva um sistema simétrico sem biblioteca

Obtenha L uma vez e depois resolva A·x = b com duas substituições triangulares no seu próprio código, em qualquer linguagem, sem vincular LAPACK ou NumPy.

Confira o seu próprio código de álgebra linear

Compare o fator produzido pela sua implementação com um resultado determinístico independente para detectar erros de indexação e arredondamento.

Quanto custa?

Também é grátis executar no seu navegador nesta página, com o mesmo código.

Quais matrizes são aceitas?

Matrizes quadradas de até 50×50, simétricas dentro de uma tolerância relativa, com entradas finitas de até 1e15 em magnitude. Entradas não quadradas, não simétricas ou não definidas positivas são rejeitadas com uma mensagem de erro específica.

O que é devolvido exatamente?

O fator triangular inferior L tal que A = L·Lᵀ, arredondado à precisão escolhida (10 casas decimais por padrão), junto com a matriz de entrada, a dimensão, o nome do método e a fórmula usada.

A minha matriz fica armazenada?

Não. Ela é processada em memória e descartada; apenas a resposta calculada sai da função.

Qual é a precisão do resultado?

O fator é calculado em ponto flutuante de precisão dupla e arredondado ao número de casas decimais solicitado. Para matrizes bem condicionadas dentro do limite de tamanho, o resultado arredondado satisfaz A ≈ L·Lᵀ nessa precisão.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/math/cholesky-decomposition

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/math/cholesky-decomposition \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"matrix":[[4,12,-16],[12,37,-43],[-16,-43,98]]}'
{
  "matrix": [
    [
      4,
      12,
      -16
    ],
    [
      12,
      37,
      -43
    ],
    [
      -16,
      -43,
      98
    ]
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.cholesky_decomposition",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_n50
max_abs_entry1000000000000000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

A API de decomposição de Cholesky recebe uma matriz simétrica definida positiva e devolve o seu fator triangular inferior: a única matriz L com diagonal positiva tal que A = L·Lᵀ. Se a matriz não for simétrica, não for quadrada ou não for definida positiva, a API diz exatamente por quê, em vez de devolver uma resposta errada com boa aparência.

O que a decomposição de Cholesky realmente entrega

Você envia a matriz como um array JSON de linhas, opcionalmente com uma precisão entre 0 e 15 casas decimais, e a resposta contém o fator arredondado a essa precisão, a matriz enviada, a dimensão e o nome do algoritmo.

Como a fatoração é calculada e verificada

O endpoint executa o algoritmo de Cholesky-Banachiewicz, um procedimento linha a linha que constrói L diretamente a partir da definição A = L·Lᵀ. Se algum pivô for zero ou negativo, o cálculo para e a API informa que a matriz não é definida positiva, indicando a linha onde falhou. Os erros são devolvidos como respostas invalid_input estruturadas, nunca como lixo numérico.

Onde ela se encaixa no trabalho real

Esta API é a versão em uma chamada desse passo: útil quando você quer verificar se uma matriz de covariância é válida antes de alimentar um amostrador, quando um pipeline precisa do fator sem vincular uma biblioteca de álgebra linear, ou quando quer uma segunda opinião sobre um resultado produzido pelo seu próprio código. Ela roda na borda sem guardar nada depois, custa US$ 0,002 por requisição, e o mesmo código idêntico roda grátis no seu navegador nesta página — cole uma matriz, veja o fator e pague apenas quando automatizar a chamada.

E se a minha matriz não for definida positiva?

A requisição falha com um erro invalid_input informando que a matriz não é definida positiva e indicando a linha onde o pivô falhou. Nenhum fator parcial é devolvido.

Ver a documentação completa do KIT →