Code Monkey home page Code Monkey logo

q-quadratic's Introduction

Q Quadratic

A PARI/GP package for integral binary quadratic forms and quaternion algebras over Q, with an emphasis on indefinite quadratic forms and indefinite quaternion algebras.

At the moment, this package is compatible with versions 2.13.1 and later. If you are on Windows, then you must use Windows Subsystem for Linux (WSL).

This package is not regularly maintained, and with updates to PARI/GP some things may break. If they do, please let me know, and I will try to fix them.

Installation

  1. git clone this repository

  2. You need to know where the version of PARI/GP you want to use is installed. The default location is inside /usr/local, but this may change based on your Linux distro, or if you want to use it through SageMath. If you think it is installed in the default location, you can simply call "make".

  3. Otherwise, call "make setup" to search for the correct files. By default the program searches in "/usr", but there is a chance it is not installed there (this sometimes happens on a server). If this is the case, you can supply an alternate location.

  4. If the program finds potential matches, it will ask you to confirm which files are correct, and saves them to "pari_loc.txt". Once this step completes, a call to "make" will compile the project! Modifying the program (e.g. via git pull) won't require redoing this setup, unless the version of PARI/GP or Sage you use changes.

  5. Call "gp qquadratic" to start gp and load the methods. ?qq accesses the help.

  6. Call "make clean" to clean up the object files created.

Documentation

The file "QQuadratic_GP_guide" is a guide to the GP-accessible methods. It may be slightly out of date.

The file "QQuadratic_PARI_guide" is a guide to using this package in library mode. It too may be slightly out of date.

Papers

All relevant computations from my thesis were made with this package. The same can be said for the 3 papers that emanated from this thesis:

If you want to test the examples of intersection series from "Hecke operators acting on optimal embeddings in indefinite quaternion algebras", use the file "intersectionseries.gp".

Warnings

This was the first package I wrote in PARI, and there are some poor syntax/decision choices, code that is somewhat redundant with more up-to-date PARI/GP versions (when I began coding in gp, the version was 2.7.6), and code that can be significantly sped up. I do not plan to come back here and do those modifications. Instead, they are slowly working their way into other projects. For example, if you are interested in fundamental domains, then you should look at the infinitely improved Fundamental-domains-for-Shimura-curves. If most of this package ends up improved elsewhere, then I might come back and update this repository (or make a new one).

q-quadratic's People

Contributors

havarddj avatar jamesrickards-canada avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

havarddj

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.