Матрицы и массивы
Язык программирования Julia предоставляет широкие возможности по созданию и редактированию матриц. В данном примере будут рассмотрены некоторые из них.
Чтобы создать матрицу состоящую из нескольких строк разделите элементы матрицы точкой с запятой:
a = [1 3 5; 2 4 6; 7 8 10]
3×3 Matrix{Int64}:
1 3 5
2 4 6
7 8 10
Julia позволяет обрабатывать все значения в матрице с помощью одного арифметического оператора или функции, указав перед ним точку, что означает поэлементное применение оператора:
a .+ 10
3×3 Matrix{Int64}:
11 13 15
12 14 16
17 18 20
Поэлементное возведение в степень:
a .^ 3
3×3 Matrix{Int64}:
1 27 125
8 64 216
343 512 1000
Также к матрицам можно применять функции:
sin(a)
3×3 Matrix{Float64}:
-0.657343 -0.275398 0.014688
-0.572697 -0.24759 -0.144781
0.254022 -0.38759 -0.874514
Транспонирование матрицы можно произвести двумя путями, первый - с помощью указания апострофа:
a'
3×3 adjoint(::Matrix{Int64}) with eltype Int64:
1 2 7
3 4 8
5 6 10
Второй путь - использование функции transpose:
transpose(a)
3×3 transpose(::Matrix{Int64}) with eltype Int64:
1 2 7
3 4 8
5 6 10
Конкатенация матриц производится при указании их в квадратных скобках, через точку с запятой или без них, что означает, соответственно, сложение по вертикали и горизонтали:
A = [a; a]
6×3 Matrix{Int64}:
1 3 5
2 4 6
7 8 10
1 3 5
2 4 6
7 8 10
Конкатенация матриц по горизонтали:
A = [a a]
3×6 Matrix{Int64}:
1 3 5 1 3 5
2 4 6 2 4 6
7 8 10 7 8 10
Также в качестве элементов массива можно использовать комплексные числа, определив их через im:
c = [3+4im 4+3im; -im 10im]
2×2 Matrix{Complex{Int64}}:
3+4im 4+3im
0-1im 0+10im