{"record":{"id":"279b389e30b03b72","repo":"keras-team/keras","slug":"cholesky-decomposition-failed-the-input-might-not","errorCode":null,"errorMessage":"Cholesky decomposition failed. The input might not be a valid positive definite matrix.","messagePattern":"Cholesky decomposition failed\\. The input might not be a valid positive definite matrix\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/backend/jax/linalg.py","lineNumber":18,"sourceCode":"import jax\nimport jax.numpy as jnp\nimport jax.scipy as jsp\n\nfrom keras.src.backend import config\nfrom keras.src.backend import standardize_dtype\nfrom keras.src.backend.common import dtypes\nfrom keras.src.backend.jax.core import cast\nfrom keras.src.backend.jax.core import convert_to_tensor\n\n\ndef cholesky(a, upper=False):\n    out = jnp.linalg.cholesky(a, upper=upper)\n    try:\n        # In eager mode, raise for nan to\n        # achieve behavior consistency with numpy\n        if jnp.any(jnp.isnan(out)):\n            raise ValueError(\n                \"Cholesky decomposition failed. \"\n                \"The input might not be a valid \"\n                \"positive definite matrix.\"\n            )\n    except jax.errors.TracerBoolConversionError:\n        # Cannot raise for nan in tracing mode\n        pass\n    return out\n\n\ndef cholesky_inverse(a, upper=False):\n    identity = jnp.eye(a.shape[-1], dtype=a.dtype)\n    inv_chol = solve_triangular(a, identity, lower=not upper)\n    if upper:\n        a_inv = jnp.matmul(inv_chol, jnp.transpose(inv_chol))\n    else:\n        a_inv = jnp.matmul(jnp.transpose(inv_chol), inv_chol)\n    return a_inv","sourceCodeStart":1,"sourceCodeEnd":36,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/backend/jax/linalg.py#L1-L36","documentation":"Error \"Cholesky decomposition failed. The input might not be a valid positive definite matrix.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/backend/jax/linalg.py:18 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7a34a03db60bf60042242d6a556fc3be119046a5","analyzedAt":"2026-08-25T21:25:25.994Z","schemaVersion":2},"datasetVersion":"2026-08-26T02:17:13.382Z"}