Know-how, előadás, tenzorok egy egyedi szoftvercsomag létrehozásának tapasztalatai
A váltakozó és kiegyenlítő parancsok hasonlónak tűnnek:
Gyakran célszerű a tenzor egy specifikus komponensét is előállítani. Ezt a megfelelő indexek listáinak pontos megadásával végezzük:
Hasonlóképpen lehetséges egy szimmetrikus vagy ferde szimmetrikus tenzor (0, q) létrehozása. Ehhez használja a makeSymm, makeSkew, makeSymmTab, makeSkewTab parancsokat. A szimmetrikus és az sosimmetrichnyh szimmetrikus tenzor terméket meghatározott művelet (SmallCircle, Esc sc ESC) és, ennek megfelelően, ronthatják-szimmetrikus terméket (Wedge, Esc ^ Esc). A csomag tárgya szimmetrikus (ferdeség) a tenzor vagy tenzor által felsorolt négy műveletek, vagy abból eredő, vagy váltakozva kiegyensúlyozó tenzora típusú (0, q):
Megjegyezzük, hogy ha létre (ferdén) a szimmetrikus tenzor értéktáblázatot a megfelelő funkció nem ellenőrzi (ferdén) szimmetria asztalra, és csupán egy része az értéket, hogy meghosszabbítja a meghatározása szimmetria:
Írja be a tenzort tenzoros alapon, számítsa ki a tenzor értékét egy cövek és vektorok készletén. Lehetőség van a létrehozott tenzor írására az ilyen típusú tenzorok térsége alapján:
A (ferde) szimmetrikus tenzorokhoz alapot lehet használni a szimmetrikus tenzorok térben (ferde):
Vannak olyan inverz műveletek is, amelyek kiszámítják a tenzor komponensek listáját, amelyek lineáris alapösszegként szerepelnek. Ezek a függvények toList, toListSkew, toListSymm:
Emlékezzünk vissza, hogy a tenzor a típus (p, q) lehet tekinteni, mint egy Multilineáris mapping definiált közvetlen terméke p példányban a duális tér és q példányban a területet. Az ilyen leképezés értékének kiszámításához a csomagnak egy függvénye van:
Ebben az esetben, amint az a példából is látható, egyszerre lehetséges a tenzor komponenseinek helyettesítése. Ha az argumentumok száma vagy típusai nem egyeznek meg a típussal, hibaüzenet jelenik meg, vagy a funkciót egyszerűen nem hajtja végre:
Újraindul. Az összes létrehozott bázis, koordináta stb. Törléséhez hajtsa végre a resetTensors parancsot:
A helyi koordinátákkal és tenzor mezőkkel végzett munkák jellemzői. Ha megad egy helyi koordinátarendszer és a megfelelő módon (makeBasisDif csapat), lehetővé válik, hogy állítsa be a tenzor területen, melynek összetevői vannak absztrakt funkciói a koordinátákat. A megfelelő funkciókészlet a makeTensorField, a makeSkewField és a makeSymmField. Munkájuk eredménye a megfelelő tenzor mező, amelyre a szokásos tenzor műveletek alkalmazhatók:
A koordináták vagy alap, a komponens újraszámítása, helyettesítési grafikon megváltoztatása. Ha koordinátaváltást szeretnénk végrehajtani, új koordinátákat vagy új alapokat kell létrehoznunk a makeBasisDif és a makeBasis parancsokkal. kifejezetten jelzi az új alap (koordináták) kapcsolatát néhány már definiált (alapértelmezett - az aktuális) alapon (koordináták). A lineáris algebrai esetben ezt úgy tesszük, hogy az átmeneti mátrix (amelynek oszlopai - az alkatrészek vektorok az új alapot a régi), és abban az esetben a helyi koordinátákat kell állítani átviteli függvények kifejező a jelenlegi helyzet egy új (lásd az alábbi példákban).. Ezenkívül, mint a makeBasisDif függvény negyedik argumentuma, olyan függvényeket adhat meg, amelyek megadják az inverz leképezést, és új koordinátákat jelenítenek meg az aktuálisak között. A viszonosság ellenőrzése a felhasználó lelkiismeretén marad. Ha az átmenet megadása megtörtént, akkor az új koordináták válnak aktuálisvá, és az összes tenzor értékét automatikusan újratervezi.
Adunk a megfelelő példákat. Ahhoz, hogy kényelmesebb legyen a számítás vezérlése, a csomag létrehoz egy gráf-gráfra orientált grafikonot, amely megváltoztatja a koordinátákat (alapokat). Ennek a gráfnak a csúcsai koordinátarendszerek. Két csúcsot egy nyíllal kötnek össze, ha a megfelelő koordinátaváltás kifejezetten meg van adva. Ez a grafikon dinamikusan deduktív. Az alábbi program az egér által kiválasztott koordinátákra való átállást biztosítja. Nevezetesen, hogy cserélni kell, akkor a grafikon megfelelő csúcsaira kell kattintania: