Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Comenzile de alternare și de echilibrare arată asemănătoare:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

De asemenea, este adesea convenabil să se deducă o componentă specifică a tensorului. Aceasta se face prin specificarea explicită a listelor cu indicii corespunzători:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

În mod similar, este posibil să se genereze simultan un tensor simetric sau oblic-simetric de tip (0, q). Pentru aceasta, folosiți comenzile makeSymm, makeSkew, makeSymmTab, makeSkewTab. Pentru simetrică și a sosimmetrichnyh simetrice operarea produsului tensor definit (SmallCircle, Esc sc Esc) și, în consecință, oblic-simetric produs (Wedge, Esc ^ Esc). Pachetul se referă la simetric (oblic) a tensorului sau tensorul prin enumerate patru operațiuni sau care rezultă din sau tensor alternanță de echilibrare de tip (0, q):

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Rețineți că atunci când creați (oblic), pe funcția de tabelă valoarea Tensor corespunzătoare simetrică nu verifică (oblic) tabel de simetrie, și folosește doar o parte din valoarea de date pentru a extinde definiția de simetrie:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Scrieți tensorul în baza tensorului, calculați valoarea tensorului pe un set de covectori și vectori. Este posibil să scriem tensorul creat în baza spațiului de tensori de acest tip:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Pentru tensorii simetrici (oblici), se poate folosi o bază în spațiul (înclinarea) tensorilor simetrici:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Există, de asemenea, un set de operații inverse care calculează lista componentelor tensor specificate ca o combinație liniară de bază. Aceste funcții toList, toListSkew, toListSymm:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Să ne amintim că tensorul de tip (p, q) poate fi privit ca o mapare multiliniare definită pe produsul direct al p copii ale spațiului și q duble copii ale spațiului în sine. Pentru a calcula valoarea unei astfel de mapări, pachetul are o funcție care se aplică:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

În acest caz, după cum este evident din exemplu, este posibil să se substituie simultan componentele tensorului. Dacă numărul sau tipul de argumente nu corespund tipului, este afișat un mesaj de eroare sau funcția nu este executată:

Reporniți. Pentru a anula toate bazele, coordonatele etc., ar trebui să executați comanda resetTensors:

Caracteristicile lucrului cu coordonatele locale și câmpurile de tensori. Dacă specificați un sistem local, precum și baza corespunzătoare (echipa makeBasisDif) coordonează, devine posibilă setarea câmpului tensorial, componentele care sunt funcții abstracte ale coordonatelor. Setul corespunzător de funcții este makeTensorField, makeSkewField și makeSymmField. Rezultatul muncii lor este câmpul tensor corespunzător, la care pot fi aplicate operațiile obișnuite de tensori:

Cunoștințe, prelegere, tensori experiență în crearea unui pachet software personalizat

Înlocuirea coordonatelor sau bazei, recalcularea componentelor, graficul de substituție. Dacă vrem să facem o schimbare de coordonate, trebuie să creăm noi coordonate sau o nouă bază folosind comenzile makeBasisDif și makeBasis. indicând în mod explicit relația unei noi baze (coordonate) cu unele deja definite (în mod implicit - cu baza curentă) (coordonate). Cazul liniar algebric acest lucru se face prin stabilirea matricei de tranziție (ale cărei coloane - sunt componente ale vectorilor în noua bază vechi), iar în cazul coordonatelor locale trebuie stabilite funcții de transfer care exprimă poziția curentă prin intermediul unui nou (a se vedea exemplele de mai jos.). În plus, ca al patrulea argument pentru funcția makeBasisDif, puteți specifica funcții care specifică maparea inversă și exprima noile coordonate prin cele actuale. Verificarea reciprocității rămâne pe conștiința utilizatorului. Dacă se specifică tranziția, noile coordonate devin actuale, iar valorile tuturor tensorilor sunt recalculate automat în ele.

Dăm exemplele corespunzătoare. Pentru a face mai convenabil controlul calculelor, pachetul creează un graf orientat în grafic, care modifică coordonatele (bazele). Vârfurile acestui grafic sunt sisteme de coordonate. Două vârfuri sunt conectate printr-o săgeată dacă schimbarea corespunzătoare a coordonatelor este specificată explicit. Acest grafic este convenabil să deduc dinamic. Programul de mai jos oferă o tranziție la coordonatele selectate de mouse. Anume, pentru a face o înlocuire, trebuie să faceți clic pe vârful corespunzător al graficului: