def get_hippo_A(N:int) -> np.ndarray: A = np.zeros((N,N)) for n in range(N): for k in range(N): if n > k: A[n,k] = (2*n+1)**0.5*(2*k+1)**0.5 elif n == k: A[n,k] = (n+1) return A