Vlákno názorů k článku Incanter: operace s maticemi od technomaniak - 1) V článku chybí max. podporované velikosti matic....

  • Článek je starý, nové názory již nelze přidávat.
  • 30. 10. 2018 8:35

    technomaniak (neregistrovaný)

    1) V článku chybí max. podporované velikosti matic. Např. zvládne to 50 000/50 000, 500 000x500 000, 5 000 000 x 5 000 000 a více? Přeci jenom matice 5x5 jsou možná tak pro študáky 1 semestru.

    2) Když už řešíš operace s maticemi, bylo by vhodné předvést i iterace maticových řešení. (to je základ numerické matematiky u různých lineárních i nelineárních řešení např. v mechanice kontinua)

    3) Docela často se potřebují i výpočet vlastních čísel (tvz. eigenvalue). Je podporováno?

    4) Sorry ale naprosto zcestně vysvětluješ Choleskyho dekompozicí. Choleskyho dekompozice slouží k řešení soustav rovnic a nekončí rozložením vstupní matice na dvě trojůhelníkové(nad diagonálou, pod diagonálou). To je jenom první krok a další následují. Navíc ji zapomněl na splnění podmínky o minorech matice.

  • 30. 10. 2018 13:04

    Pavel Tišnovský
    Zlatý podporovatel

    Ahoj, zkusím odpovědět:

    1) čistě teoretické limity jsou dané současnou implementací vectorz/matrix, což znamená: počet dimenzí - int (32bit), offset mezi dimenzemi také int (2^31-1), počet prvků long (2^64-1). Takže v případě 2D matic by to bylo 2^32-1x2^32-1 prvků. Prakticky je to horší, protože interně se nakonec po "zploštění" celé struktury NDArray zavolá new double[n], takže na současných VM Javy to bude Integer.MAX_VALUE - 5 prvků.

    2) Jj pravda. Zkusím dát dohromady rozumné příklady. Popravdě se mi ten článek natáhl tak o 1/3, takže by se to tam nevlezlo, ale něco vymyslím (vezmi asi z toho, co máme v R-ku :-)

    3) Ano, existuje pro to funkce decomp-eigenvalue. Chtěl jsem se jí věnovat příště (ještě jsou podporovány další rozklady matic).

    4) díky za upozornění. Snažil jsem se popsat jen ten první krok realizovaný funkcí decomp-cholesky, tj. získání matic L a L*. Na co se to dál použije, už je jiná věc ne? Zmínit jsem to pravda měl.