Matrix Example
from dhllinalg.bla import Matrix
Create a matrix object
A = Matrix(10,10)
for i in range(10):
for j in range(10):
A[i,j] = i + 2 * j
print(A)
0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
4, 6, 8, 10, 12, 14, 16, 18, 20, 22,
5, 7, 9, 11, 13, 15, 17, 19, 21, 23,
6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
7, 9, 11, 13, 15, 17, 19, 21, 23, 25,
8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
You can get matrix values by indexing with numbers or slicing
print(f'First row of A: {A[1,:]}')
First row of A: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
Matrix operations
B = Matrix(10,10)
B[:,:] = 10
# matrix with all values equal to 10
print(A + B)
10, 12, 14, 16, 18, 20, 22, 24, 26, 28,
11, 13, 15, 17, 19, 21, 23, 25, 27, 29,
12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
13, 15, 17, 19, 21, 23, 25, 27, 29, 31,
14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
16, 18, 20, 22, 24, 26, 28, 30, 32, 34,
17, 19, 21, 23, 25, 27, 29, 31, 33, 35,
18, 20, 22, 24, 26, 28, 30, 32, 34, 36,
19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
print(A * B)
900, 900, 900, 900, 900, 900, 900, 900, 900, 900,
1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500,
1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700,
1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
Matrix Vector Multiplication
from dhllinalg.bla import Vector
x = Vector(10)
for i in range(10):
x[i] = i
print(A * x)
570, 615, 660, 705, 750, 795, 840, 885, 930, 975