Index-Notation

In der Mathematik und Computerprogrammierung wird Index-Notation verwendet, um die Elemente einer Reihe von Zahlen anzugeben. Die Begriffe, oder werden manchmal verwendet, um sich auf die Notation von Einstein zu beziehen. Der Formalismus dessen, wie Indizes verwendet werden, ändert sich gemäß dem Thema. Insbesondere es gibt verschiedene Methoden, um sich auf die Elemente einer Liste, eines Vektoren oder einer Matrix je nachdem zu beziehen, ob man eine formelle mathematische Zeitung für die Veröffentlichung schreibt, oder wenn man ein Computerprogramm schreibt.

Index-Notation in der Mathematik

Es ist in der Mathematik oft nützlich, sich auf die Elemente einer Reihe mit Subschriften zu beziehen. Die Subschriften können ganze Zahlen oder Variablen sein. Die Reihe nimmt die Form des Tensor im Allgemeinen an, da diese als mehrdimensionale Reihe behandelt werden können. Speziell (und vertrauter) sind Fälle Vektoren (1d Reihe) und matrices (2. Reihe).

Der folgende ist nur eine Einführung ins Konzept: Index-Notation wird ausführlicher in der Mathematik (besonders in der Darstellung und Manipulation von Tensor-Operationen) verwendet. Sieh den Hauptartikel für weitere Details.

Eindimensionale Reihe (Vektoren)

Ein Vektor hat als eine Reihe von Zahlen durch das Schreiben als ein Zeilenvektor oder Spaltenvektor behandelt (welch auch immer verwendet wird, hängt von Bequemlichkeit oder Zusammenhang ab):

:

a_1 \\

a_2 \\

\vdots \\

a_n

\end {pmatrix}, \quad \mathbf = \begin {pmatrix }\

a_1 & a_2 & \cdots & a_n \\

\end {pmatrix} </Mathematik>

Index-Notation erlaubt Anzeige der Elemente der Reihe durch das einfache Schreiben a, wo der Index, wie man bekannt, ich von 1 bis n laufe.

Zum Beispiel, in Anbetracht des Vektoren:

:

10 & 8 & 9 & 6 & 3 & 5 \\

\end {pmatrix} </Mathematik>

dann sind einige Einträge

:.

Die Notation kann auf Vektoren in der Mathematik und Physik angewandt werden. Die folgende Vektor-Gleichung

:

kann auch in Bezug auf die Elemente des Vektoren geschrieben werden (auch bekannt als Bestandteile), der ist

:

wo die Indizes einen gegebenen Wertbereich nehmen. Dieser Ausdruck vertritt eine Reihe von Gleichungen, ein für jeden Index. Wenn die Vektoren, die jeder n Elemente hat, i = 1,2... n vorhabend, dann sind die Gleichungen ausführlich

:

a_1 + b_1 & = & c_1 \\

a_2 + b_2 & = & c_2 \\

& \vdots & \\

a_n + b_n & = & c_n \\

\end {richten} </Mathematik> {aus}

Folglich dient Index notataion als eine effiziente Schnellschrift für

  1. die allgemeine Struktur zu einer Gleichung, vertretend
  2. während anwendbar, auf individuelle Bestandteile.

Zweidimensionale Reihe

Mehr als ein Index wird verwendet, um Reihe von Zahlen in zwei oder mehr Dimensionen wie die Elemente einer Matrix zu beschreiben, (sieh auch Image zum Recht);

:

a_ {11} & a_ {12} & \cdots & a_ {1n} \\

a_ {21} & a_ {22} & \cdots & a_ {2n} \\

\vdots & \vdots & \ddots & \vdots \\

a_ {m1} & a_ {m2} & \cdots & a_ {mn} \\

\end {pmatrix} </Mathematik>

Der Zugang einer Matrix A wird mit zwei Indizes geschrieben, sagen ich und j mit oder ohne Kommas, um die Indizes zu trennen: Oder wo die erste Subschrift die Reihennummer ist und das zweite die Säulenzahl ist. Die Notation "ij" sollte damit nicht verwirrt sein "mir habe durch j multipliziert" wird es als "ich - j" gelesen. Zum Beispiel, wenn

:

9 & 8 & 6 \\

1 & 2 & 7 \\

4 & 9 & 2 \\

6 & 0 & 5

\end {pmatrix} </Mathematik>dann sind einige Einträge:.

Matrixgleichungen werden ähnlich Vektor-Gleichungen wie geschrieben

:

in Bezug auf die Elemente des matrices (auch bekannt als Bestandteile)

:

für alle Werte von mir und j. Wieder vertritt dieser Ausdruck eine Reihe von Gleichungen, ein für jeden Index. Wenn der matrices, den jeder n Reihen und M Säulen hat, i = 1,2... M und j = 1,2... n vorhabend, dann gibt es mn Gleichungen.

Mehrdimensionale Reihe

Die Notation erlaubt eine klare Generalisation der mehrdimensionalen Reihe von Elementen: Tensor. Zum Beispiel

