-  3.39.22
Public Member Functions | Public Attributes | List of all members
pyfaust.proj.sptriu Class Reference

Functor for the SPTRIU projector. More...

Public Member Functions

def __init__ (self, shape, k, normalized=True, pos=False)
 
- Public Member Functions inherited from pyfaust.proj.proj_gen
def __init__ (self, shape)
 
def __call__ (self, M)
 

Public Attributes

 constraint
 
- Public Attributes inherited from pyfaust.proj.proj_gen
 shape
 

Detailed Description

Functor for the SPTRIU projector.

A, the image matrix, is such that the lower triangular part is 0 and \(\| A \|_0 = k, \| A\|_F = 1\) (if normalized == True).

Examples

>>> from pyfaust.proj import sptriu
>>> from numpy.random import rand, seed
>>> import numpy as np
>>> seed(42) # just for reproducibility
>>> M = np.round(rand(5,5), decimals=2)
>>> M
array([[0.37, 0.95, 0.73, 0.6 , 0.16],
[0.16, 0.06, 0.87, 0.6 , 0.71],
[0.02, 0.97, 0.83, 0.21, 0.18],
[0.18, 0.3 , 0.52, 0.43, 0.29],
[0.61, 0.14, 0.29, 0.37, 0.46]])
>>> p = sptriu(M.shape, 3, normalized=False)
>>> p(M)
array([[0. , 0.95, 0. , 0. , 0. ],
[0. , 0. , 0.87, 0. , 0. ],
[0. , 0. , 0.83, 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ]])
>>> np.linalg.norm(np.tril(p(M), -1)) == 0
True
>>> np.count_nonzero(p(M)) == 3
True
See also
sptril

Constructor & Destructor Documentation

◆ __init__()

def pyfaust.proj.sptriu.__init__ (   self,
  shape,
  k,
  normalized = True,
  pos = False 
)
Parameters
shape(tuple(int, int)) shape of the input array.
k(int) the number of nonzeros of the projection image.
normalized(bool) True to normalize the projection image according to its Frobenius norm.
pos(bool) True to skip negative values (replaced by zero) of the matrix to project.

Member Data Documentation

◆ constraint

pyfaust.proj.sptriu.constraint

The documentation for this class was generated from the following file:
pyfaust.seed
def seed(s)
(Re)Initializes the pyfaust pseudo-random generator.
Definition: __init__.py:5277
pyfaust.rand
def rand(num_rows, num_cols, num_factors=None, dim_sizes=None, density=None, fac_type='sparse', per_row=True, dev='cpu', dtype='float64', field=None, seed=0)
Generates a random Faust.
Definition: __init__.py:4966
pyfaust.proj
This module provides matrix projectors.
Definition: proj.py:1