Skip to content

Latest commit

 

History

History
84 lines (70 loc) · 2.2 KB

File metadata and controls

84 lines (70 loc) · 2.2 KB

Extendable matrices

The type hierarchy of extendable matrices in this package is as follows:

ExtendableSparse.AbstractExtendableSparseMatrixCSC <: SparseArrays.AbstractSparseMatrixCSC <: SparseArrays.AbstractSparseMatrix <: AbstractMatrix

The package defines two subtypes of ExtendableSparse.AbstractExtendableSparseMatrixCSC which are parametrized by types of extension matrices:

User facing defaults are defined by type aliases:

  • const MTExtendableSparseMatrixCSC = GenericMTExtendableSparseMatrixCSC{SparseMatrixDILNKC}
  • const STExtendableSparseMatrixCSC = GenericExtendableSparseMatrixCSC{SparseMatrixLNK}
  • const ExtendableSparseMatrixCSC = STExtendableSparseMatrixCSC
  • const ExtendableSparseMatrix = ExtendableSparseMatrixCSC

Abstract type

ExtendableSparse.AbstractExtendableSparseMatrixCSC

Subtypes of AbstractExtendableSparseMatrixCSC

ExtendableSparse.GenericExtendableSparseMatrixCSC
ExtendableSparse.GenericMTExtendableSparseMatrixCSC

Type aliases

MTExtendableSparseMatrixCSC
STExtendableSparseMatrixCSC
ExtendableSparseMatrixCSC
ExtendableSparseMatrix

Required methods

SparseArrays.sparse
ExtendableSparse.rawupdateindex!
ExtendableSparse.flush!
ExtendableSparse.reset!

AbstractSparseMatrixCSC interface

See SparseArrways#395 for a discussion.

SparseArrays.nnz
SparseArrays.nonzeros
SparseArrays.rowvals
SparseArrays.findnz
SparseArrays.dropzeros!
SparseArrays.getcolptr
SparseArrays.SparseMatrixCSC
Base.size
Base.eltype
Base.show

Linear Algebra

Base.:\
LinearAlgebra.ldiv!
LinearAlgebra.mul!
LinearAlgebra.norm
LinearAlgebra.opnorm
LinearAlgebra.cond
LinearAlgebra.issymmetric

Algebraic operations

Base.:+
Base.:-
Base.:*

Handling of homogeneous Dirichlet BC

mark_dirichlet
eliminate_dirichlet!
eliminate_dirichlet