using LinearAlgebra         # 引入线性代数库
x=zeros(10)                 # 10 个元素的零矢量，列矢量
a=ones(3)                   # 3 个元素的矢量，全填充 1.0，列矢量
H=[1.0 2.0 3.0              # 直接构造矩阵
   4.0 5.0 6.0
   7.0 8.0 9.0]
H[2,1]                      # 4.0
ndims(H)                    # H 的维度，2
eltype(H)                   # H 中元素的类型，Float64
length(H)                   # H 中元素数目，9
size(H)                     # H 每一维度的大小所构成的元组，(3,3)
sum(H, dims=2)              # 对第2维求和，相似地，该用法可以用于以下函数： mean, std,
                            # prod, minimum, maximum, any, all
                            # 使用统计函数前需要 using Statistics
H[:,1]                      # 矩阵的第1列
H[1,:]                      # 矩阵的第1行（仍是列矢量）
Hc=H; Hc[1,1]=100.0; H[1,1] # 100.0，数组的赋值是按引用复制
Hc=copy(H)                  # 这样才是真的复制一新的矩阵
H*a                         # 矩阵乘法
exp(H)                      # 矩阵的函数
a*a                         # 出错的矩阵乘法
                            # 列矢量和列矢量的乘法行列不对应无法进行
a⋅a                         # 但是可以做点积
                            # ⋅ 用 \cdot<Tab> 可以打出来（在 REPL、Jupyter 中）
                            # 或者借助插件（见前文开发环境部分）
a×a                         # 还可以做叉积
sum(a)
H'                          # 共轭转置，相当于 adjoint(H)
typeof(H')                  # 注意共轭转置是惰性求值
                            # 它并不直接分配一块内存并写入计算的结果
                            # 这对计算效率有很大的帮助
G=rand(1000,1000); G=G+G'   # 构造一个实对称阵
eigvals(G)                  # 这样的小矩阵，我们可以直接求本征值
eigvecs(G)                  # 本征矢
