-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " M.M." <m...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: Transponowanie macierzy
Date: Sat, 28 Jan 2012 19:31:13 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 43
Message-ID: <jg1ie1$p6s$1@inews.gazeta.pl>
References: <jg15ts$hk7$1@inews.gazeta.pl> <jg17ur$85m$1@mx1.internetia.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1327779073 25820 172.20.26.239 (28 Jan 2012 19:31:13 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 28 Jan 2012 19:31:13 +0000 (UTC)
X-User: mariotti
X-Forwarded-For: 89.229.34.123
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:194903
[ ukryj nagłówki ]Michoo <m...@v...pl> napisał(a):
> W dniu 28.01.2012 16:57, M.M. pisze:
> > Czesc
> >
> > Jest jakis algorytm do transponowania macierzy w miejscu?
> Co rozumiesz przez "w miejscu"?
Z wykorzystaniem stalej dodatkowej pamieci, niezaleznej od rozmiaru
macierzy.
> Zmieniają się wymiary, więc to by miało sens tylko wtedy, gdy
> masz macierz zaimplementowaną na liniowym buforze.
Dokladnie oto chodzi.
> W takiej sytuacji możesz ustawić flagę "zamień współrzędne" i już masz
> transpozycję.
> W przypadku gdy chcesz zamienić fizycznie dane to robienie tego w
> miejscu (Dla dużej macierzy) jest morderstwem na wydajności ze względu
> na cache.
Wlasnie jeden raz macierz ma byc transponowana, po to zeby potem wiele
razy odczyty byly przyjazne dla cache.
Bez transpozycji, na naturalnej strukturze danych, algorytm dziala tak:
for( int i=0 ; i<N ; i++ )
for( wiele-razy )
for( int j=0 ; j<M ; j++ )
obliczenia( macierz[j*N+i] )
Trzeba przetransponowac aby mozna bylo tak:
for( int i=0 ; i<N ; i++ )
for( wiele-razy )
for( int j=0 ; j<M ; j++ )
obliczenia( macierz[i*M+j] )
Pozdrawiam
>
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=