tf.linalg.cholesky fails on half precision
Same issue applies for tf.linalg.det and tf.linalg.slogdet. If it is a documentation bug, can you kindly fix them? Hi @drewshark ,

Thanks for reporting. I have replicated the reported error and its due to lack of kernel implementation with `half` dtype for the Op `Cholesky`. We will work on it and let you know updates.

Thanks!
### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

source

### TensorFlow version

2.13.0

### Custom code

Yes

### OS platform and distribution

_No response_

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Following the documentation: https://www.tensorflow.org/api_docs/python/tf/linalg/cholesky, tf.linalg.cholesky is expected to accept tensor in half precision but it fails.

### Standalone code to reproduce the issue

```shell
import tensorflow as tf
import numpy as np
np.random.seed(2023)

# {'input_ndims': 2}
input = tf.constant(np.random.rand(3,3), dtype='half')
out = tf.linalg.cholesky(input)
```
```


### Relevant log output

```shell
/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py in raise_from_not_ok_status(e, name)
   6654 def raise_from_not_ok_status(e, name):
   6655   e.message += (" name: " + str(name if name is not None else ""))
-> 6656   raise core._status_to_exception(e) from None  # pylint: disable=protected-access
   6657 
   6658 

NotFoundError: Could not find device for node: {{node Cholesky}} = Cholesky[T=DT_HALF]
All kernels registered for op Cholesky:
  device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_COMPLEX64, DT_COMPLEX128, DT_HALF]
  device='XLA_GPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_COMPLEX64, DT_COMPLEX128, DT_HALF]
  device='GPU'; T in [DT_COMPLEX128]
  device='GPU'; T in [DT_COMPLEX64]
  device='GPU'; T in [DT_DOUBLE]
  device='GPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_COMPLEX128]
  device='CPU'; T in [DT_COMPLEX64]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_FLOAT]
 [Op:Cholesky] name:
```
