keras-team/keras · error · ValueError

Cholesky decomposition failed. The input might not be a vali

Error message

Cholesky decomposition failed. The input might not be a valid positive definite matrix.

What it means

Error "Cholesky decomposition failed. The input might not be a valid positive definite matrix." thrown in keras-team/keras.

Source

Thrown at keras/src/backend/jax/linalg.py:18

import jax
import jax.numpy as jnp
import jax.scipy as jsp

from keras.src.backend import config
from keras.src.backend import standardize_dtype
from keras.src.backend.common import dtypes
from keras.src.backend.jax.core import cast
from keras.src.backend.jax.core import convert_to_tensor


def cholesky(a, upper=False):
    out = jnp.linalg.cholesky(a, upper=upper)
    try:
        # In eager mode, raise for nan to
        # achieve behavior consistency with numpy
        if jnp.any(jnp.isnan(out)):
            raise ValueError(
                "Cholesky decomposition failed. "
                "The input might not be a valid "
                "positive definite matrix."
            )
    except jax.errors.TracerBoolConversionError:
        # Cannot raise for nan in tracing mode
        pass
    return out


def cholesky_inverse(a, upper=False):
    identity = jnp.eye(a.shape[-1], dtype=a.dtype)
    inv_chol = solve_triangular(a, identity, lower=not upper)
    if upper:
        a_inv = jnp.matmul(inv_chol, jnp.transpose(inv_chol))
    else:
        a_inv = jnp.matmul(jnp.transpose(inv_chol), inv_chol)
    return a_inv

View on GitHub (pinned to 7a34a03db6)

When it happens

Trigger: Thrown at keras/src/backend/jax/linalg.py:18 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of keras-team/keras@7a34a03db6 (2026-08-25). Data as JSON: /api/errors/279b389e30b03b72. Report an issue: GitHub.