Achtung: diese Seite wird nur zu Testzwecken betrieben. Hier gelangen Sie zur Madipedia-Website: https://madipedia.de

Computeralgebrasysteme: Unterschied zwischen den Versionen

Aus dev_madipedia
Zur Navigation springen Zur Suche springen
[unmarkierte Version][gesichtete Version]
KKeine Bearbeitungszusammenfassung
 
(27 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Überblick ==
== Überblick ==
Ein '''Computeralgebrasystem''' (abgekürzt: '''CAS''', gesprochen: „C-A-S“, manchmal auch „Kass“) ist ein Computerprogramm, das symbolische Berechnungen wie beispielsweise das formale Lösen von Gleichungen und Ungleichungen einschließlich nötiger Termumformungen und auch das formale Differenzieren und Integrieren ermöglicht. Solche symbolischen Umformungen, auch ''Formelmanipulationen'' genannt, basieren auf entsprechenden ''Kalkülen'' aus der Algebra und der Analysis (die daher im Englischen auch ''Calculus'' genannt wird), die mit Regelsystemen beschreibbar sind, die letztlich auch Grundlage zielgerichteter händischer Bearbeitung sind. Derartige Regelsysteme werden in der ''Computeralgebra'' formuliert und untersucht. Heutige CAS haben in aller Regel einen [[Funktionenplotter]] integriert, der allerdings nicht zur Computeralgebra gehört.<br />
Entsprechend der Definition der [http://www.fachgruppe-computeralgebra.de/ '''Fachgruppe Computeralgebra'''] gemäß dem [http://www.fachgruppe-computeralgebra.de/ca-handbuch/ Computeralgebra-Handbuch] gilt:
:: Die Computeralgebra ist ein Wissenschaftsgebiet, das sich mit Methoden zum Lösen mathematisch formulierter Probleme durch symbolische Algorithmen und deren Umsetzung in Soft- und Hardware beschäftigt. Sie beruht auf der exakten endlichen Darstellung endlicher oder unendlicher mathematischer Objekte und Strukturen und ermöglicht deren symbolische und formelmäßige Behandlung durch eine Maschine. Strukturelles mathematisches Wissen wird dabei sowohl beim Entwurf als auch bei der Verifikation und Aufwandsanalyse der betreffenden Algorithmen verwendet. Die Computeralgebra kann damit wirkungsvoll eingesetzt werden bei der Lösung von mathematisch modellierten Fragestellungen in zum Teil sehr verschiedenen Gebieten der Informatik und Mathematik sowie in den Natur- und Ingenieurwissenschaften. <ref>Aus: http://www.fachgruppe-computeralgebra.de/allgemeines/</ref>


Ein '''Computeralgebrasystem''' (abgekürzt: '''CAS''', gesprochen: C-A-S) ist ein Computerprogramm, das symbolische Berechnungen wie beispielsweise das formale Lösen von Gleichungen und Ungleichungen einschließlich nötiger Termumformungen und auch das formale Differenzieren und Integrieren ermöglicht. Solche symbolischen Umformungen, auch ''Formelmanipulationen'' genannt, basieren auf entsprechenden ''Kalkülen'' aus der Algebra und der Analysis (die daher im Englischen auch ''Calculus'' genannt wird), die mit Regelsystemen beschreibbar sind, die letztlich auch Grundlage zielgerichteter händischer Bearbeitung sind. Derartige Regelsysteme werden in der ''Computeralgebra'' formuliert und untersucht. Heutige CAS haben in aller Regel einen [[Funktionenplotter]] integriert, der allerdings nicht zur Computeralgebra gehört.<br />
==Zur Geschichte==
Entsprechend der Definition der '''Fachgruppe Computeralgebra''' <ref>http://www.fachgruppe-computeralgebra.de/cms/tiki-index.php?page=Fachgruppe+Computeralgebra</ref> ist '''Computeralgebra''' ein Wissenschaftsgebiet, das sich mit Methoden zum Lösen mathematisch formulierter Probleme durch symbolische Algorithmen und deren Umsetzung in Soft- und Hardware beschäftigt. Sie beruht auf der exakten endlichen Darstellung endlicher oder unendlicher  mathematischer Objekte und Strukturen und ermöglicht deren symbolische und formelmäßige Behandlung durch eine Maschine.
Als erstes CAS gilt das seit den 1960er Jahren entwickelte Programm '''Macsyma''', das nun als Open-Source-Version unter dem Namen [http://de.wikipedia.org/wiki/Maxima_(Computeralgebrasystem) '''Maxima'''] weiterentwickelt wird. In den 1970er Jahren kam '''muMATH''' hinzu und Ende der 1980er Jahre '''Mathematica''' und '''Derive'''. Heute gibt es eine Fülle unterschiedlicher CAS. Noch um 1990 herum war statt ''Computeralgebrasystem'' auch die Bezeichnung ''Formelmanipulationssystem'' üblich.
 
== Geschichte ==
Als erstes CAS gilt das seit den 1960er Jahren entwickelte Programm '''Macsyma''', das nun als Open-Source-Version unter dem Namen '''Maxima''' weiterentwickelt wird. In den 1970er Jahren kam '''muMATH''' hinzu und Ende der 1980er Jahre '''Mathematica''' und '''Derive'''. Heute gibt es eine Fülle unterschiedlicher CAS. Noch um 1990 herum war statt ''Computeralgebrasystem'' auch die Bezeichnung ''Formelmanipulationssystem'' üblich.


== Grundsätzliche Eigenschaften ==
== Grundsätzliche Eigenschaften ==
Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: <ref>Vgl. [Oberschelp 1996], dargestellt auch in [Hischer 2002, 262 ff.].</ref>
* '''NG''': ''Numerisch-Graphischer Modus'' 
<div id="Term"></div>
* '''ST''': ''Symbolischer Term-Modus''


Der NG-Modus bezieht sich auf die Optionen eines guten Taschenrechners und eines Funk­tionenplotters, betrifft also noch nicht die Computeralgebra (s. o.), während der ST-Modus das eigentlich Neue, nämlich die sog. „Computeralge­bra“, betrifft.


Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: <ref>Basierend auf Oberschelp, Walter (1996): Computeralgebrasysteme als Implementierung symbolischer Term­algorithmen. In: Hischer, Horst & Weiß, Michael (Hrsg.) (1996): Rechenfertigkeit und Begriffsbildung — Zu wesentlichen Aspekten des Mathematikun­terrichts vor dem Hintergrund von Computeralgebrasystemen. Hildesheim: Franzbecker, S. 31 – 37.
Die von einem CAS verarbeiteten Objekte sind mathematische '''Terme''', die als Bestand­­teile von Formeln (Gleichungen, Ungleichungen) auftreten.  
Dargestellt auch in Hischer, Horst (2002): Mathematikunterricht und Neue Medien. Hintergründe und Begründungen in fachdidaktischer und fachübergreifender Sicht. Hildesheim: Franzbecker, S. 262 ff.</ref>
* NG: Numerisch-Graphischer Modus 
 
* ST: Symbolischer Term-Modus
 
Der NG-Modus bezieht sich auf die Optionen eines guten Taschenrechners und eines Funk­tionenplotters, betrifft also noch nicht die Computeralgebra (s. o.), während der ST-Modus das eigentlich Neue, nämlich die sog. „Computeralge­bra“, betrifft.


Die von einem CAS verarbeiteten Objekte sind mathematische Terme, die als Bestand­­teile von Formeln (Gleichungen, Ungleichungen) auftreten.
<big>'''Terme'''</big> lassen sich in beliebigen algebraischen Strukturen rekursiv definieren, etwa im Körper der reellen Zahlen:


Terme lassen sich in beliebigen algebraischen Strukturen rekursiv definieren, etwa im Körper der reellen Zahlen:
: (i)      Jedes Zahlzeichen für eine reelle Zahl ist ein Term.


(i)     Jedes Zahlzeichen für eine reelle Zahl ist ein Term.
: (ii)     Jede Variable ist ein Term.


(ii)     Jede Variable ist ein Term.
: (iii)    Sind <math>T_1</math> und <math>T_2</math> Terme, so auch <math>T_1+T_2</math>, <math>T_1-T_2</math>, <math>T_1 \cdot T_2</math> und <math>T_1</math>&#x00F7;<math>T_2</math>  (Letzteres unter Beachtung von <math>T_2</math> nicht identisch gleich <math>0</math>).


(iii)   Sind ''T''<sub>1</sub> und ''T''<sub>2</sub> Terme, so auch ''T''<sub>1</sub> + ''T''<sub>2</sub>, ''T''<sub>1</sub> – ''T''<sub>2</sub>, ''T''<sub>1</sub>×''T''<sub>2</sub>, ''T''<sub>1</sub>÷''T''<sub>2</sub>.
: (iv)     Ist  <math>T_1</math> ein Term, so auch (<math>T_1</math>).


(iv)    Ist  ''T''  ein Term, so auch (''T'').
Und es könnte dann z. B. hinzukommen:


(v)      Und es könnte dann z. B. hinzukommen: Ist ''f'' eine reelle Funktion und ''T'' ein Term, so auch ''f''(''T'').
: (v)      Ist <math>f</math> eine reelle Funktion und <math>T_1</math> ein Term, so ist auch <math>f(T)</math> ein Term.


Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:
Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:


(1) Kanonische Zeichen für Zahlen (Integer, Festkomma, Gleitkomma).
: (1) Kanonische Zeichen für Zahlen (Integer, Festkomma, Gleitkomma).
 
(2) Zahlenpaare und Zahlen-Tripel, in der Ausgabe üblicherweise dargestellt als Punkte.
 
(3) Funktionszeichen (arithmetische Operatoren, Quadratwurzel, Bruchstrich, Exponentiation, Fakultät, usw.) zur Bildung von Termen, dazu auch Funktionenverkettung und Konstanten.


(4) Wichtige Erweiterungen des Termbe­griffs durch Verwendung von Variablen für Zahlen, Zahlenpaare, Vektoren, Matrizen, ...
: (2) Zahlenpaare und Zahlen-Tripel, in der Ausgabe üblicherweise dargestellt als Punkte in der Ebene bzw. im Raum.


(5) Eine weitere Erweiterung des Termbe­griffs mittels Funktionsvariablen und durch Operatoren (Differentialoperator, Integraloperator, Summenzeichen ...).  
: (3) Funktionszeichen (arithmetische Operatoren, Quadratwurzel, Bruchstrich, Exponentiation, Fakultät usw.) zur Bildung von Termen, dazu auch Funktionenverkettung und Konstanten.


: (4) Wichtige Erweiterungen des Termbe­griffs durch Verwendung von Variablen für Zahlen, Zahlenpaare, Vektoren, Matrizen, ...


: (5) Eine weitere Erweiterung des Termbe­griffs mittels Funktionsvariablen und durch Operatoren (Differentialoperator, Integraloperator, Summenzeichen, ...).
Wenn ein CAS im NG-Modus genutzt wird, so geschieht dies weitgehend im Bereich von (1) bis (3), wobei aber auch (4) und (5) nicht ausgeschlossen sind. Das CAS wird dann im Prinzip nur wie ein programmierbarer Taschenrechner genutzt, der bei Verwendung von (2) über ein Graphik-Display verfügt. Dabei laufen intern Rechenprogramme ab, die auch umfangreiche Numerik-Algo­rith­men benutzen können, z. B. Verfahren zur Null­stel­len­be­stimmung, zur numerischen Dif­fe­­rentiation oder Integration, ferner Inter­po­la­tions- und Approximations-Algorithmen.
Wenn ein CAS im NG-Modus genutzt wird, so geschieht dies weitgehend im Bereich von (1) bis (3), wobei aber auch (4) und (5) nicht ausgeschlossen sind. Das CAS wird dann im Prinzip nur wie ein programmierbarer Taschenrechner genutzt, der bei Verwendung von (2) über ein Graphik-Display verfügt. Dabei laufen intern Rechenprogramme ab, die auch umfangreiche Numerik-Algo­rith­men benutzen können, z. B. Verfahren zur Null­stel­len­be­stimmung, zur numerischen Dif­fe­­rentiation oder Integration, ferner Inter­po­la­tions- und Approximations-Algorithmen.


Das numerische Lösen von Gleichungen, das Darstellen von Funktionsgraphen mit einem integrierten Funktionenplotter und die Anwendung von Operationen und Optionen wie '''approx''' sind Indizien dafür, dass ein CAS im NG-Modus arbeitet, und hierfür benötigt man eigentlich gar kein Computeralgebrasystem!
Das numerische Lösen von Gleichungen, das Darstellen von Funktionsgraphen mit einem integrierten Funktionenplotter und die Anwendung von Operationen und Optionen wie '''approx''' sind Indizien dafür, dass ein CAS im NG-Modus arbeitet (und hierfür benötigt man eigentlich gar kein Computeralgebrasystem).
 
 
Das Wesentliche und zugleich Revolutionäre am CAS ist die Möglichkeit symbolischen Rechnens, also des Verarbeitens von Termen im Sinne von (4) und (5), und dies ist zugleich der Kern des ST-Modus. Die Terme werden dabei wie Elemente einer formalen Sprache textlich verarbeitet. Wesentlich und unverzichtbar sind dabei  
Das Wesentliche und zugleich Revolutionäre am CAS ist die Möglichkeit symbolischen Rechnens, also des Verarbeitens von Termen im Sinne von (4) und (5), und dies ist zugleich der Kern des ST-Modus. Die Terme werden dabei wie Elemente einer formalen Sprache textlich verarbeitet. Wesentlich und unverzichtbar sind dabei  


Zeile 55: Zeile 50:


* die Benutzung von Daten- und Methoden-Banken zwecks Bereitstellung geeigneter Verarbeitungsalgorithmen.
* die Benutzung von Daten- und Methoden-Banken zwecks Bereitstellung geeigneter Verarbeitungsalgorithmen.
Damit gehört die­se Art der Verarbeitung in einen zentralen Pro­blem­bereich der Informatik, nämlich in den der Syntaxanalyse ('''[http://de.wikipedia.org/wiki/Parser Par­sing]''') for­maler Sprachen. Die hier auftretenden for­malen Sprachen sind sog. kontextfreie Sprachen (context free languages  –  '''[http://de.wikipedia.org/wiki/Kontextfreie_Sprache CFL]'''). Insbesondere sog. '''[http://www.hs-augsburg.de/mebib/emiel/entw_inf/lernprogramme/baeume/gdi_kap_1bis3.html Baumstruk­turen]''' kön­­nen im Rah­­­men der CFL-Theorie sinnvoll behandelt werden. Baum­struk­­turen spielen bei der Definition von „Term“ eine unentbehrliche Rolle, und sie haben auch Eingang in die Mathematikdidaktik gefunden, um mit ih­rer Hilfe den hierarchischen Aufbau von Ter­men verstehen zu können.


==Literatur==
* [http://de.wikipedia.org/wiki/Walter_Oberschelp Oberschelp, Walter] [1996]: Computeralgebrasysteme als Implementierung symbolischer Term­algorithmen. In: Hischer, Horst & Weiß, Michael (Hrsg.): Rechenfertigkeit und Begriffsbildung — Zu wesentlichen Aspekten des Mathematikun­terrichts vor dem Hintergrund von Computeralgebrasystemen. Hildesheim: Franzbecker 1996, S. 31–37.
* [[Horst Hischer|Hischer, Horst]] [2002]:  [http://www.horst.hischer.de/publikationen/buecher/2002-mu-neumed/cover.htm  Mathematikunterricht und Neue Medien. Hintergründe und Begründungen in  fachdidaktischer und fachübergreifender Sicht.] Hildesheim: Franzbecker,  S. 192 ff. (3., durchgesehene und korrigierte Auflage 2005).
* ''Didaktische Dissertationen:''
** Unger, Heintje [2000]: [[Computeralgebra in der AHS]]
** Aspetsberger, Klaus [2005]: [[Computeralgebrasysteme im Analysisunterricht – Unterrichtsversuche und ihre didaktische Reflexion]]


Damit gehört die­se Art der Verarbeitung in einen zentralen Pro­blem­bereich der Informatik, nämlich in den der Syntaxanalyse ('''Par­sing''') for­maler Sprachen. Die hier auftretenden for­malen Sprachen sind sog. kontextfreie Sprachen (context free languages  –  '''CFL'''). Insbesondere sog. '''Baumstruk­turen''' kön­­nen im Rah­­­men der CFL-Theorie sinnvoll behandelt werden. Baum­struk­­turen spielen bei der Definition von „Term“ eine unentbehrliche Rolle, und sie haben auch Eingang in die Mathematikdidaktik gefunden, um mit ih­rer Hilfe den hierarchischen Aufbau von Ter­men verstehen zu können.
==Anmerkungen==
 
 
== Siehe auch ==
* [[Computeralgebra in der AHS]]
* [[Computeralgebrasysteme im Analysisunterricht – Unterrichtsversuche und ihre didaktische Reflexion]]
 
== Weblinks ==
* [http://www.fachgruppe-computeralgebra.de/cms/tiki-index.php Website der Fachgruppe Computeralgebra]
 
==Literatur==
<references />
<references />


{{Zitierhinweis}}
[[Kategorie:CAS]]
{{Zitierhinweis|Horst Hischer}}

Aktuelle Version vom 4. April 2018, 18:17 Uhr

Überblick

Ein Computeralgebrasystem (abgekürzt: CAS, gesprochen: „C-A-S“, manchmal auch „Kass“) ist ein Computerprogramm, das symbolische Berechnungen wie beispielsweise das formale Lösen von Gleichungen und Ungleichungen einschließlich nötiger Termumformungen und auch das formale Differenzieren und Integrieren ermöglicht. Solche symbolischen Umformungen, auch Formelmanipulationen genannt, basieren auf entsprechenden Kalkülen aus der Algebra und der Analysis (die daher im Englischen auch Calculus genannt wird), die mit Regelsystemen beschreibbar sind, die letztlich auch Grundlage zielgerichteter händischer Bearbeitung sind. Derartige Regelsysteme werden in der Computeralgebra formuliert und untersucht. Heutige CAS haben in aller Regel einen Funktionenplotter integriert, der allerdings nicht zur Computeralgebra gehört.
Entsprechend der Definition der Fachgruppe Computeralgebra gemäß dem Computeralgebra-Handbuch gilt:

Die Computeralgebra ist ein Wissenschaftsgebiet, das sich mit Methoden zum Lösen mathematisch formulierter Probleme durch symbolische Algorithmen und deren Umsetzung in Soft- und Hardware beschäftigt. Sie beruht auf der exakten endlichen Darstellung endlicher oder unendlicher mathematischer Objekte und Strukturen und ermöglicht deren symbolische und formelmäßige Behandlung durch eine Maschine. Strukturelles mathematisches Wissen wird dabei sowohl beim Entwurf als auch bei der Verifikation und Aufwandsanalyse der betreffenden Algorithmen verwendet. Die Computeralgebra kann damit wirkungsvoll eingesetzt werden bei der Lösung von mathematisch modellierten Fragestellungen in zum Teil sehr verschiedenen Gebieten der Informatik und Mathematik sowie in den Natur- und Ingenieurwissenschaften. [1]

Zur Geschichte

Als erstes CAS gilt das seit den 1960er Jahren entwickelte Programm Macsyma, das nun als Open-Source-Version unter dem Namen Maxima weiterentwickelt wird. In den 1970er Jahren kam muMATH hinzu und Ende der 1980er Jahre Mathematica und Derive. Heute gibt es eine Fülle unterschiedlicher CAS. Noch um 1990 herum war statt Computeralgebrasystem auch die Bezeichnung Formelmanipulationssystem üblich.

Grundsätzliche Eigenschaften

Die heute verfügbaren Computeralgebrasy­ste­­me können in zwei grund­sätzlich zu unter­­­scheidenden Betriebsarten verwendet wer­den: [2]

  • NG: Numerisch-Graphischer Modus
  • ST: Symbolischer Term-Modus

Der NG-Modus bezieht sich auf die Optionen eines guten Taschenrechners und eines Funk­tionenplotters, betrifft also noch nicht die Computeralgebra (s. o.), während der ST-Modus das eigentlich Neue, nämlich die sog. „Computeralge­bra“, betrifft.

Die von einem CAS verarbeiteten Objekte sind mathematische Terme, die als Bestand­­teile von Formeln (Gleichungen, Ungleichungen) auftreten.

Terme lassen sich in beliebigen algebraischen Strukturen rekursiv definieren, etwa im Körper der reellen Zahlen:

(i) Jedes Zahlzeichen für eine reelle Zahl ist ein Term.
(ii) Jede Variable ist ein Term.
(iii) Sind und Terme, so auch , , und ÷ (Letzteres unter Beachtung von nicht identisch gleich ).
(iv) Ist ein Term, so auch ().

Und es könnte dann z. B. hinzukommen:

(v) Ist eine reelle Funktion und ein Term, so ist auch ein Term.

Bei einem CAS können dann Terme in folgenden fünf Formen auftreten:

(1) Kanonische Zeichen für Zahlen (Integer, Festkomma, Gleitkomma).
(2) Zahlenpaare und Zahlen-Tripel, in der Ausgabe üblicherweise dargestellt als Punkte in der Ebene bzw. im Raum.
(3) Funktionszeichen (arithmetische Operatoren, Quadratwurzel, Bruchstrich, Exponentiation, Fakultät usw.) zur Bildung von Termen, dazu auch Funktionenverkettung und Konstanten.
(4) Wichtige Erweiterungen des Termbe­griffs durch Verwendung von Variablen für Zahlen, Zahlenpaare, Vektoren, Matrizen, ...
(5) Eine weitere Erweiterung des Termbe­griffs mittels Funktionsvariablen und durch Operatoren (Differentialoperator, Integraloperator, Summenzeichen, ...).

Wenn ein CAS im NG-Modus genutzt wird, so geschieht dies weitgehend im Bereich von (1) bis (3), wobei aber auch (4) und (5) nicht ausgeschlossen sind. Das CAS wird dann im Prinzip nur wie ein programmierbarer Taschenrechner genutzt, der bei Verwendung von (2) über ein Graphik-Display verfügt. Dabei laufen intern Rechenprogramme ab, die auch umfangreiche Numerik-Algo­rith­men benutzen können, z. B. Verfahren zur Null­stel­len­be­stimmung, zur numerischen Dif­fe­­rentiation oder Integration, ferner Inter­po­la­tions- und Approximations-Algorithmen.

Das numerische Lösen von Gleichungen, das Darstellen von Funktionsgraphen mit einem integrierten Funktionenplotter und die Anwendung von Operationen und Optionen wie approx sind Indizien dafür, dass ein CAS im NG-Modus arbeitet (und hierfür benötigt man eigentlich gar kein Computeralgebrasystem). Das Wesentliche und zugleich Revolutionäre am CAS ist die Möglichkeit symbolischen Rechnens, also des Verarbeitens von Termen im Sinne von (4) und (5), und dies ist zugleich der Kern des ST-Modus. Die Terme werden dabei wie Elemente einer formalen Sprache textlich verarbeitet. Wesentlich und unverzichtbar sind dabei

  • Algorithmen zur Analyse der Eingabeterme und
  • die Benutzung von Daten- und Methoden-Banken zwecks Bereitstellung geeigneter Verarbeitungsalgorithmen.

Damit gehört die­se Art der Verarbeitung in einen zentralen Pro­blem­bereich der Informatik, nämlich in den der Syntaxanalyse (Par­sing) for­maler Sprachen. Die hier auftretenden for­malen Sprachen sind sog. kontextfreie Sprachen (context free languages – CFL). Insbesondere sog. Baumstruk­turen kön­­nen im Rah­­­men der CFL-Theorie sinnvoll behandelt werden. Baum­struk­­turen spielen bei der Definition von „Term“ eine unentbehrliche Rolle, und sie haben auch Eingang in die Mathematikdidaktik gefunden, um mit ih­rer Hilfe den hierarchischen Aufbau von Ter­men verstehen zu können.

Literatur

Anmerkungen

  1. Aus: http://www.fachgruppe-computeralgebra.de/allgemeines/
  2. Vgl. [Oberschelp 1996], dargestellt auch in [Hischer 2002, 262 ff.].


Der Beitrag kann wie folgt zitiert werden:
Horst Hischer (2018): Computeralgebrasysteme. Version vom 4.04.2018. In: dev_madipedia. URL: http://dev.madipedia.de/index.php?title=Computeralgebrasysteme&oldid=29814.