[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
26.1 Einführung in die Laufzeitumgebung | ||
26.2 Interrupts | ||
26.3 Funktionen und Variablen der Laufzeitumgebung |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Die Datei maxima-init.mac
wird automatisch geladen, wenn Maxima startet.
Die Datei maxima-init.mac
kann genutzt werden, um bevorzugte
Einstellungen vorzunehmen. Die Datei wird üblicherweise in dem Verzeichnis
maxima_userdir
abgelegt. Sie kann aber auch in jedes andere Verzeichnis
abgelegt werden, das von der Funktion file_search
gefunden wird.
Dies ist eine Beispiel für eine maxima-init.mac
-Datei:
setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p); showtime:all;
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Eine Berechnung kann mit dem Kommando ^c (control-c) abgebrochen werden. Standardmäßig kehrt Maxima zu der Eingabeaufforderung der Konsole zurück.
Wird die Lisp-Variable *debugger-hook*
mit dem folgenden Kommando
:lisp (setq *debugger-hook* nil)
auf den Wert nil
gesetzt, dann
startet Maxima den Lisp-Debugger, wenn das Kommando ^c ausgeführt wird.
Im Lisp-Debugger kann mit dem Kommando continue
zu Maxima zurückgekehrt
werden.
In Unix-Systemen kann die Ausführung auch mit Kommando ^z
(control-z) abgebrochen werden. In diesem Fall wird eine Unix-Shell
gestartet. Das Kommando fg
kehrt zu Maxima zurück.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Die Systemvariable maxima_tempdir
enthält das Verzeichnis in dem Maxima
temporäre Dateien abgelegt. Insbesondere werden temporäre Grafikausgaben in
diesem Verzeichnis abgelegt. Der Standardwert von maxima_tempdir
ist das
Home-Verzeichnis des Nutzers, sofern Maxima dieses feststellen kann.
Andernfalls initialisiert Maxima die Systemvariable maxima_tempdir
mit
einer geeigneten Annahme.
Der Systemvariablen maxima_tempdir
kann eine Zeichenkette zugewiesen
werden, die ein Verzeichnis bezeichnet.
Die Systemvariable maxima_userdir
enthält ein Verzeichnis, das Maxima
durchsucht, um Maxima- und Lisp-Dateien zu finden. Maxima sucht in weiteren
Verzeichnissen. Die vollständige Liste der Suchverzeichnisse ist den Variablen
file_search_maxima
und file_search_lisp
enthalten. Der
Standardwert der Systemvariablen maxima_userdir
ist ein Unterverzeichnis
des Home-Verzeichnis des Nutzers, sofern Maxima dieses bestimmen kann.
Ansonsten initialisiert Maxima die Systemvariable maxima_userdir
mit
einer geeigneten Annahme.
Der Systemvariablen maxima_userdir
kann eine Zeichenkette zugewiesen
werden, die ein Verzeichnis bezeichnet. Wenn der Wert von maxima_userdir
geändert wird, werden die Variablen file_search_maxima
und
file_search_lisp
nicht automatisch angepasst.
Gibt eine Beschreibung der Speicherplatznutzung aus. Die Darstellung und der
Inhalt der Informationen hängen von dem Maxima zugrundeliegenden Lisp ab. Mit
den Argumenten true
und false
wird der Umfang der auszugebenen
Information kontrolliert. Mit dem Argument true
wird die umfangreichste
Darstellung ausgegeben und mit dem Argument false
die kürzeste.
Beispiel:
Das folgende Beispiel zeigt die Ausgabe auf einem Linux-System mit der Lisp-Implementierung SBCL 1.0.45.
(%i1) build_info(); Maxima version: 5.22post Maxima build date: 18:52 12/28/2010 Host type: i686-pc-linux-gnu Lisp implementation type: SBCL Lisp implementation version: 1.0.45 (%o1) (%i2) room(false); Dynamic space usage is: 63,719,856 bytes. Read-only space usage is: 3,512 bytes. Static space usage is: 2,256 bytes. Control stack usage is: 1,440 bytes. Binding stack usage is: 184 bytes. Control and binding stack usage is for the current thread only. Garbage collection is currently enabled. (%o2) false
Hat das Argument keyword den Wert feature
, wird das Argument
item der internen Lisp-Eigenschaftsliste *features*
hinzugefügt.
Das Kommando status(feature, item)
hat dann das Ergebnis true
.
Hat das Argument keyword den Wert false
, wird das Argument
item von der internen Lisp-Eigenschaftsliste *features*
entfernt.
Siehe auch status
.
feature
)
feature
, item)
status(feature)
gibt die vollständige interne Lisp-Eigenschaftsliste
*features*
zurück. status(feature,item)
gibt true
zurück, wenn das Argument item in der internen Lisp-Eigenschaftsliste
*features*
enthalten ist. Ansonsten ist die Rückgabe false
.
status
wertet die Argumente nicht aus. Eine Systemeigenschaft
item, die Sonderzeichen wie -
oder *
enthält, muss als
Zeichenkette angegeben werden.
Siehe auch sstatus
.
Die Systemvariable features
enthält eine Liste mit Eigenschaften, die
einer mathematischen Funktionen zugeordnet werden können. Siehe
features
und featurep
.
Beispiel:
Das folgende Beispiel zeigt die Ausgabe für ein Linux-System mit SBCL als Lisp.
(%i1) status(feature); (%o1) [sb-bsd-sockets-addrinfo, asdf2, asdf, cl, mk-defsystem, cltl2, ansi-cl, common-lisp, sbcl, sb-doc, sb-test, sb-ldb, sb-package-locks, sb-unicode, sb-eval, sb-source-locations, ieee-floating-point, x86, unix, elf, linux, sb-thread, largefile, gencgc, stack-grows-downward-not-upward, c-stack-is-control-stack, compare-and-swap-vops, unwind-to-frame-and-call-vop, raw-instance-init-vops, stack-allocatable-closures, stack-allocatable-vectors, stack-allocatable-lists, stack-allocatable-fixed-objects, alien-callbacks, cycle-counter, inline-constants, memory-barrier-vops, linkage-table, os-provides-dlopen, os-provides-dladdr, os-provides-putwc, os-provides-suseconds-t, os-provides-getprotoby-r, os-provides-poll] (%i2) status(feature,"ansi-cl"); (%o2) true
system(command)
führt das Kommando command in einem eigenen
Prozess aus. Das Kommando wird an die Standard-Shell übergeben.
system
wird nicht von allen Betriebssystemen unterstützt, steht aber im
Allgemeinen unter Unix oder Unix ähnlichen Betriebssystemen zur Verfügung.
Gibt eine Liste mit den Ausführungszeiten zurück, die benötigt wurden, um
die Ergebnisse %o1
, %o2
, %o3
, … zu berechnen.
Die Argumente der Funktion time
können nur Ausgabemarken sein. Für
andere Argumente ist das Ergebnis unknown
.
Siehe die Optionsvariable showtime
,
um die Ausführungszeiten für
jede einzelne Berechnung anzuzeigen.
Beispiel:
Die Zeit für die Berechnung der Fakultät einer großen ganzen Zahl wird
mit time
ausgegeben. Das Ergebnis muss nicht angezeigt werden. Das
Ergebnis hat 456573 Stellen.
(%i1) factorial(100000)$ (%i2) time(%o1); (%o2) [7.585] (%i3) bfloat(%o1); (%o3) 2.824229407960348b456573
Gibt eine Zeichenkette zurück, die das aktuelle Datum und die aktuelle Zeit
enthält. Die Zeichenkette hat das Format yyyy-mm-dd HH:MM:SS (GMT-n)
.
Beispiel:
(%i1) timedate(); (%o1) 2010-12-28 21:56:32+01:00
Gibt die Sekunden zurück, die seit dem 1. Januar 1990 UTC verstrichen sind. Die Rückgabe ist eine ganze Zahl.
Siehe auch elapsed_real_time
und elapsed_run_time
.
Beispiel:
(%i1) absolute_real_time (); (%o1) 3502559124 (%i2) truncate(1900+absolute_real_time()/(365.25*24*3600)); (%o2) 2010
Gibt die Sekunden zurück, die seit dem letzten Start von Maxima verstrichen sind. Die Rückgabe ist eine Gleitkommazahl.
Siehe auch absolute_real_time
und elapsed_run_time
.
Beispiel:
(%i1) elapsed_real_time (); (%o1) 2.559324 (%i2) expand ((a + b)^500)$ (%i3) elapsed_real_time (); (%o3) 7.552087
Gibt eine Schätzung der Zeit in Sekunden zurück, die Maxima für Berechnungen seit dem letzten Start benötigt hat. Der Rückgabewert ist eine Gleitkommazahl.
Siehe auch absolute_real_time
und elapsed_real_time
.
Beispiel:
(%i1) elapsed_run_time (); (%o1) 0.04 (%i2) expand ((a + b)^500)$ (%i3) elapsed_run_time (); (%o3) 1.26
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Robert Dodier on August, 1 2011 using texi2html 1.76.