Types

The package defines a number of types for the high level interface.

Basic

These types directly map to corresponding Arb types.

Arblib.AcfType
Acf <: AbstractFloat

Complex arbitrary precision floating point number type.

The internal representation of the real and imaginary parts are the same as for Arf. It is a wrapper of the type acf in Flint.

See also AcfRef for handling pointers to acf objects and Acb for a complex number type with rigorous error tracking.

Limited capabilities

The Acf type only implements very basic functionalities. For most purposes it is better to use the Acb type, this is true even in situations where the rigorous error tracking done by Acb is not needed.

source
Arblib.ArbVectorType
ArbVector <: DenseVector{Arb}
ArbVector(n::Integer; prec::Integer = DEFAULT_PRECISION[])
ArbVector(v::ArbVectorLike; shallow::Bool = false, prec::Integer = precision(v))
ArbVector(v::AbstractVector; prec::Integer = _precision(v))

The constructor with n::Integer returns a vector with n elements filled with zeros. The other two constructors returns a copy of the given vector. If shallow = true then the returned vector shares the underlying data with the input, mutating one of them mutates both.

See also ArbRefVector.

source
Arblib.AcbVectorType
AcbVector <: DenseVector{Acb}
AcbVector(n::Integer; prec::Integer = DEFAULT_PRECISION[])
AcbVector(v::AcbVectorLike; shallow::Bool = false, prec::Integer = precision(v))
AcbVector(v::AbstractVector; prec::Integer = _precision(v))

The constructor with n::Integer returns a vector with n elements filled with zeros. The other two constructors returns a copy of the given vector. If shallow = true then the returned vector shares the underlying data with the input, mutating one of them mutates both.

See also AcbRefVector.

source
Arblib.ArbMatrixType
ArbMatrix <: DenseMatrix{Arb}
ArbMatrix(r::Integer, c::Integer; prec::Integer = DEFAULT_PRECISION[])
ArbMatrix(A::ArbMatrixLike; shallow::Bool = false, prec::Integer = precision(v))
ArbMatrix(A::AbstractMatrix; prec::Integer = _precision(v))
ArbMatrix(v::AbstractVector; prec::Integer = _precision(v))

The constructor with r::Integer, c::Integer returns a r × c filled with zeros. The other three constructors returns a copy of the given matrix or vector. If shallow = true then the returned matrix shares the underlying data with the input, mutating one of them mutates both.

See also ArbRefMatrix.

source
Arblib.AcbMatrixType
AcbMatrix <: DenseMatrix{Acb}
AcbMatrix(r::Integer, c::Integer; prec::Integer = DEFAULT_PRECISION[])
AcbMatrix(A::AcbMatrixLike; shallow::Bool = false, prec::Integer = precision(v))
AcbMatrix(A::AbstractMatrix; prec::Integer = _precision(v))
AcbMatrix(v::AbstractVector; prec::Integer = _precision(v))

The constructor with r::Integer, c::Integer returns a r × c filled with zeros. The other three constructors returns a copy of the given matrix or vector. If shallow = true then the returned matrix shares the underlying data with the input, mutating one of them mutates both.

See also AcbRefMatrix.

source

Series

The package defines two series types, which are wrapper for the polynomial types with a specified degree.

Ref

In addition to these there are a number of Ref types, which allow for non-allocating access in a number of cases.

Arblib.AcfRefType
AcfRef <: Number

Type handling references to Acf objects.

No standard constructors

There are currently no types from which AcfRef can be natively constructed. It can as of now only be constructed from a raw point to an acf_struct.

source
Arblib.ArbRefVectorType
ArbRefVector <: DenseMatrix{ArbRef}

Similar to ArbVector but indexing elements returns an ArbRef referencing the corresponding element instead of an Arb copy of the element. The constructors are the same as for ArbVector

source
Arblib.AcbRefVectorType
AcbRefVector <: DenseMatrix{AcbRef}

Similar to AcbVector but indexing elements returns an AcbRef referencing the corresponding element instead of an Acb copy of the element. The constructors are the same as for AcbVector

source
Arblib.ArbRefMatrixType
ArbRefMatrix <: DenseMatrix{ArbRef}

Similar to ArbMatrix but indexing elements returns an ArbRef referencing the corresponding element instead of an Arb copy of the element. The constructors are the same as for ArbMatrix

source
Arblib.AcbRefMatrixType
AcbRefMatrix <: DenseMatrix{AcbRef}

Similar to AcbMatrix but indexing elements returns an AcbRef referencing the corresponding element instead of an Acb copy of the element. The constructors are the same as for `AcbMatrix

source

Correspondence between types

We have the following table for the correspondence with between the Low level wrapper types and the high level interface types.

ArbWrapperHigh levelRef
mag_tmag_structMagMagRef
arf_tarf_structArfArfRef
acf_tacf_structAcfAcfRef
arb_tarb_structArbArbRef
acb_tacb_structAcbAcbRef
arb_t*arb_vec_structArbVectorArbRefVector
acb_t*acb_vec_structAcbVectorAcbRefVector
arb_poly_tarb_poly_structArbPoly or ArbSeries
acb_poly_tacb_poly_structAcbPoly or AcbSeries
arb_mat_tarb_mat_structArbMatrixArbRefMatrix
acb_mat_tacb_mat_structAcbMatrixAcbRefMatrix