Diskuze: Pascal - Hledání inverzní matice
Zobrazeno 5 zpráv z 5.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |


V zásadě existují dva způsoby, jak k dané matici vypočítat matici inverzní. Potřebuješ ale mít nějaké znalosti z lineární algebry, aby se to dalo rozumně implementovat.
První možnost spočívá v tom, že s maticí pracuješ, jako bys prováděla Gaussovu eliminaci (tedy řešení soustavy lineárních rovnic, tady s nulovou pravou stranou), přičemž jednotlivé úpravy (vynásobení řádku číslem, sečtení/odečtení dvou řádkků) zakóduješ do podoby matic. Vynásobením těchto matic získáš inverzní matici (v podstatě získáš matici, která ti provede všechny ty úpravy najednou a jelikož je výsledkem Gaussovy eliminace jednotková matice, tento součin matic je hledaná inverzní matice).
Pro tento způsob bys ale měla vědět, co je to Gaussova eliminace a jak se provádí.
Druhý způsob je v zásadě jen dosazení do vzorečku. Nicméně potřebuješ vědět, jak vypočítat determinant matice (pro tvoje případy bude stačit i přímo zdefinice přes všechny permutace, ale lze použít i rozvoj podle řádku/sloupce).
Některý ze způsobů případně rozepíšu večer, až bude víc času.
Je také třeba říci, že inverzní matice existuje, právě když má soustava tvořená vstupní maticí a nulovou pravou stranou právě jedno řešení.
Oba způsoby počítání inverzní matice znám, ale já mám právě problém s těma zlomkama, s nima pracovat neumím, ani jsem to nezkoušela nikdy. Když jsem vždycky počítala inverzní matici nad reálnými čísly, tak tam asi vždycky byl alespoň jeden zlomek. Ale na ten determinant jsem nějak zapomněla a možná mi to přijde lepší to počítat s ním. Že bych spočítala nějak tu adjungovanou matici, tam by byly celá čísla, a pak bych to nějak uložila do matice s recordem, a druhá složka toho byl byl ten determinant, a vypsala bych to na obrazovku nějak jako X/Y. A pak ta druha matice by měla jen ty nezáporné celé čísla, a to bych mohla ze vstupu už dobře číst. Ještě jsem to teda nezkoušela, tak nevím, jak mi to pude. Díky.
mám právě problém s těma zlomkama
A nemůžeš místo s celými čísly počítat s reálnými (typ Real, Double, či Extended)? Až na případné zaokrouhlovací chyby (kterých bych se nebál) by měl být kód stejný.
Případně, pokud se chceš vyhnout zlomkům při tom prvním způsobu (ekvivalentní řádkové úpravy), nestačilo by například v případě, že máš řádek R1, který potřebuješ vynásobit 1.5krát a přičíst k řádku R2 (aby se nějaká složka vyrušila), prostě R1 vynásobit 3krát a R2 2x a sečíst je pak? V podstatě takové převádění na společného jmenovatele, dalo by se říci...
Co se týče nutnosti kladných čísel, tady nevím. Tak dobře si na
lineární algebru už nepamatuju
.
Zobrazeno 5 zpráv z 5.