Julia Matrices
Matrices are a 2-dimensional shaped series of values.
Contents
Description
Matrices are instantiated using a syntax that is consistent with that of vectors.
- Rows are entered as space-delimited values.
To indicate the separation between rows, use either a literal newline or the vertical concatenation operator (;).
julia> a = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia> a = [1 2
3 4]
2×2 Matrix{Int64}:
1 2
3 4
Indexing
Matrices are indexed from 1, by row then column.
julia> A = [1 2 3; 4 5 6; 7 8 9]
3×3 Matrix{Int64}:
1 2 3
4 5 6
7 8 9
julia> A[1,2]
2To select entire rows or columns, use the range operator : like:
julia> A[3,:]
3-element Vector{Int64}:
7
8
9
julia> A[:,3]
3-element Vector{Int64}:
3
6
9Naturally, it is possible to select a range that is not the entire span.
julia> A[2:3,2:3]
2×2 Matrix{Int64}:
5 6
8 9As an example of how to apply these indexing operations, consider the below solution to a linear system using Cramer's rule.
using LinearAlgebra
# Note: replacing 1 with 1//1 causes automatic promotion to Rational, so that answers are exact and without rounding errors from floating point arithmetic
A = [1//1 1 -1; 3 -2 1; 1 3 -2]
b = [6; -5; 14]
d = det(A)
A1 = [b A[:,2:3]]
println("x = ",det(A1)/d)
A2 = [A[:,1] b A[:,3]]
println("y = ",det(A2)/d)
A3 = [A[:,1:2] b]
println("z = ",det(A3)/d)This gives the expected solution [1 3 -2].
