Sage rozdělovače - Sage Manifolds - Wikipedia
SageManifolds (podle stylu SageMath) je rozšíření plně integrované do SageMath, které mají být použity jako balík pro diferenciální geometrie a tenzorový počet. Oficiální stránka projektu je sagemanifolds.obspm.fr. Může být použit na CoCalc.
SageManifolds se zabývá diferencovatelné potrubí libovolného rozměru. Základní objekty jsou tenzorová pole a ne tenzorové komponenty v daném vektorovém rámci nebo souřadnicovém grafu. Jinými slovy, na rozdělovač lze vložit různé grafy a rámce a dané tenzorové pole může mít reprezentace v každém z nich.
Důležitou třídou ošetřených potrubí je třída pseudoriemanianské rozdělovače, mezi kterými Riemannovy rozdělovače a Lorentzian potrubí, s aplikacemi do Obecná relativita. Zejména SageManifolds implementuje výpočet Riemannův tenzor zakřivení a přidružené objekty (Ricciho tenzor, Weyl tenzor ). SageManifolds si také poradí obecný afinní spojení, ne nutně Levi-Civita ty.
Funkce
Verze | datum | Popis (od Seznam změn ) |
---|
0.1 | 7. července 2013 | První vydání |
0.2 | 12. září 2013 | Definovalo šest tříd a „mnoho doktrín se změnilo, aby vyhovovaly Sage 5.11. Nové metody v každé třídě. |
0.3 | 24. listopadu 2013 | Vývojové úložiště přesunuto z svn na sakra. Nové ukázkové listy. Další třídy a metody (některé zděděné od Sage). |
0.4 | 10. února 2014 | Nové třídy, členové a metody. |
0.5 | 12. července 2014 | Toto je hlavní vydání, které zahrnuje zavedení algebraických struktur k popisu tenzorových polí, konkrétně modulů nad algebrou skalárních polí, mezi nimiž jsou volné moduly konečné pozice. Toho je dosaženo pomocí Sage Rodič /Živel schéma a donucovací model. |
0.6 | 28. září 2014 | - Grafický výstup pro grafy (metoda
Chart.plot () ) a body (metoda Point.plot () ); Zde jsou nějaké příklady. - Zavedení indexové notace k označení tenzorových kontrakcí a tenzorových symetrizací (nová třída
TensorWithIndices ); viz tyto odkazy: 1, 2. - Argument metod
učinit souměrným() a antisymetrize () v tenzorových třídách je nyní přímo posloupnost indexových pozic (a už ne jediný seznam / n-tice zapouzdřující takovou posloupnost). - Metoda
self_contract () přejmenovaných tenzorových tříd stopa() . - Kód pro tenzorové kontrakce byl optimalizován; navíc je nyní povoleno několik tenzorových kontrakcí.
- Dokumentace (referenční příručky 4 a 5 ) byl vylepšen.
|
0.7 | 12. března 2015 | Pro koncového uživatele jsou nové funkce- zavedení křivek do potrubí (s některými schopnostmi vykreslování)
- vylepšení v diferenciálním mapování mezi potrubími, včetně složení mapování a rozdílového mapování
- zavedení homomorfismů mezi bezplatnými moduly
|
0.8 | 16. května 2015 | Změny pro koncového uživatele:- Graf vektorových polí: nová metoda
VectorField.plot () - Možnost paralelizace těžkých výpočtů: paralelizace je implementována pro základní tenzorový počet (aritmetika, kontrakce) a pro počet týkající se afinních spojů (spojovací koeficienty, působení na tenzorové pole, Riemannova křivka tenzoru)
- Pěkné zobrazení částečných derivací
- Standardní matematické funkce exp, cos, sin atd. Na skalárních polích
- Zobrazení tenzorových komponent jako seznam, jedna na řádek: nové metody
TensorField.display_comp () a FreeModuleTensor.display_comp () - Pěkné zobrazení koeficientů připojení: nová metoda
AffConnection.display () - Pěkné zobrazení symbolů Christoffel: nová metoda
Metric.christoffel_symbols_display () - Pěkné zobrazení map přechodu grafu: nová metoda
CoordChange.display ()
|
0.9 | 10. prosince 2015 | Toto je hlavní vydání, které je výsledkem důležitého refaktoringu kódu s ohledem na plnou integraci SageManifolds do SageMath (srov. Metaticket #18528 na vývojářské trase SageMath). Hlavní změny jsou- Topologické vlastnosti byly odděleny od diferenciálních implementací topologických variet (nová třída
Topologické potrubí ) a vytvoření třídy pro diferencovatelné potrubí (DifferentiableManifold ) dědí z Topologické potrubí . - Základní pole, nad nímž jsou definovány rozdělovače, se již nepředpokládá jako skutečné pole: může to být jakékoli topologické pole (nediskrétní pro definování rozlišitelnosti pro různá rozdělovače). To umožňuje definovat snadno složité rozdělovače nastavením pole na C.
- Třída
RozdělovačOpenSubset byl potlačen: otevřené podmnožiny potrubí jsou nyní instancemi Topologické potrubí nebo DifferentiableManifold (protože otevřená podmnožina potrubí top / diff je sama o sobě top / diff manifold) - Funkce definované na souřadnicové záplatě již nemusí být nutně symbolickými funkcemi souřadnic: nyní se týkají obecné třídy
CoordFunction , symbolické funkce jsou popsány jeho podtřídou (CoordFunctionSymb ). To otevírá cestu „numerickým“ varietám, jako jsou časoprostory generované numerickými kódy relativity. - Lepší paralelizace, řízená novou třídou singleton
Rovnoběžnost a globální funkce use_multiproc .
|
0.9.1 | 19. září 2016 | * Úplná změna je nyní uvedena pro stránku Wikipedia (tato) * Toto vydání propaguje další změny kódu související s integrací SageManifolds do SageMath (srov. Metaticket # 18528); přidává také několik nových funkcí. Nové funkce: - Výpočet Schoutenova tenzoru, bavlněného konformního tenzoru a Cotton-Yorkova konformního tenzoru spojeného s danou pseudo-Riemannovou metrikou
- Přidejte strukturu Lie algebroidu do modulů vektorových polí (třídy
VectorFieldModule a VectorFieldFreeModule ): nová metoda VectorField.bracket - Paralelizace grafů vektorového pole
- Paralelizace aritmetiky plně antisymetrických tenzorových složek
- Vylepšené vykreslování proměnných v dílčích derivátech pomocí LaTeX zobrazení symbolů (třída
ExpressionNice ) - Přidat operátor porovnání pro přechodové mapy (třída
CoordChange ) - Přidat seznam funkcí pro báze (metody
__len__ a __iter__ ve třídách FreeModuleBasis a FreeModuleCoBasis )
Syntaktické změny: - Metoda
CoordChange.set_inverse : nahraďte klíčové slovo šek podle podrobně , výchozí je nyní verbose = False - Představení
Možnosti potrubí k ovládání zobrazení matematických výrazů namísto globálních funkcí pěkné deriváty a omit_function_args , které byly potlačeny - Funkce
set_axes_labels (pro nastavení štítků na 3D grafech) se již při spuštění neimportuje; v případě potřeby je třeba psát ze sage.manifolds.utilities import set_axes_labels - Funkce
xder (vnější derivát) již není importován v době spuštění; v případě potřeby je třeba psát ze sage.manifolds.utilities importovat xder - Třída
DiffForm : metoda exterier_der přejmenován exteriér_derivát - Třídy
DiffScalarField , TensorField a TensorFieldParal : metoda lež_der přejmenován lež_derivát , s lež_der uchováván jako alias toho druhého
Další interní změny: - Struktura potrubí nyní popsaná prostřednictvím konkrétních tříd singletonů:
Topologická struktura , RealTopologická struktura , Diferenciální struktura a RealDifferentialStructure - Třída
Topologická podřízená podskupina přejmenován Podskupina potrubí - Třída
TopologicalManifoldPoint přejmenován Rozdělovací bod - Podmnožiny rozdělovače již nejsou rodiči fasády
- Třída
Podskupina potrubí : nové metody výtah a zatáhnout - Zavedení komutativní algebry všech symbolických souřadnicových funkcí v daném grafu: nová třída
CoordFunctionSymbRing a třída CoordFunction nyní dědí z AlgebraElement - Třída
Modul FiniteRankFree : kategorie změněna z Moduly (prsten) na Moduly (ring) .FiniteDimensional () - Některé změny připravující migraci na Python 3 (např.
tisk nahrazen tisk() )
|
1.0 | 11. ledna 2017 | Kromě úplné integrace do SageMath 7.5 existují ve srovnání s v0.9.1 jen malé změny: Syntaktické změny: - Metoda
spiknutí tříd RealChart a Vector Field : argument klíčového slova nb_values přejmenován počet_hodnot - Metoda
structure_coef třídy VectorFrame přejmenován structure_coeff - Třída
OpenInterval : argument subinterval_of přejmenován okolní v konstruktoru - Třída
RealLine : Název latexu změněn z RR na Bold {R}
Interní změny: - Systematické používání syntaxe kompatibilní s Python3 (k přípravě migrace SageMath na Python3); zejména:
- Všechny výskyty
iteritems () Změnil na položky () - Všechny výskyty
itervalues () Změnil na hodnoty () - Třídy
Skalární pole a TensorField : metoda __nonzero__ přejmenován __bool__ - Třída
TensorField : metoda __div__ přejmenován __truediv__
- Třídy
TensorFieldModule , VectorFieldModule a DiffFormModule : přidat metodu v mezipaměti nula - Třídy
DiffForm a DiffFormParal : metoda exteriér_derivát je uložen do mezipaměti (pomocí dekorátoru @ cache_method ) - Třída
VectorFrame : metoda structure_coeff je uložen do mezipaměti (pomocí dekorátoru @ cache_method )
Další změny: - Vylepšení dokumentace; do referenční příručky byla přidána zejména 3D grafika pro ilustraci použití některých
spiknutí metody - Hodnoty nastavené uživatelem na některé argumenty klíčových slov z
spiknutí metody se stanou novými výchozími hodnotami až do další explicitní změny (toto chování poskytuje dekorátor @ možnosti ):TangentVector.plot : argument měřítko VectorField.plot : argumenty max_range , měřítko a barva DifferentiableCurve.plot : argumenty tloušťka , plot_points , max_range a poměr stran
|
1.0.1 | 25. března 2017 | |
1.0.2 | 21. července 2017 | |
1.1 | 7. prosince 2017 | |
Další dokumentace je zapnutá doc.sagemath.org/html/cs/reference/manifolds/.
Svobodný a otevřený software
Jak SageMath je, SageManifolds je volný, uvolnit a otevřený zdroj software založený na Krajta programovací jazyk. Je vydán pod GNU General Public License. Informace o stažení a instalaci SageManifolds najdete v části tady. Je to konkrétněji GPL v2 + (což znamená, že uživatel se může rozhodnout použít licenci vyšší než GPL verze 2.)
Rozvoj
Velká část zdroje je na lístcích na adrese trac.sagemath.org.
Na adrese jsou úložiště Github github.com/sagemanifolds/SageManifolds.
Další odkazy jsou uvedeny na sagemanifolds.obspm.fr/contact.html.