tf.raw_ops.ResourceApplyGradientDescent: Aborted (core dumped)
Hi **@nonenone12135** ,

I tried to run your code on colab using tf 2.15 and tf-nightly versions faced same issue. Please find the [gist](https://colab.sandbox.google.com/gist/Venkat6871/fdb6f1b3d8004ff20e3fdccfad9b2576/63695_2-15-2-16-nightly.ipynb) here for reference. We need to work on it, In few days i will provide a solution for it.

Thank you! Hi **@vraebfdsb** ,

- The tf.raw_ops.ResourceApplyGradientDescent function is designed for real-valued variables, not complex numbers. The alpha and delta parameters are expected to be real-valued, and when you provide a complex variable, it causes the operation to fail.
-  Here i tired alternative approach for this issue. I hope it will use for you. i am providing [gist](https://colab.research.google.com/gist/Venkat6871/90df5a5c3a72befd4773a64e81e72669/63695_2-16-1-v.ipynb) here for reference.

Thank you! 
### Issue type

Bug

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

Yes

### Source

binary

### TensorFlow version

tf 2.15

### Custom code

Yes

### OS platform and distribution

Ubuntu 20.04

### Mobile device

_No response_

### Python version

3.9

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Under specific input, `tf.raw_ops.ResourceApplyGradientDescent` encounters "Aborted (core dumped)".

### Standalone code to reproduce the issue

```shell
import tensorflow as tf

var = tf.Variable(3.0 + 1j, dtype=tf.complex64) 
alpha = tf.constant(0.1, dtype=tf.float32)
delta = tf.constant(0.5, dtype=tf.float32)

result = tf.raw_ops.ResourceApplyGradientDescent(var=var.handle, alpha=alpha, delta=delta)

print(result)
```


### Relevant log output

```shell
2024-03-14 05:53:30.923509: F tensorflow/core/framework/tensor.cc:844] Check failed: dtype() == expected_dtype (8 vs. 1) float expected, got complex64
Aborted (core dumped)
```
