Die lineare Algebra, die Sie auf jeden Fall an einer naturwissenschaftlichen Universität lernen werden, ist leicht verständlich und logisch zusammengefasst. Ich habe es übrigens in Python implementiert. Gelegentlich kann es in Julia implementiert werden. .. .. ・ Lerne mit Python! Neues Mathematiklehrbuch - Grundkenntnisse für maschinelles Lernen und tiefes Lernen erforderlich - ・ Weltstandard MIT Lehrbuch Strang lineare Algebra Einführung Verstehen Sie die lineare Algebra basierend auf und implementieren Sie sie in Python.
・ Jupyter-Notizbuch ・ Sprache: Python3, Julia1.4
Da es in der Markdown-Notation beschrieben ist, gibt es einige Teile, die das Produkt darstellen, wie z. B. *. In Bezug auf Formeln dient der Teil "Buckford" dazu, die Lesbarkeit von Formeln hervorzuheben, und ist nicht Teil des Codes.
v = (v₁, v₂) w = (w₁, w₂) Sagen wir den Vektor.
Das innere Produkt wird ausgedrückt als *** v ・ w ***. Es wird auch als *** Punktprodukt *** bezeichnet.
v ・ w = v₁w₁ + v₂ * w₂
Wird sein.
Zu diesem Zeitpunkt sind sie orthogonal, wenn *** v · w = 0 ist.
Die Länge ist, wenn die Vektoren der inneren Produkte gleich sind => im Quadrat. *** (Inneres Produkt v ・ v) = (Länge im Quadrat) ***
Wenn v = (1, 2, 3)
│v│² = 1² + 2² + 3² = 14
-> Dies repräsentiert *** das Quadrat der Länge ***
Das heißt, wenn dieses Quadrat entfernt wird, wird es die Länge, also
│v│ = √14
Wird sein. Als eine andere Art zu schreiben
norm(v) = √14
Schreiben. Schreiben Sie von nun an mit norm ().
In dieser Hinsicht ist es tatsächlich [Satz der drei Quadrate](https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%BF%E3%82%B4%E3%83%A9 Es ist klar im Vergleich zu% E3% 82% B9% E3% 81% AE% E5% AE% 9A% E7% 90% 86).
Es ist ein Vektor mit einer Länge von 1.
Im Fall des obigen Vektors v beträgt die Länge √14. Um dies auf 1 zu setzen, dividieren Sie durch √14. Das heißt, wenn der Vektor durch die ursprüngliche Länge selbst geteilt wird, wird er ein Einheitsvektor.
Wenn der Einheitsvektor u ist
u = v/norm(v)
Daraus ergibt u einen Vektor der Länge 1 in der gleichen Richtung wie v.
Konkret ausgedrückt, wenn v = (1, 2, 3) ist, ist es "Norm (v) = √14". Wenn Sie also dadurch dividieren,
u = (1/√14, 2/√14, 3/√14)
Es stellt sich heraus, dass
Schreiben wir nun ein Programm zur Berechnung des inneren Produkts und ein Programm zur Berechnung der Länge.
Python
import numpy as np
import math
v = list()
w = list()
#Elementeingabe eines Vektors mit drei Elementen
for i in range(3):
vvec = int(input())
v.append(vvec)
for i in range(3):
wvec = int(input())
w.append(wvec)
#Konvertierung des Inhalts des Arrays
v = np.array(v)
w = np.array(w)
#Berechnung des inneren Produkts
print(np.dot(v, w))
#Längenberechnung
normv = math.sqrt(np.dot(v, v))
print(normv)
#Weil √ bei der tatsächlichen Berechnung verwendet wird
print("√",np.dot(v, v))
Julia ist schwieriger als Python, also machen Sie es einfach Code.
v = [1 2 3]
w = [3; 2; 1]
#Berechnung des inneren Produkts
v*w
#Länge im Quadrat
normv2 = sum(v.^ 2)
#Länge
sqrt(normv2)
In Bezug auf Julias Code bin ich gezwungen, ihn in der internen Produktberechnung mitzubringen, daher möchte ich später einen etwas effizienteren Code erstellen.
Die Norm sollte ursprünglich durchgeführt werden, wird jedoch weggelassen, da es sich nur um eine Gliederung handelt.