CyberAgentAILab/cmaes

[Question]

Opened this issue · 0 comments

Context: I am currently translating this code to Rust.

Issue: I want to understand a line of code:

# (eq.46)
w_io = self._weights * np.where(
    self._weights >= 0,
    1,
    self._n_dim / (np.linalg.norm(C_2.dot(y_k.T), axis=0) ** 2 + _EPS),
)

So, when self.weights is less than zero, it'd happen that the operation would result in a in a vector, given the norm(..., axis=0)?

Can you explain that?