scikit-learn 1.6: Elliptic Envelope Fails with More Features than Samples

### Describe the bug

When using the EllipticEnvelope class in scikit-learn 1.6, the model raises an error when the number of features exceeds the number of samples in the input dataset. This issue occurs even when the data is preprocessed (e.g., scaled with StandardScaler) and is independent of the contamination or support fraction settings.

This behavior differs from previous versions of scikit-learn, where the EllipticEnvelope was able to handle cases with more features than samples without raising errors.

### Steps/Code to Reproduce

```python
import numpy as np
from sklearn.covariance import EllipticEnvelope
from sklearn.preprocessing import StandardScaler

# Generate data with more features than samples
X = np.random.rand(5, 10)  # 5 samples, 10 features

# Preprocess the data
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Initialize Elliptic Envelope
model = EllipticEnvelope(contamination=0.1)

# Attempt to fit the model
try:
    model.fit(X_scaled)
    print("EllipticEnvelope successfully fitted.")
except Exception as e:
    print("Error encountered:", e)
```


### Expected Results

Results with scikit-learn version < 1.6
```python
UserWarning: The covariance matrix associated to your dataset is not full rank
  warnings.warn(
EllipticEnvelope successfully fitted.
```


### Actual Results

Results with scikit-learn version >= 1.6
```python
UserWarning: The covariance matrix associated to your dataset is not full rank
  warnings.warn(
Error encountered: kth(=7) out of bounds (5)
```

### Versions

```shell
Versions

System:
    python: 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
    executable: <redacted>
    machine: Windows-10-10.0.19045-SP0

Python dependencies:
      sklearn: 1.6.0
          pip: 24.3.1
   setuptools: 75.6.0
        numpy: 2.0.2
        scipy: 1.13.1
       Cython: None
       pandas: 2.2.3
   matplotlib: 3.9.2
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: openmp
   internal_api: openmp
    num_threads: 4
         prefix: vcomp
       filepath: <redacted>
        version: None

       user_api: blas
   internal_api: openblas
    num_threads: 4
         prefix: libscipy_openblas
       filepath: <redacted>
        version: 0.3.27
threading_layer: pthreads
   architecture: Zen

       user_api: blas
   internal_api: openblas
    num_threads: 4
         prefix: libopenblas
       filepath: <redacted>
        version: 0.3.27
threading_layer: pthreads
   architecture: Zen
```

COMMENT:
Thanks for the report @aayushiajmera98. It looks like a regression introduced in https://github.com/scikit-learn/scikit-learn/pull/29835. Nevertheless the following note in the docstring of `EllipticEnveloppe` suggests that it's not intended to work when `n_features>n_samples`:
```
Outlier detection from covariance estimation may break or not perform well
in high-dimensional settings. In particular, one will always take care
to work with n_samples > n_features ** 2.
```
So I'm not sure if the best thing is to fix the out of bound error (which is trivial so why not) or raise an error earlier when `n_features>n_samples`. Maybe @anntzer knows better what to expect in that case ?

Labels: Bug, Regression