Jak przekonwertować Eigen::Matrix<double,Dynamic,Dynamic>
na Eigen::SparseMatrix<double>
? Szukam lepszego sposobu zamiast iteracji poprzez gęstą macierz.Eigen przekształca gęstą matrycę w rzadką jedną
Odpowiedz
można użyć metody sparseView() W tym:
sparse = dense.sparseView();
a nawet określić tolerancję:
sparse = dense.sparseView(epsilon,reference);
Czy kontrolujesz tworzenie gęstej matrycy?
Jeśli nie, to nie można tego zrobić bez czytania każdego elementu macierzy, aby sprawdzić, czy jest pusty.
Jeśli tworzysz gęstą matrycę samodzielnie, możesz utworzyć strukturę danych, aby przekształcić ją w rzadką, kiedy zajdzie taka potrzeba. Można na przykład zapisać w każdym wierszu macierzy liczbę elementów innych niż zero w tym wierszu. Wtedy możesz pominąć wiersze z 0 elementami innymi niż null i możesz przerwać konwersję dowolnego wiersza, gdy zobaczysz tyle nie-pustych elementów, ile wskazuje liczba.
Jakie dodatkowe przechowywane dane będą zależne od typów rzadkich macierzy, jakich się spodziewasz. Powszechny rzadki wzorzec macierzy to gęste submaterie unoszące się w rzadkiej macierzy. Gdy tworzysz gęstą matrycę, możesz usunąć te gęste rejony. Na przykład. nie przechowuj liczby elementów w wierszu, ale raczej zachowaj listę niepustych prostokątnych regionów przy pewnych przesunięciach x, y.
- 1. Jak przekonwertować macierz rzadką na gęstą macierz w Eigen
- 2. Jak utworzyć matrycę z wektorów w eigen?
- 3. Jak przekonwertować Eigen :: Matrix4f na Eigen :: Affine3f
- 4. Wyodrębnij blok z macierzy rzadkiej jako kolejną rzadką macierzynę
- 5. Eigen i std :: vector
- 6. Przekształć matrycę 3D na matrycę 2d
- 7. Cast Eigen :: MatrixXd na Eigen :: MatrixXf
- 8. Inicjalizacja stałą Eigen matrycy w pliku nagłówkowym
- 9. Szablony wyrażeń w Eigen
- 10. Macierz rotacji w Eigen
- 11. Jak odwrócić matrycę w F #?
- 12. Adorner WPF przekształca się
- 13. Jak przekształcić matrycę?
- 14. Web.config przekształca - brakująca instrukcja
- 15. przekonwertuj matrycę do obrazu
- 16. jak połączyć wektory w Eigen?
- 17. tworząc trójkątny matrycę
- 18. Jak łatwo zwizualizować matrycę?
- 19. Jak mogę ujednolicić matrycę?
- 20. serializowanie matrycy Eigen za pomocą boost.serialization
- 21. Python keras, jak przekształcić gęstą warstwę w warstwę splotową
- 22. Eigen boolean array slice
- 23. Problemy z wyrównaniem Eigen
- 24. Eigen: maskowanie tablicy
- 25. Pisanie nowego wyrażenia Eigen
- 26. Odwzorowanie macierzy z powrotem na istniejącą matrycę macierzy
- 27. Jak sortować matrycę przez wszystkich kolumn
- 28. Załaduj rzadką tablicę z pliku npy
- 29. Jak porównać wektory w przybliżeniu w Eigen?
- 30. Git pull --rebase przekształca przestrzenie w tabulatory
Pozwól mi to zrozumieć. Chcesz przekonwertować gęstą macierz na rzadką macierz bez sprawdzania, które pozycje są zerami i które powinny zostać usunięte oraz jakie wpisy chcesz zachować? Jak myślisz, jak to może działać? Powinieneś zdecydowanie popracować nad tym pytaniem - jest to bardzo niejasne. – angainor
Bez sprawdzania elementów ręcznie. Poszukuję metody lub funkcji lub biblioteki, aby to zrobić. Ale z tego, co tu przeczytałem, myślę, że nie jest to możliwe – tyranitar