Pytania dotyczące algorytmicznych / obliczeniowych aspektów algebry liniowej, w tym rozwiązania układów liniowych, problemów z najmniejszymi kwadratami, problemów własnych i innych podobnych kwestii.
Czy ktoś ma rekomendacje dotyczące użytecznej, szybkiej biblioteki macierzy C ++? Mam na myśli to, co użyteczne: Obiekty macierzy mają intuicyjny interfejs (np .: mogę używać wierszy i kolumn podczas indeksowania) Mogę zrobić wszystko z klasą macierzy, co mogę zrobić z LAPACK i BLAS Łatwy w nauce i obsłudze API …
Mam kilka trudnych, niewypukłych problemów globalnej optymalizacji do rozwiązania. Obecnie używam MATLAB's Optimization Toolbox (konkretnie fmincon()z algorytmem = 'sqp'), co jest dość skuteczne . Jednak większość mojego kodu znajduje się w języku Python i chciałbym również przeprowadzić optymalizację w języku Python. Czy istnieje solver NLP z powiązaniami Pythona, z którym …
W aplikacjach pojawiają się rzadkie systemy liniowe. Do rozwiązania tych systemów jest wiele procedur do wyboru. Na najwyższym poziomie istnieje przełom między metodami bezpośrednimi (np. Rzadka eliminacja Gaussa lub rozkład Choleskiego, ze specjalnymi algorytmami porządkowania i metodami wielopłaszczyznowymi) i iteracyjnymi (np. GMRES, gradient (sprzężony)). Jak określić, czy zastosować metodę bezpośrednią, …
Porównywałem kilka moich kodów z „zapasowymi” kodami MATLAB. Jestem zaskoczony wynikami. Uruchomiłem przykładowy kod (Sparse Matrix) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Wyniki: For a\b Elapsed time is 0.052838 seconds. For LU Elapsed time is …
ATLAS to darmowy zamiennik BLAS / LAPACK, który po skompilowaniu dostosowuje się do komputera. MKL to biblioteka komercyjna dostarczana przez firmę Intel. Czy te dwie biblioteki są porównywalne pod względem wydajności, czy też MKL ma przewagę w niektórych zadaniach? Jeśli tak, które?
Według mojej wiedzy istnieją 4 sposoby rozwiązania układu równań liniowych (popraw mnie, jeśli jest więcej): Jeśli macierz systemowa jest kwadratową matrycą pełnego rzędu, można użyć reguły Cramera; Oblicz odwrotność lub pseudoinwersję macierzy systemowej; Użyj metod rozkładu macierzowego (eliminacja Gaussa lub Gaussa-Jordana jest uważana za rozkład LU); Użyj iteracyjnych metod, takich …
Ostatnio spotkałem się z sformułowaniem meta-zjawiska : „ dwa są łatwe, trzy są trudne ” (sformułowane w ten sposób przez Federico Poloni), które można opisać następująco: Kiedy sformułowany jest pewien problem dla dwóch podmiotów, jest on stosunkowo łatwy do rozwiązania; jednak algorytm formułowania trzech podmiotów ogromnie zwiększa trudność, być może …
det(A)≈0det(A)≈0\det(A) \approx 0 Czy odwrotność jest również prawdą? Czy źle uwarunkowana matryca ma prawie zerową determinantę? Oto coś, czego próbowałem w Octave: a = rand(4,4); det(a) %0.008 cond(a)%125 a(:,4) = 1*a(:,1) + 2*a(:,2) = 0.000000001*ones(4,1); det(a)%1.8E-11 cond(a)%3.46E10
W statystyce i jej różnych zastosowaniach często obliczamy macierz kowariancji , która jest pozytywnie określona (w rozważanych przypadkach) i symetryczna, dla różnych zastosowań. Czasami potrzebujemy odwrotności tej macierzy do różnych obliczeń (na przykład formy kwadratowe z odwrotnością jako (jedyną) macierzą środkową). Biorąc pod uwagę cechy tej matrycy i zamierzone zastosowania, …
EDYCJA: Testuję, czy jakieś wartości własne mają wartość jednego lub więcej. Muszę znaleźć największą absolutną wartość własną dużej, rzadkiej, niesymetrycznej macierzy. Korzystam z eigen()funkcji R , która korzysta z algo QR z EISPACK lub LAPACK, aby znaleźć wszystkie wartości własne, a następnie używam, abs()aby uzyskać wartości bezwzględne. Jednak muszę to …
Chcę zmodyfikować gęstą kwadratową macierz przejścia w miejscu, zmieniając kolejność kilku jej wierszy i kolumn, używając biblioteki numpy Pythona. Matematycznie odpowiada to pomnożeniu macierzy przez macierz permutacji P i pomnożeniu jej przez P ^ -1 = P ^ T, ale nie jest to uzasadnione obliczeniowo rozwiązanie. W tej chwili ręcznie …
Szukałem bibliotek algebry liniowej C ++ w projekcie, nad którym pracowałem. Coś, czego wciąż nie mam pojęcia, to połączenie BLAS i LAPACK z innymi bibliotekami algebry liniowej. Przeglądając ten artykuł na temat bibliotek algebry liniowej , zainteresowałem się tym, że: niektóre biblioteki są niezależne od BLAS i LAPACK niektóre wymagają …
Co to jest prosty algorytm obliczania SVD macierzy ?2 × 22×22 \times 2 Idealnie chciałbym mieć solidny algorytm liczbowy, ale chciałbym zobaczyć zarówno proste, jak i nie tak proste implementacje. Kod C został zaakceptowany. Wszelkie odniesienia do artykułów lub kodu?
Co może pójść nie tak, gdy zastosuje się wstępne metody Kryłowa z KSP ( pakiet solvera liniowego PETSc ) do rozwiązania rzadkiego układu liniowego, takiego jak te uzyskane przez dyskretyzację i linearyzację równań różniczkowych cząstkowych? Jakie kroki mogę podjąć, aby ustalić, co jest nie tak z moim problemem? Jakie zmiany …
Jak rozumiem, istnieją dwie główne kategorie iteracyjnych metod rozwiązywania liniowych układów równań: Metody stacjonarne (Jacobi, Gauss-Seidel, SOR, Multigrid) Metody podprzestrzeni Kryłowa (Gradient sprzężony, GMRES itp.) Rozumiem, że większość metod stacjonarnych działa poprzez iteracyjne relaksowanie (wygładzanie) trybów błędu Fouriera. Jak rozumiem, metoda gradientu sprzężonego (metoda podprzestrzeni Kryłowa) działa poprzez „przechodzenie” przez …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.