[Feature Request] MatrixSquareRoot for tflite
Hi, Thanks for the feature request. 
Right now, we don't have all the tensorflow ops under TFLite builtin ops. 
We will update in the document when it is available. 
Till then you can use the SELECT_TF_OPS to enable Tensorflow ops as below.

```
converter.target_spec.supported_ops = [
  tf.lite.OpsSet.TFLITE_BUILTINS, # enable TensorFlow Lite ops.
  tf.lite.OpsSet.SELECT_TF_OPS # enable TensorFlow ops.
]
``` This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further. I'd say it's worth keeping open, data whitening is pretty common operation
and this is a part of it

On Thu, Apr 13, 2023, 6:52 PM github-actions[bot] ***@***.***>
wrote:

> This issue was closed because it has been inactive for 7 days since being
> marked as stale. Please reopen if you'd like to work on this further.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/tensorflow/tensorflow/issues/60154#issuecomment-1507816841>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAIYO7ZUKSABET4HYA2NY6TXBCUU3ANCNFSM6AAAAAAWLEZOM4>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
 Hi @vamsimanchala, can you please take a look? Thanks.
Tensorflow lite currently will not compile graphs containing `tf.linalg.sqrtm`.  If you try, you get 

```
Some ops in the model are custom ops, See instructions to implement custom ops: https://www.tensorflow.org/lite/guide/ops_custom 
Custom ops: MatrixSquareRoot
Details:
	tf.MatrixSquareRoot(tensor<3x3xf32>) -> (tensor<3x3xf32>) : {T = f32, device = ""}
```

As a work around, I am using an approximate solution:

```
def tf_denmann_beavers_sqrtm(matrix: TensorInvCovMat, n_iter=10):
    """
    Approximate the matrix-square-root by Denmann Beavers iteration
        https://en.wikipedia.org/wiki/Square_root_of_a_matrix#By_Denman%E2%80%93Beavers_iteration
    Convergence is not guaranteed.  Use at your own risk!
    """
    ym = matrix
    zm = tf.eye(tf.shape(matrix[0])[0], dtype=matrix.dtype)
    for i in range(n_iter):
        ym_ = 0.5 * (ym + tf.linalg.inv(zm))
        zm = 0.5 * (zm + tf.linalg.inv(ym))
        ym = ym_
    return ym
```

But it is not ideal.  

Can we please get `tf.linalg.sqrtm` included as a standard tflite op?  