def METHOD_NAME(
    rng: np.random.Generator,
    dim: IntLike,
    density: float,
    chol_entry_min: float = 0.1,
    chol_entry_max: float = 1.0,
    format="csr",  # pylint: disable="redefined-builtin"
) -> scipy.sparse.spmatrix:
    r"""Random sparse symmetric positive definite matrix.
    Constructs a random sparse symmetric positive definite matrix for a given degree
    of sparsity. The matrix is constructed from its Cholesky factor :math:`L`. Its
    diagonal is set to one and all other nonzero entries of the lower triangle are
    sampled from a uniform distribution with bounds :code:`[chol_entry_min,
    chol_entry_max]`. The resulting sparse matrix is then given by :math:`A=LL^\top`.
    Parameters
    ----------
    rng
        Random number generator.
    dim
        Matrix dimension.
    density
        Degree of sparsity of the off-diagonal entries of the Cholesky factor.
        Between 0 and 1 where 1 represents a dense matrix.
    chol_entry_min
        Lower bound on the entries of the Cholesky factor.
    chol_entry_max
        Upper bound on the entries of the Cholesky factor.
    format
        Sparse matrix format.
    See Also
    --------
    random_spd_matrix : Generate a random symmetric positive definite matrix.
    Examples
    --------
    >>> import numpy as np
    >>> from probnum.problems.zoo.linalg import random_sparse_spd_matrix
    >>> rng = np.random.default_rng(42)
    >>> sparsemat = random_sparse_spd_matrix(rng, dim=5, density=0.1)
    >>> sparsemat
    <5x5 sparse matrix of type '<class 'numpy.float64'>'
        with 9 stored elements in Compressed Sparse Row format>
    >>> sparsemat.todense()
    matrix([[1.        , 0.        , 0.87273813, 0.        , 0.        ],
            [0.        , 1.        , 0.        , 0.        , 0.        ],
            [0.87273813, 0.        , 1.76167184, 0.        , 0.        ],
            [0.        , 0.        , 0.        , 1.        , 0.72763123],
            [0.        , 0.        , 0.        , 0.72763123, 1.5294472 ]])
    """
    # Initialization
    if not 0 <= density <= 1:
        raise ValueError(f"Density must be between 0 and 1, but is {density}.")
    chol = scipy.sparse.eye(dim, format="csr")
    num_off_diag_cholesky = int(0.5 * dim * (dim - 1))
    num_nonzero_entries = int(num_off_diag_cholesky * density)
    if num_nonzero_entries > 0:
        sparse_matrix = scipy.sparse.rand(
            m=dim,
            n=dim,
            format="csr",
            density=density,
            random_state=rng,
        )
        # Rescale entries
        sparse_matrix.data *= chol_entry_max - chol_entry_min
        sparse_matrix.data += chol_entry_min
        # Extract lower triangle
        chol += scipy.sparse.tril(A=sparse_matrix, k=-1, format=format)
    return (chol @ chol.T).asformat(format=format)