Map from julia functions
For the situation where it is desirable to create a Map given arbitrary callable julia objects (like anonymous functions), the type MapFromFunc is provided.
MapFromFunc — TypeMapFromFunc(f, [g], D, C)Creates the map D -> C, x -> f(x) given the callable object f. If g is provided, it is assumed to satisfy f(g(x)) = x and will be used as the preimage function.
Example
julia> F = GF(2);
julia> f = MapFromFunc(x -> F(numerator(x)) * inv(F(denominator(x))), QQ, F)
Map from
Rational field to Finite field of characteristic 2 defined by a julia-function
julia> f(QQ(1//3))
1
julia> f = MapFromFunc(x -> F(numerator(x)) * inv(F(denominator(x))), y -> QQ(lift(y)), QQ, F)
Map from
Rational field to Finite field of characteristic 2 defined by a julia-function with inverse
julia> preimage(f, F(1))
1When applying an object f of type MapFromFunc to an element x, it will be checked whether the parent of x coincides with the domain and whether the parent of f(x) coincides with the codomain of f. Similar for the optional preimage function.