Hirdetés

Aktív témák

  • Akagi

    tag

    válasz Amoca #481 üzenetére

    Gauss eliminációval meghatározható

    altalanos elem a_i_j ,n a matrix merete
    egy sor a_i
    algoritmus:
    1. i=1 (első sorral kezdünk, lehetne akármelyikkel de akkor cserélgetni kell,és változik az algoritmus..
    az elv nem de a konkrét határok igen ).
    2 ha a_i_i == 0 ,akkor keresel egy olyan sort amelyre igaz, hogy a_k_i != 0 k>i ha nincs, akkor a determináns 0-a. Ha van akkor kicseréled a két sort, és a végén a determinanst szorzod -1-el.
    3. mivel a_i_i nem 0-a osztod vele az a_j_i i<j<=n elemeket, kapsz bj=a_j_i/a_i_i számokat
    4. megszorzod bj -vel az i-edik sort és hozzáadod a j-edik sorhoz minden i<j<=n sorra. tehat a_j=bj*a_i
    ha mindent jól csináltál akkor a_j_i elemek 0-ák
    6. i=i+1 ha i<n akkor goto 2
    6 osszeszorzod az a_i_i elemeket és ez lesz a determináns (az esetleges -1-ekről ne feledkezz meg)

    két sort remélem össze tudsz adni, és tudod hogy kell sort konstansal szorozni :)
    Ha programozod, akkor célszerű megkeresni a legnagyobb abszolútértékű a_k_i -t i<k <=n
    és ennek a sorával kicserélni az a_i sort.. (részleges főelemkiválasztás)

    Remélem érthető volt, ha nem akkor keresd Gauss-elimináció néven..

    Lehet természetesen más módszerrel is determinánst számolni, de ez egy jó, gyors, egyszerű módszer, elképzelhető olyan eset, ahol más módszer célravezetőbb. Ha n<=3 akkor ennél van egy sokkal gyorsabb módszer is, ha érdekel majd leírom.

Aktív témák

Hirdetés