Category:PARI/GP: Difference between revisions
(→Tutorials: update official tutorial, add another two) |
(→Tutorials: +1) |
||
Line 39: | Line 39: | ||
=== Tutorials === |
=== Tutorials === |
||
*[http://pari.math.u-bordeaux.fr/pub/pari/manuals/2.5.0/tutorial.pdf Official tutorial] by C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier (52 pp., 2011) |
*[http://pari.math.u-bordeaux.fr/pub/pari/manuals/2.5.0/tutorial.pdf Official tutorial] by C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier (52 pp., 2011) |
||
⚫ | |||
* Class notes, parts [http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_01.pdf 1][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_02.pdf 2][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_03.pdf 3][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_04.pdf 4][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_05.pdf 5][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_sieve.pdf sieve] by Benjamin L. Levitt (41 pp., 2009) |
* Class notes, parts [http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_01.pdf 1][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_02.pdf 2][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_03.pdf 3][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_04.pdf 4][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_05.pdf 5][http://myweb.csuchico.edu/~blevitt/math230/230coursedocs/230notes/230notes_sieve.pdf sieve] by Benjamin L. Levitt (41 pp., 2009) |
||
⚫ | |||
*[http://www.math.umass.edu/~siman/09.791N/tutorial.pdf Tutorial] by Siman Wong (6 pp., 2009) |
*[http://www.math.umass.edu/~siman/09.791N/tutorial.pdf Tutorial] by Siman Wong (6 pp., 2009) |
||
*[http://www.math.uconn.edu/~kconrad/math5230f08/parihandout.pdf Introduction] by Keith Conrad (7 pp., 2008) |
*[http://www.math.uconn.edu/~kconrad/math5230f08/parihandout.pdf Introduction] by Keith Conrad (7 pp., 2008) |
||
*[http://www.linuxjournal.com/article/1068 The Pari Package On Linux], by Klaus-Peter Nischke (3 pp., 1995) |
|||
*[http://mvngu.wordpress.com/2008/08/01/parigp-programming-for-basic-cryptography/ PARI/GP programming for basic cryptography] by Minh Van Nguyen (appx. 3 pp., 2008) |
*[http://mvngu.wordpress.com/2008/08/01/parigp-programming-for-basic-cryptography/ PARI/GP programming for basic cryptography] by Minh Van Nguyen (appx. 3 pp., 2008) |
||
*[http://www.exploringbinary.com/exploring-binary-numbers-with-parigp-calculator/ Exploring binary numbers with PARI/GP calculator] by Rick Regan (appx. 4 pp., 2009) |
*[http://www.exploringbinary.com/exploring-binary-numbers-with-parigp-calculator/ Exploring binary numbers with PARI/GP calculator] by Rick Regan (appx. 4 pp., 2009) |
Revision as of 06:28, 1 July 2011
![Language](http://static.miraheze.org/rosettacodewiki/thumb/2/27/Rcode-button-language-crushed.png/64px-Rcode-button-language-crushed.png)
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | Interpreted or compiled |
---|---|
Garbage collected: | Yes |
Parameter passing methods: | By reference, By value |
Type strength: | Weak |
Type checking: | Dynamic |
See Also: |
PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.
PARI/GP is composed of two parts: a C library called PARI and an interface, gp, to this library. GP scripts are concise, easy to write, and resemble mathematical language. (Terminology: the scripting language of gp is called GP.)
PARI was written by Henri Cohen and others at Université Bordeaux I and is now maintained by Karim Belabas. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Alombert.
Using PARI
The most common way to use PARI is through the gp calculator, using its own scripting language, GP. But there are other interfaces to PARI beside gp:
If you want to write a program rather than script a calculator, many languages are supported:
- C: PARI is written in C, so it's very easy to either write your own programs or extend gp using C.
- C++: With appropriate linkage specification it is possible to use PARI directly in C++ as well.
- Python: SAGE is a Python-based system that includes PARI among others; there is a pari-python library as well.
- Perl: Use Math::Pari.
- CLISP: Use Pari.
See also
Resources
General
Tutorials
- Official tutorial by C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier (52 pp., 2011)
- Class notes, parts 12345sieve by Benjamin L. Levitt (41 pp., 2009)
- Tutorial by Robert B. Ash (20 pp., 2007)
- Tutorial by Siman Wong (6 pp., 2009)
- Introduction by Keith Conrad (7 pp., 2008)
- The Pari Package On Linux, by Klaus-Peter Nischke (3 pp., 1995)
- PARI/GP programming for basic cryptography by Minh Van Nguyen (appx. 3 pp., 2008)
- Exploring binary numbers with PARI/GP calculator by Rick Regan (appx. 4 pp., 2009)
- Video tutorials, parts 1 2 3 4 (appx. 20 minutes, 2011)
Papers on PARI/GP
- Bill Alombert, A new interpretor for PARI/GP, Journal de Théorie des Nombres de Bordeaux 20:3 (2008), pp. 531–541. (English)
- Paul Zimmermann, The Ups and Downs of PARI/GP in the last 20 years, Explicit Methods in Number Theory, October 15th-19th 2007
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- PARI/GP Implementations (empty)
- PARI/GP User (12 P)
Pages in category "PARI/GP"
The following 200 pages are in this category, out of 606 total.
(previous page) (next page)F
G
- Gamma function
- Gaussian elimination
- General FizzBuzz
- Generate Chess960 starting position
- Generate lower case ASCII alphabet
- Generator/Exponential
- Generic swap
- Get system command output
- Giuga numbers
- Gray code
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Greedy algorithm for Egyptian fractions
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- GUI/Maximum window dimensions
H
- Hailstone sequence
- Hamming numbers
- Happy numbers
- Harmonic series
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world/Graphical
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Heronian triangles
- Hickerson series of almost integers
- Higher-order functions
- History variables
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Holidays related to Easter
- Home primes
- Horner's rule for polynomial evaluation
- Hostname
I
- Identity matrix
- Idiomatically determine all the characters that can be used for symbols
- Idiomatically determine all the lowercase and uppercase letters
- Idoneal numbers
- Implicit type conversion
- Include a file
- Increment a numerical string
- Infinity
- Input/Output for lines of text
- Input/Output for pairs of numbers
- Integer comparison
- Integer overflow
- Integer roots
- Integer sequence
- Interactive programming (repl)
- Introspection
- Inverted syntax
- Iterated digits squaring
K
L
- Langton's ant
- Largest int from concatenated ints
- Largest prime factor
- Last Friday of each month
- Leap year
- Least common multiple
- Left factorials
- Letter frequency
- Levenshtein distance
- Linear congruential generator
- List comprehensions
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Long multiplication
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- LU decomposition
- Lucas-Carmichael numbers
- Lucas-Lehmer test
- Ludic numbers
M
- Machine code
- Magic squares of doubly even order
- Magic squares of odd order
- Mandelbrot set
- Map range
- Matrix multiplication
- Matrix transposition
- Matrix-exponentiation operator
- Maximum triangle path sum
- MD4
- MD5
- Meissel–Mertens constant
- Memory allocation
- Menu
- Mersenne primes
- Metaprogramming
- Middle three digits
- Miller–Rabin primality test
- Minimum number of cells after, before, above and below NxN squares
- Modular arithmetic
- Modular exponentiation
- Modular inverse
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Motzkin numbers
- Multifactorial
- Multiline shebang
- Multiple regression
- Multiplication tables
- Multiplicative order
- Mutual recursion
- Möbius function
N
- N'th
- N-smooth numbers
- Narcissist
- Narcissistic decimal number
- Neighbour primes
- Nice primes
- Non-continuous subsequences
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Nth root
- Null object
- Number names
- Number reversal game
- Numbers whose count of divisors is prime
- Numeric error propagation
- Numerical integration
- Numerical integration/Gauss-Legendre Quadrature
O
P
- Palindrome detection
- Palindromic primes
- Pan base non-primes
- Pangram checker
- Paraffins
- Parallel calculations
- Parse command-line arguments
- Parsing/RPN calculator algorithm
- Partial function application
- Partition an integer x into n primes
- Pascal matrix generation
- Pascal's triangle
- Pascal's triangle/Puzzle
- Password generator
- Pathological floating point problems
- Perfect numbers
- Perfect shuffle
- Permutations
- Permutations/Derangements
- Permutations/Rank of a permutation