• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

JuliaMatrices/ToeplitzMatrices.jl: Fast matrix multiplication and division for T ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

JuliaMatrices/ToeplitzMatrices.jl

开源软件地址:

https://github.com/JuliaMatrices/ToeplitzMatrices.jl

开源编程语言:

Julia 100.0%

开源软件介绍:

ToeplitzMatrices.jl

Build Status Coverage Coverage

Fast matrix multiplication and division for Toeplitz, Hankel and circulant matrices in Julia

Note

Multiplication of large matrices and sqrt, inv, LinearAlgebra.eigvals, LinearAlgebra.ldiv!, and LinearAlgebra.pinv for circulant matrices are computed with FFTs. To be able to use these methods, you have to install and load a package that implements the AbstractFFTs.jl interface such as FFTW.jl:

using FFTW

If you perform multiple calculations with FFTs, it can be more efficient to initialize the required arrays and plan the FFT only once. You can precompute the FFT factorization with LinearAlgebra.factorize and then use the factorization for the FFT-based computations.

Supported matrices

Toeplitz

A Toeplitz matrix has constant diagonals. It can be constructed using

Toeplitz(vc,vr)

where vc are the entries in the first column and vr are the entries in the first row, where vc[1] must equal vr[1]. For example.

Toeplitz(1:3, [1.,4.,5.])

is a sparse representation of the matrix

[ 1.0  4.0  5.0
  2.0  1.0  4.0
  3.0  2.0  1.0 ]

SymmetricToeplitz

A symmetric Toeplitz matrix is a symmetric matrix with constant diagonals. It can be constructed with

SymmetricToeplitz(vc)

where vc are the entries of the first column. For example,

SymmetricToeplitz([1.0, 2.0, 3.0])

is a sparse representation of the matrix

[ 1.0  2.0  3.0
  2.0  1.0  2.0
  3.0  2.0  1.0 ]

TriangularToeplitz

A triangular Toeplitz matrix can be constructed using

TriangularToeplitz(ve,uplo)

where uplo is either :L or :U and ve are the rows or columns, respectively. For example,

TriangularToeplitz([1.,2.,3.],:L)

is a sparse representation of the matrix

[ 1.0  0.0  0.0
  2.0  1.0  0.0
  3.0  2.0  1.0 ]

Hankel

A Hankel matrix has constant anti-diagonals. It can be constructed using

Hankel(vc,vr)

where vc are the entries in the first column and vr are the entries in the last row, where vc[end] must equal vr[1]. For example.

Hankel([1.,2.,3.], 3:5)

is a sparse representation of the matrix

[  1.0  2.0  3.0
   2.0  3.0  4.0
   3.0  4.0  5.0 ]

Circulant

A circulant matrix is a special case of a Toeplitz matrix with periodic end conditions. It can be constructed using

Circulant(vc)

where vc is a vector with the entries for the first column. For example:

Circulant([1.0, 2.0, 3.0])

is a sparse representation of the matrix

[  1.0  3.0  2.0
   2.0  1.0  3.0
   3.0  2.0  1.0 ]



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap