ginsh – Online in der Cloud

Dies ist der Befehl ginsh, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


ginsh – GiNaC Interactive Shell

ZUSAMMENFASSUNG


Ginsh [Datei...]

BESCHREIBUNG


Ginsh ist ein interaktives Frontend für das GiNaC-Framework für symbolische Berechnungen. Es ist
Gedacht als Werkzeug zum Testen und Experimentieren mit den Funktionen von GiNaC, nicht als
Ersatz für herkömmliche interaktive Computeralgebrasysteme. Obwohl es viele kann
Für die Dinge, die diese traditionellen Systeme leisten können, bietet Ginsh keine Programmierkonstrukte wie diese
Schleifen oder bedingte Ausdrücke. Wenn Sie diese Funktionalität benötigen, empfehlen wir Ihnen, zu schreiben
Ihr Programm in C++ unter Verwendung des „nativen“ GiNaC-Klassenframeworks.

ANWENDUNG


SPEISUNG FORMAT
Nach dem Start zeigt Ginsh eine Eingabeaufforderung („>“) an, die anzeigt, dass es bereit ist, Ihre Daten zu akzeptieren
Eingang. Akzeptable Eingaben sind numerische oder symbolische Ausdrücke, die aus Zahlen bestehen (z
42, 2/3 or 0.17), Symbole (z x or Folge), mathematische Operatoren wie + und * und
Funktionen (zB Sünde or normal). Jeder Eingabeausdruck muss entweder mit a abgeschlossen werden
Semikolon (;) oder ein Doppelpunkt (:). Wenn es mit einem Semikolon endet, wertet Ginsh das aus
Ausdruck und geben Sie das Ergebnis auf stdout aus. Wenn es mit einem Doppelpunkt endet, wird nur Ginsh verwendet
Werten Sie den Ausdruck aus, drucken Sie das Ergebnis jedoch nicht aus. Es ist möglich, mehrere einzugeben
Ausdrücke in einer Zeile. Leerzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche) können frei dazwischen angewendet werden
Token. Um Ginsh zu beenden, geben Sie ein verlassen or wunsch, oder geben Sie an der Eingabeaufforderung ein EOF (Strg-D) ein.

