---
jupytext:
  formats: ipynb,md:myst
  text_representation:
    extension: .md
    format_name: myst
    format_version: 0.13
    jupytext_version: 1.16.0
kernelspec:
  display_name: Python 3
  language: python
  name: python3
---

# Python demo Modul 1


## Indlæser pakker

```{code-cell}
import numpy as np
```

## Definer vektorer og matricer

```{code-cell}
# Definér matrixen (fx 2x2)
A = np.array([[4, 2],
              [1, 3]])
B = np.array([[5, 6],
              [7, 8]])
b = np.array([1, 2])

print("A=",A)
print("B=",B)
print("b=",b)

```

## Løsning af ligningssystemer $Ax=b$

```{code-cell}
x = np.linalg.solve(A, b)  # finder x, så A x = b
print(x)
```

## Matrix algebra

```{code-cell}
C=2*A-5*B
print(C)
```

```{code-cell}
D=A@B
print(D)
```

## Transponering, invers og determinant

```{code-cell}
A_Trans = A.T
A_inv = np.linalg.inv(A)
A_det = np.linalg.det(A)
rank_A = np.linalg.matrix_rank(A)


print("A**T=",A_Trans)
print("A**(-1)=",A_inv)
print("det(a)=",A_det)
print("Rangen af A er:", rank_A)
```

## Egenværdier og vektorer

```{code-cell}
# Find egenværdier og egenvektorer
eigenvalues, eigenvectors = np.linalg.eig(A)

print("Egenværdier:")
print(eigenvalues)

print("Egenvektorer:")
print(eigenvectors)
```

## Kun egenværdier

```{code-cell}
eigenvalues = np.linalg.eigvals(A)
print("Egenværdier:", eigenvalues)
```