:

das Darstellen eine Reihe viele Gleichungen.

In der Tensor-Analyse werden Exponenten statt Subschriften verwendet, um kovariant von kontravarianten Entitäten zu unterscheiden, Kovarianz und Kontravarianz von Vektoren und Aufhebung und dem Senken von Indizes zu sehen.

Index-Notation in der Computerwissenschaft

Auf mehreren Programmiersprachen ist Index-Notation eine Weise, Elemente einer Reihe zu richten. Diese Methode wird verwendet, da es daran am nächsten ist, wie es auf der Zusammenbau-Sprache durchgeführt wird, wodurch die Adresse des ersten Elements als eine Basis verwendet wird, und ein Vielfache (der Index) der Element-Größe verwendet wird, um innerhalb der Reihe zu richten.

Zum Beispiel, wenn eine Reihe von ganzen Zahlen in einem Gebiet des Gedächtnisses des Computers versorgt wird, das an der Speicherzelle mit der Adresse 3000 (die Grundadresse) anfängt, und jede ganze Zahl vier Zellen (Bytes) besetzt, dann sind die Elemente dieser Reihe an Speicherpositionen 3000, 3004, 3008..., 0x3000 + 4 (n-1). Im Allgemeinen ist die Adresse des ith Elements einer Reihe mit der Grundadresse b und Element-Größe s b+is.

C Durchführungsdetails

Auf der C Programmiersprache können wir den obengenannten als (Zeigestock-Form) oder Basis [ich] schreiben (Reihe-Indexieren-Form), der genau gleichwertig ist, weil der C Standard die Reihe-Indexieren-Form als eine Transformation zur Zeigestock-Form definiert. Zusammenfallend, da Zeigestock-Hinzufügung auswechselbar ist, berücksichtigt das dunkle Ausdrücke solcher als, der dazu gleichwertig ist.

Mehrdimensionale Reihe

Dinge werden interessanter, wenn wir Reihe mit mehr als einem Index, zum Beispiel, als einem zweidimensionalen Tisch betrachten. Wir haben drei Möglichkeiten:

  • machen Sie die zweidimensionale Reihe eindimensional, indem Sie einen einzelnen Index von den zwei schätzen
  • denken Sie eine eindimensionale Reihe, wo jedes Element eine andere eindimensionale Reihe, d. h. eine Reihe der Reihe ist
  • verwenden Sie zusätzliche Lagerung, um die Reihe von Adressen jeder Reihe der ursprünglichen Reihe zu halten, und die Reihen der ursprünglichen Reihe als getrennte eindimensionale Reihe zu versorgen

In C können alle drei Methoden verwendet werden. Wenn die erste Methode verwendet wird, entscheidet der Programmierer, wie die Elemente der Reihe im Gedächtnis des Computers angelegt werden, und die Formeln zur Verfügung stellt, um die Position jedes Elements zu schätzen. Die zweite Methode wird verwendet, wenn die Zahl der Elemente in jeder Reihe dasselbe und bekannt zurzeit ist, wird das Programm geschrieben. Der Programmierer erklärt die Reihe, sagen wir, drei Säulen zu haben, indem er z.B schreibt. Man bezieht sich dann auf ein besonderes Element der Reihe, indem man schreibt. Der Bearbeiter schätzt die Gesamtzahl von durch jede Reihe besetzten Speicherzellen, verwendet den ersten Index, um die Adresse der gewünschten Reihe zu finden, und verwendet dann den zweiten Index, um die Adresse des gewünschten Elements in der Reihe zu finden. Wenn die dritte Methode verwendet wird, erklärt der Programmierer den Tisch, eine Reihe von Zeigestöcken, wie darin zu sein. Wenn der Programmierer nachher ein besonderes Element angibt, erzeugt der Bearbeiter Instruktionen, die Adresse der Reihe nachzuschlagen, die durch den ersten Index angegeben ist, und diese Adresse als die Basis zu verwenden, wenn sie die Adresse des durch den zweiten Index angegebenen Elements schätzt.

Beispiel

Diese Funktion multipliziert zwei 3x3, Punkt matrices zusammen schwimmen lassend.

Leere mult3x3f (Ergebnis der Hin- und Herbewegung [] [3], const schwimmen [] [3], const lassen B [] [3] schwimmen)

{\

interne Nummer i, j, k;

für (ich = 0; ich, J. Hubbard, die Umrisse von Schaum, McGraw Hill (die USA), 1996, internationale Standardbuchnummer 0-07-114328-9

  • D.C. Kay, die Umrisse von Schaum, McGraw Hill (die USA), 1988, internationale Standardbuchnummer 0-07-033484-6
  • K.F. Riley, M.P. Hobson, S.J. Bence, Universität von Cambridge Presse, 2010, internationale Standardbuchnummer 978-0-521-86153-3

Automatisches Etikett-Stellen / Wilde Grüne
Impressum & Datenschutz