make_svd_non_negative#

ivy.make_svd_non_negative(x, U, S, V, /, *, nntype='nndsvd')[source]#

Use NNDSVD method to transform SVD results into a non-negative form. This method leads to more efficient solving with NNMF [1].

Parameters:
  • x (Union[Array, NativeArray]) – tensor being decomposed.

  • U (Union[Array, NativeArray]) – left singular matrix from SVD.

  • S (Union[Array, NativeArray]) – diagonal matrix from SVD.

  • V (Union[Array, NativeArray]) – right singular matrix from SVD.

  • nntype (Optional[Literal['nndsvd', 'nndsvda']], default: 'nndsvd') –

    whether to fill small values with 0.0 (nndsvd),

    or the tensor mean (nndsvda, default).

  • [1] (Boutsidis & Gallopoulos. Pattern Recognition, 41(4): 1350-1362, 2008.) –

Return type:

Tuple[Array, Array]

Array.make_svd_non_negative(self, U, S, V, /, *, nntype='nndsvd')[source]#

ivy.Array instance method variant of ivy.make_svd_non_negative. This method simply wraps the function, and so the docstring for ivy.make_svd_non_negative also applies to this method with minimal changes.

Parameters:
  • self (Union[Array, NativeArray]) – tensor being decomposed.

  • U (Union[Array, NativeArray]) – left singular matrix from SVD.

  • S (Union[Array, NativeArray]) – diagonal matrix from SVD.

  • V (Union[Array, NativeArray]) – right singular matrix from SVD.

  • nntype (Optional[Literal['nndsvd', 'nndsvda']], default: 'nndsvd') – whether to fill small values with 0.0 (nndsvd), or the tensor mean (nndsvda, default).

  • [1] (Boutsidis & Gallopoulos. Pattern Recognition, 41(4): 1350-1362, 2008.) –

Return type:

Tuple[Array, Array]

Container.make_svd_non_negative(self, U, S, V, /, *, nntype='nndsvd', key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False)[source]#

ivy.Container instance method variant of ivy.make_svd_non_negative. This method simply wraps the function, and so the docstring for ivy.make_svd_non_negative applies to this method with minimal changes.

Parameters:
  • self (Union[Array, NativeArray, Container]) – tensor being decomposed.

  • U (Union[Array, NativeArray, Container]) – left singular matrix from SVD.

  • S (Union[Array, NativeArray, Container]) – diagonal matrix from SVD.

  • V (Union[Array, NativeArray, Container]) – right singular matrix from SVD.

  • nntype (Optional[Union[Literal['nndsvd', 'nndsvda'], Container]], default: 'nndsvd') – whether to fill small values with 0.0 (nndsvd), or the tensor mean (nndsvda, default).

  • [1] (Boutsidis & Gallopoulos. Pattern Recognition, 41(4): 1350-1362, 2008.) –

Return type:

Tuple[Container, Container]