[PYTHON] scipy.sparse.linalg.svds renvoie des valeurs singulières dans l'ordre croissant

Notez que «numpy.linalg.svd» et «scipy.linalg.svd» sont renvoyés par ordre décroissant, tandis que «scipy.sparse.linalg.svds» est renvoyé par ordre croissant. Je suis devenu accro.

Code de contrôle de fonctionnement

# coding: utf-8

import numpy as np
import scipy.linalg
import scipy.sparse.linalg

x = np.random.rand(7, 7)

U, S1, V = np.linalg.svd(x)
print S1

U, S2, V = scipy.linalg.svd(x)
print S2

U, S3, V = scipy.sparse.linalg.svds(x)
print S3

# S1,Égal à S2
print S3[::-1]

Si tu veux descendre

http://stackoverflow.com/questions/24498854/singular-values-sorted-in-descending-order-using-svds-from-scipy-sparse-linalg

A. Écrivez par vous-même (je n'avais pas la possibilité de descendre)

Recommended Posts

scipy.sparse.linalg.svds renvoie des valeurs singulières dans l'ordre croissant
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
[Python] Comment afficher les valeurs de liste dans l'ordre
Ordre naturel en Python