def forward(self, x):
        """
        Transforms from the packed to unpacked representations (numpy)
        
        :param x: packed numpy array. Must have shape `self.num_matrices x triangular_number
        :return: Reconstructed numpy array y of shape self.num_matrices x N x N
        """
        fwd = np.zeros((self.num_matrices, self.N, self.N), settings.float_type)
        indices = np.tril_indices(self.N, 0)
        z = np.zeros(len(indices[0])).astype(int)
        for i in range(self.num_matrices):
            fwd[(z + i,) + indices] = x[i, :]
        return fwd.squeeze(axis=0) if self.squeeze else fwd
def forward ( self , x ) : fwd = np . zeros ( ( self . num_matrices , self . N , self . N ) , settings . float_type ) indices = np . tril_indices ( self . N , 0 ) z = np . zeros ( len ( indices [ 0 ] ) ) . astype ( int ) for i in range ( self . num_matrices ) : fwd [ ( z + i , ) + indices ] = x [ i , : ] return fwd . squeeze ( axis = 0 ) if self . squeeze else fwd
Transforms from the packed to unpacked representations (numpy)
        
        :param x: packed numpy array. Must have shape `self.num_matrices x triangular_number
        :return: Reconstructed numpy array y of shape self.num_matrices x N x N