CyclingSignatures.ATTools.apply!Method
function apply!(A::AbstractArray{T,2}, crOp::CoreductionOperation{T}) where T <: Integer

Applies the coreduction operation. See restore for details.

source
CyclingSignatures.ATTools.basicCoreductions!Method
function basicReductions!(D1::AbstractSparseMatrix{T,Int}; kernelOperations::Stack{KernelOperation}) where T <: Integer

Performs basic coreductions, i.e. reductions of rows with up to two entries.

source
CyclingSignatures.ATTools.basicReductions!Method
function basicReductions!(D1::AbstractSparseMatrix{T,Int}, kernelOperations::Stack{KernelOperation}=Stack{KernelOperation}, colRemoved::Vector{Bool}=zeros(Bool,size(D1,2))) where T <: Integer

Performs basic reductions, i.e. reductions of columns with up to two entries.

source
CyclingSignatures.ATTools.circularCoordinatesFunction
function circularCoordinates(h, A)

Computes a matrix A such that A[i,:] contains the values of a circle valued function corresponding to the i-th generator of h on the basis of C^0 of h which was used to compute h.D0.

source
CyclingSignatures.ATTools.d1Kernel!Method
function d1Kernel!(A::Array{2,T},kerOp::Stack{KernelOperation}=Stack{KernelOperation}(),colRemoved::Vector{Bool}=zeros(Bool,size(D0,1))) where {T <: Integer}

Computes the kernel using row reduction.

source
CyclingSignatures.ATTools.d1Kernel!Method
function d1Kernel!(D1::AbstractSparseMatrix{T,Int},kerOp::Stack{KernelOperation},preprocess=colRemoved) where {T <: Integer}

Computes the kernel of a 1st boundary matrix.

source
CyclingSignatures.ATTools.liftOfCircleValuedFunctionFunction
function liftOfCircleValuedFunction(h::H1, A, LSQR_ATOL = LSQR_TOL, LSQR_RTOL = LSQR_TOL)

Computes a matrix A such that A[i,:] contains the values of a lift of the circle valued function corresponding to the i-th generator of h on the basis of C^0 of h which was used to compute h.D0. This is useful for example to compute the norm of a generator.

source
CyclingSignatures.ATTools.removeMaxSpanningTree!Method
function removeMaxSpanningTree!(D0::AbstractSparseMatrix{T0,Int},D1::AbstractSparseMatrix{T1,Int}; colRemoved::Vector{Bool}=zeros(Bool,size(D0,1))) where {T0 <: Integer, T1 <: Integer}

Finds a maximal spanning tree in the graph defined by D0 with the edges in colRemoved ignored. It then removes the spanning tree by setting the corresponding columns in D1 to zero.

source
CyclingSignatures.ATTools.restore!Method
function restore!(A::Array{T,2}, addOp::ColAddOperation{T}) where T <: Integer

Restores a ColAddOperation. Therefore, it is the row(!) operation modeled by the same matrix.

source
CyclingSignatures.ATTools.restore!Method
function restore!(A::Array{T,2}, addOp::ColAddOperation{T}) where T <: Integer

Restores a coreduction two-reduction. Start is i j [****|*****|**** ****|*****|**** –- x –- y –- ****|*****|**** ****|*****|****]

The reduction had to be performed with discardColValuekeepCol - keepColValueDiscardCol

source
CyclingSignatures.ATTools.restore!Method
function restore!(A::Array{T,2}, basicReduction::ReductionOperation{T}) where T <: Integer

Restores the kernel after a basic reduction operation (where a row gets removed).

source