Code Monkey home page Code Monkey logo

gap.jl's Introduction

Stable Dev Build Status Codecov Coveralls

GAP.jl Julia package

This repository contains the GAP.jl Julia package, as well as the GAP packages JuliaInterface and JuliaExperimental developed for the GAP-Julia integration as part of the OSCAR project.

WARNING: GAP.jl is intended as a low-level interface between GAP and Julia. Therefore, for the most part it does not attempt (besides some general conveniences) to provide a very “Julia-ish” interface to GAP objects and functions, nor a “GAP-ish” interface to Julia objects and functions. Instead, this is left to higher-level code, for example in the Oscar.jl package.

Install

To install this package in Julia, use

] add GAP

Basic usage

After entering the following in Julia,

using GAP

one may call any GAP function by prefixing its name with GAP.Globals.. For example:

julia> GAP.Globals.SymmetricGroup(3)
GAP: SymmetricGroup( [ 1 .. 3 ] )

The Julia types Int64 and Bool are automatically converted to GAP objects. Several others basic types of objects can be converted using the GapObj constructor:

julia> x = GapObj([1,2,3])
GAP: [ 1, 2, 3 ]

For nested objects, one can use the optional recursive keyword argument:

julia> GapObj([1,2,[3,4,5]])
GAP: [ 1, 2, <Julia: [3, 4, 5]> ]

julia> GapObj([1,2,[3,4,5]]; recursive=true)
GAP: [ 1, 2, [ 3, 4, 5 ] ]

Converting back to Julia can be done using suitable Julia constructors. For example, to convert the GAP list of integers we defined earlier back to Julia, we might do this:

julia> Vector{Int64}(x)
3-element Vector{Int64}:
 1
 2
 3

Contact

Issues should be reported via our issue tracker.

Responsible for GAP.jl within the OSCAR project are Thomas Breuer and Max Horn.

General Disclaimer

All code in this repository is preliminary work.

It comes with absolutely no warranty and will most likely have errors. If you use it for computations, please check the correctness of the result very carefully.

Also, everything in this repository might change in the future, so currently any update can break the code you wrote upon functionality from packages in this repository.

This software is licensed under the LGPL, version 3, or any later version.

Funding

The development of this Julia package is supported by the Deutsche Forschungsgemeinschaft DFG within the Collaborative Research Center TRR 195.

gap.jl's People

Contributors

benlorenz avatar fieker avatar fingolfin avatar github-actions[bot] avatar heiderich avatar juliatagbot avatar markuspf avatar mohamed-barakat avatar rbehrends avatar rfourquet avatar sebasguts avatar thofma avatar thomasbreuer avatar waldyrious avatar wbhart avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.