Source code for pyLOM.GPOD.utils
#!/usr/bin/env python
#
# pyLOM - Python Low Order Modeling.
#
#
# Last rev: 07/02/2025
from __future__ import print_function, division
import numpy as np
from ..utils.gpu import cp
[docs]
def delete_snapshot(X, snap, axis=1):
"""
Remove snapshot from training data.
"""
p = cp if type(X) is cp.ndarray else np
return p.delete(X, snap, axis=axis)
[docs]
def set_random_elements_to_zero(vector, percentage):
"""
Randomly sets a specified percentage of elements in a vector to zero.
Args:
vector (np.ndarray): Input vector.
percentage (float): Percentage of elements to set to zero.
Returns:
np.ndarray: Modified vector with zeros.
"""
p = cp if type(vector) is cp.ndarray else np
modified_vector = vector.copy()
num_zeros = int(len(vector) * percentage / 100)
indices = p.random.choice(len(vector), num_zeros, replace=False)
modified_vector[indices] = 0
return modified_vector