IHRE NACHRICHT
Alles, was auf einen doppelten Schrägstrich folgt (//) bis zum Ende der Zeile und alle Zeilen beginnend
mit einem Rautenzeichen (#) werden als Kommentar behandelt und ignoriert.

NUMMERN
Ginsh akzeptiert Zahlen in der üblichen Dezimalschreibweise. Dazu gehört auch willkürliche Präzision
ganze Zahlen und rationale Zahlen sowie Gleitkommazahlen in Standard- oder wissenschaftlicher Form
Notation (zB 1.2E6). Die allgemeine Regel lautet: Wenn eine Zahl einen Dezimalpunkt enthält
(.), es ist eine (ungenaue) Gleitkommazahl; andernfalls ist es eine (exakte) ganze Zahl oder
rational. Ganzzahlen können binär, oktal, hexadezimal oder willkürlich (2-36) angegeben werden.
Basis, indem Sie ihnen das Präfix voranstellen #b, #o, #x, oder #nR , Bzw.

SYMBOLE
Symbole bestehen aus einer Folge alphanumerischer Zeichen und dem Unterstrich (_), mit
Das erste Zeichen ist nicht numerisch. Z.B a und mu_1 sind akzeptable Symbolnamen, while
2pi ist nicht. Es ist möglich, Symbole mit demselben Namen wie Funktionen zu verwenden (z. B Sünde);
Ginsh ist in der Lage, zwischen den beiden zu unterscheiden.

Symbolen können durch Eingabe Werte zugewiesen werden
Symbol = Ausdruck;

Geben Sie Folgendes ein, um die Zuweisung des Werts eines zugewiesenen Symbols aufzuheben:
Zuweisung aufheben('Symbol');

Zugewiesene Symbole werden automatisch ausgewertet (= durch ihren zugewiesenen Wert ersetzt), wenn
Sie sind gebraucht. Um auf das nicht ausgewertete Symbol zu verweisen, setzen Sie einfache Anführungszeichen (') um den Namen,
wie oben für den Befehl „Zuweisung aufheben“ gezeigt.

Symbole werden standardmäßig als im komplexen Bereich liegend betrachtet, d. h. sie werden so behandelt, als ob
sie stehen für komplexe Zahlen. Dieses Verhalten kann durch die Verwendung der Schlüsselwörter geändert werden
echte_symbole und komplexe_symbole und wirkt sich auf alle neu erstellten Symbole aus.

Die folgenden Symbole sind vordefinierte Konstanten, denen kein Wert zugewiesen werden kann
Benutzer:

Pi Archimedes' Konstante

katalanisch Die katalanische Konstante

Euler Euler-Mascheroni-Konstante

I Quadrat (-1)

FAIL ein Objekt der GiNaC-Klasse „fail“.

Es gibt auch das Besondere
Digits
Symbol, das die numerische Genauigkeit von Berechnungen mit ungenauen Zahlen steuert.
Wenn Sie Ziffern einen ganzzahligen Wert zuweisen, ändert sich die Genauigkeit auf die angegebene Anzahl von
Nachkommastellen.

Platzhalter
Die Funktionen has(), find(), match() und subs() akzeptieren Platzhalter als Platzhalter für
Ausdrücke. Diese haben die Syntax
$Anzahl
zum Beispiel 0 $, 1 $ usw.

LAST GEDRUCKT AUSDRÜCKE
Ginsh stellt die drei Sondersymbole bereit
%, %% Und %%%
die sich auf den letzten, vorletzten bzw. drittletzten gedruckten Ausdruck beziehen.
Diese sind praktisch, wenn Sie die Ergebnisse früherer Berechnungen in einer neuen verwenden möchten
Ausdruck.

BETREIBER
ginsh stellt die folgenden Operatoren bereit, die in absteigender Reihenfolge aufgeführt sind:

! Postfix-Fakultät

^ Einschalten

+ unäres Plus

- unäres Minus

* Multiplikation

/ Teilung

+ Zusatz

- Subtraktion

< weniger als

> größer als

<= weniger oder gleich

>= größer oder gleich

== gleich

!= nicht gleich

= Symbolzuordnung

Mit Ausnahme von sind alle binären Operatoren linksassoziativ ^ und = welche richtig sind-
assoziativ. Das Ergebnis des Zuweisungsoperators (=) ist seine rechte Seite, also ist es so
Es ist möglich, mehrere Symbole in einem Ausdruck zuzuweisen (z. B a = b = c = 2;).

Listen
Listen werden von der verwendet U-Boote und Löse Funktionen. Eine Liste besteht aus einer öffnenden geschweiften Klammer
({), eine (möglicherweise leere) durch Kommas getrennte Folge von Ausdrücken und eine schließende geschweifte Klammer
(}).

MATRIZEN
Eine Matrix besteht aus einer öffnenden eckigen Klammer ([), eine nicht leere, durch Kommas getrennte Sequenz
von Matrixzeilen und einer schließenden eckigen Klammer (]). Jede Matrixzeile besteht aus einer Öffnung
eckige Klammer ([), einer nicht leeren, durch Kommas getrennten Folge von Ausdrücken und einem Abschluss
eckige Klammer (]). Wenn die Zeilen einer Matrix nicht die gleiche Länge haben, ist die Breite der
Die Matrix wird zu der der längsten Zeile und kürzere Zeilen werden am Ende mit aufgefüllt
Elemente mit dem Wert Null.

FUNKTIONEN
Ein Funktionsaufruf in Ginsh hat die Form
Name(Argumente)
woher Argumente ist eine durch Kommas getrennte Folge von Ausdrücken. Ginsh bietet ein paar davon
integrierte Funktionen und „importiert“ auch alle von GiNaC definierten symbolischen Funktionen und
zusätzliche Bibliotheken. Es gibt keine andere Möglichkeit, eigene Funktionen als die Verknüpfung zu definieren
ginsh gegen eine Bibliothek, die symbolische GiNaC-Funktionen definiert.

Ginsh bietet Tab-Vervollständigung für Funktionsnamen: wenn Sie den ersten Teil einer Funktion eingeben
Geben Sie den Namen ein. Durch Drücken der Tabulatortaste wird der Name nach Möglichkeit vervollständigt. Wenn der von Ihnen eingegebene Teil nicht eindeutig ist,
Wenn Sie erneut die Tabulatortaste drücken, wird eine Liste der passenden Funktionen angezeigt. Zweimal die Tabulatortaste drücken
Die Eingabeaufforderung zeigt die Liste aller verfügbaren Funktionen an.

Es folgt eine Liste der integrierten Funktionen. Sie funktionieren fast alle als jeweiliges GiNaC
Methoden mit demselben Namen, daher werde ich sie hier nicht im Detail beschreiben. Bitte wende dich an die
GiNaC-Dokumentation.

Charpoly(Matrix, Symbol) - charakteristisches Polynom einer Matrix
Koeffizient(Ausdruck, Objekt, Anzahl) - Extrahiert den Koeffizienten der Objektnummer aus a
Polynom
sammeln(Ausdruck, Objekt-oder-Liste) - sammelt Koeffizienten gleicher Potenz (Ergebnis
in rekursiver Form)
Collect_Distributed(Ausdruck, Liste) - sammelt Koeffizienten gleicher Potenz
(Ergebnis in verteilter Form)
Collect_common_factors(Ausdruck) - sammelt gemeinsame Faktoren aus den Summenbedingungen
konjugieren(Ausdruck) - komplexe Konjugation
Inhalt(Ausdruck, Symbol) - Inhaltsteil eines Polynoms
decomp_rational(Ausdruck, Symbol) - Zerlegen Sie eine rationale Funktion in ein Polynom
und richtige rationale Funktion
Grad(Ausdruck, Objekt) - Grad eines Polynoms
Denom(Ausdruck) - Nenner einer rationalen Funktion
bestimmend(Matrix) - Determinante einer Matrix
diag(Ausdruck...) - Konstruiert eine Diagonalmatrix
diff(Ausdruck, Symbol [, Nummer]) - Teildifferenzierung
teilen(Ausdruck, Ausdruck) - exakte Polynomdivision
auswerten(Ausdruck [, Niveau]) - wertet einen Ausdruck aus und ersetzt Symbole durch ihre
zugewiesener Wert
evalu(Ausdruck [, Niveau]) - wertet einen Ausdruck in eine Gleitkommazahl aus
evalm(Ausdruck) - wertet Summen, Produkte und ganzzahlige Potenzen von Matrizen aus
expandieren(Ausdruck) - erweitert einen Ausdruck
Faktor(Ausdruck) - faktorisiert einen Ausdruck (univariat)
finden(Ausdruck, Anleitungen) - gibt eine Liste aller Vorkommen eines Musters in einem zurück
Ausdruck
fsolve(Ausdruck, Symbol, Anzahl, Anzahl) - Finden Sie numerisch die Wurzel eines reellen Wertes
Funktion innerhalb eines Intervalls
gcd(Ausdruck, Ausdruck) - größter gemeinsamer Teiler
hat(Ausdruck, Anleitungen) - gibt „1“ zurück, wenn der erste Ausdruck das Muster enthält
als Unterausdruck, andernfalls „0“.
integer_content(Ausdruck) - ganzzahliger Inhalt eines Polynoms
invers(Matrix) - Umkehrung einer Matrix
Ist(Beziehung) - gibt „1“ zurück, wenn die Beziehung wahr ist, andernfalls „0“ (falsch oder).
unentschieden)
lcm(Ausdruck, Ausdruck) - kleinstes gemeinsames Vielfaches
lcoeff(Ausdruck, Objekt) - Leitkoeffizient eines Polynoms
lGrad(Ausdruck, Objekt) - niedriger Grad eines Polynoms
llösen(Gleichungsliste, Symbolliste) - Lösen Sie ein lineares Gleichungssystem
Karte(Ausdruck, Anleitungen) - Funktion auf jeden Operanden anwenden; die zu seinde Funktion
apply wird als Muster angegeben, wobei für die Operanden der Platzhalter „$0“ steht
Spiel(Ausdruck, Anleitungen) - Überprüfen Sie, ob der Ausdruck mit einem Muster übereinstimmt. gibt a zurück
Liste der Platzhalter-Ersetzungen oder „FAIL“, wenn es keine Übereinstimmung gibt
Nein (Ausdruck) - Anzahl der Operanden im Ausdruck
normal(Ausdruck [, Niveau]) - Normalisierung rationaler Funktionen
Zahl(Ausdruck) - Zähler einer rationalen Funktion
numer_denom(Ausdruck) - Zähler und Nenner einer rationalen Funktion als a
Liste
op(Ausdruck, Anzahl) - Operanden aus Ausdruck extrahieren
Leistung(Ausdruck1, Ausdruck2) - Potenzierung (entspricht dem Schreiben von expr1^expr2)
prem(Ausdruck, Ausdruck, Symbol) - Pseudorest von Polynomen
primpart(Ausdruck, Symbol) - primitiver Teil eines Polynoms
quo(Ausdruck, Ausdruck, Symbol) - Quotient der Polynome
Rang(Matrix) - Rang einer Matrix
rem (Ausdruck, Ausdruck, Symbol) - Rest von Polynomen
resultierende(Ausdruck, Ausdruck, Symbol) - Resultierende zweier Polynome mit
Respekt vor Symbol s
Serie(Ausdruck, Beziehung oder Symbol, Auftrag) - Serienerweiterung
sprem(Ausdruck, Ausdruck, Symbol) - spärlicher Pseudorest von Polynomen
sqrfree(Ausdruck [, Symbolliste]) - Quadratfreie Faktorisierung eines Polynoms
Quadrat (Ausdruck) - Quadratwurzel
Subs(Ausdruck, Relation-oder-Liste)
Subs(Ausdruck, Suchliste, Ersetzen durch Liste) - Unterausdrücke ersetzen (Sie
kann Platzhalter verwenden)
tcoeff(Ausdruck, Objekt) - Schleppkoeffizient eines Polynoms
Zeit(Ausdruck) - gibt die Zeit in Sekunden zurück, die zur Auswertung des Gegebenen benötigt wird
Ausdruck
verfolgen(Matrix) - Spur einer Matrix
transponieren(Matrix) - Transponieren einer Matrix
Zuweisung aufheben('Symbol') - Zuweisung eines zugewiesenen Symbols aufheben (bitte die Anführungszeichen beachten!)
Einheit(Ausdruck, Symbol) - Einheitsteil eines Polynoms

SPECIAL BEFEHLE
Um Ginsh zu verlassen, geben Sie ein
verlassen
or
wunsch

Ginsh kann eine (kurze) Hilfe zu einem bestimmten Thema anzeigen (hauptsächlich zu Funktionen und Operatoren).
beim Eintreten
?Thema
Typing
??
zeigt eine Liste der verfügbaren Hilfethemen an.

Der Befehl
drucken(Ausdruck);
gibt einen Dump der internen Darstellung von GiNaC für das angegebene aus Ausdruck. Dies ist
nützlich zum Debuggen und zum Erlernen der GiNaC-Interna.

Der Befehl
print_latex(Ausdruck);
gibt eine LaTeX-Darstellung des Gegebenen aus Ausdruck.

Der Befehl
print_csrc(Ausdruck);
gibt das Gegebene aus Ausdruck auf eine Weise, die in einem C- oder C++-Programm verwendet werden kann.

Der Befehl
iprint(Ausdruck);
gibt das Gegebene aus Ausdruck (die eine Ganzzahl ergeben muss) in Dezimal-, Oktal- und Oktalform
Hexadezimale Darstellungen.

Endlich die Granatenflucht
! [Befehl [Argumente]]
übergibt das Gegebene Befehl und optional Argumente zur Ausführung an die Shell übergeben. Mit diesem
Mit dieser Methode können Sie Shell-Befehle in Ginsh ausführen, ohne das Programm beenden zu müssen.

Beispiele:


> a = x^2-x-2;
-2-x+x^2
> b = (x+1)^2;
(x+1)^2
> s = a/b;
(x+1)^(-2)*(-2-x+x^2)
> diff(s, x);
(2*x-1)*(x+1)^(-2)-2*(x+1)^(-3)*(-x+x^2-2)
> normal(s);
(x-2)*(x+1)^(-1)
> x = 3^50;
717897987691852588770249
> s;
717897987691852588770247/717897987691852588770250
> Ziffern = 40;
40
> evaluieren;
0.999999999999999999999995821133292704384960990679
> unassign('x');
x
> s;
(x+1)^(-2)*(-x+x^2-2)
> series(sin(x),x==0,6);
1*x+(-1/6)*x^3+1/120*x^5+Order(x^6)
> lsolve({3*x+5*y == 7}, {x, y});
{x==-5/3*y+7/3,y==y}
> lsolve({3*x+5*y == 7, -2*x+10*y == -5}, {x, y});
{x==19/8,y==-1/40}
> M = [ [a, b], [c, d] ];
[[-x+x^2-2,(x+1)^2],[c,d]]
> Determinante(M);
-2*d-2*x*cx^2*cx*d+x^2*dc
> sammle(%, x);
(-d-2*c)*x+(dc)*x^2-2*dc
> Quantenfeldtheorie lösen;
Analysefehler bei Quantum
> beenden

DIAGNOSE


Analysefehler bei foo
Sie haben etwas eingegeben, das Ginsh nicht analysieren konnte. Bitte überprüfen Sie die Syntax von
Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.

Argument num zu Funktion muss ein sein tippe
Die Argumentnummer num zum gegebenen Funktion muss von einem bestimmten Typ sein (z. B. a
Symbol oder eine Liste). Das erste Argument hat die Nummer 0, das zweite Argument die Nummer 1,
usw.

Verwenden Sie Ginsh online über die Dienste von onworks.net



Neueste Linux- und Windows-Online-Programme