rohitg00/ai-engineering-from-scratch · error · ValueError
Matrix is singular, no inverse exists
Error message
Matrix is singular, no inverse exists
What it means
Error "Matrix is singular, no inverse exists" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/01-math-foundations/02-vectors-matrices-operations/code/matrices.py:140
if self.shape == (1, 1):
return self.data[0][0]
if self.shape == (2, 2):
return self.data[0][0] * self.data[1][1] - self.data[0][1] * self.data[1][0]
det = 0
for j in range(self.cols):
minor = Matrix([
[self.data[i][k] for k in range(self.cols) if k != j]
for i in range(1, self.rows)
])
det += ((-1) ** j) * self.data[0][j] * minor.determinant()
return det
def inverse_2x2(self):
if self.shape != (2, 2):
raise ValueError("This method only works for 2x2 matrices")
det = self.determinant()
if abs(det) < 1e-10:
raise ValueError("Matrix is singular, no inverse exists")
return Matrix([
[self.data[1][1] / det, -self.data[0][1] / det],
[-self.data[1][0] / det, self.data[0][0] / det]
])
@staticmethod
def identity(n):
return Matrix([
[1 if i == j else 0 for j in range(n)]
for i in range(n)
])
@staticmethod
def zeros(rows, cols):
return Matrix([[0] * cols for _ in range(rows)])
@staticmethod
def random(rows, cols, low=-1.0, high=1.0):View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/01-math-foundations/02-vectors-matrices-operations/code/matrices.py:140 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/830fc7cdd377680d.
Report an issue: GitHub.