Hilfe bei Matrix multiplication

Code-Stücke können hier veröffentlicht werden.
Antworten
Einsteigercoder
User
Beiträge: 3
Registriert: Donnerstag 3. Dezember 2020, 01:56

Kann mir jmd bei dem code hier helfen komme nicht weiter

import numpy as np

from lib import timedcall, plot_2d


def matrix_multiplication(a: np.ndarray, b: np.ndarray) -> np.ndarray:
"""
Calculate product of two matrices a * b.

Arguments:
a : first matrix
b : second matrix

Return:
c : matrix product a * b

Raised Exceptions:
ValueError: if matrix sizes are incompatible

Side Effects:
-

Forbidden: numpy.dot, numpy.matrix
"""

n, m_a = a.shape
m_b, p = b.shape

# TODO: test if shape of matrices is compatible and raise error if not

# Initialize result matrix with zeros
c = np.zeros((n, p))

# TODO: Compute matrix product without the usage of numpy.dot()


return c
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Und womit kommst Du nicht weiter? Wo konkret hast Du Schwierigkeiten? Die TODOs beschreiben doch recht genau, was zu tun ist.

lib ist ein sehr schlechter Name für ein Modul. Der Modulname sollte ausdrücken, was das Thema des Moduls ist.

Einbuchstabige Variablennamen sind meist schlecht, weil sie zu wenig sagen, was der Inhalt der Variable ist.
Benutzeravatar
__blackjack__
User
Beiträge: 13007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Einsteigercoder: Was genau heisst Du kommst nicht weiter?

Da steht im Docstring was die Funktion machen soll und was Du *nicht* verwenden darfst.

Du müsstest als erstes herausfinden wie Matrixmultiplikation funktioniert. Und dann die beiden TODO-Kommentare durch entsprechenden Code ersetzen.

Wie funktioniert denn Matrixmultiplikation? Und welche Eigenschaft bezüglich der Dimensionen müssen die beiden Matrizen `a` und `b` aufweisen, damit man sie multiplizieren kann?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten