# QQ -- the class of all rational numbers

## Description

 ```i1 : 1/2 + 3/5 11 o1 = -- 10 o1 : QQ```

## Functions and methods returning a rational number :

• QQ * QQ, see * -- a binary operator, usually used for multiplication
• QQ * ZZ, see * -- a binary operator, usually used for multiplication
• ZZ * QQ, see * -- a binary operator, usually used for multiplication
• + QQ, see + -- a unary or binary operator, usually used for addition
• QQ + QQ, see + -- a unary or binary operator, usually used for addition
• QQ + ZZ, see + -- a unary or binary operator, usually used for addition
• ZZ + QQ, see + -- a unary or binary operator, usually used for addition
• - QQ, see - -- a unary or binary operator, usually used for negation or subtraction
• QQ - QQ, see - -- a unary or binary operator, usually used for negation or subtraction
• QQ - ZZ, see - -- a unary or binary operator, usually used for negation or subtraction
• ZZ - QQ, see - -- a unary or binary operator, usually used for negation or subtraction
• QQ / QQ, see / -- a binary operator, usually used for division
• QQ / ZZ, see / -- a binary operator, usually used for division
• ZZ / QQ, see / -- a binary operator, usually used for division
• gcd(QQ,QQ), see gcd -- greatest common divisor
• gcd(QQ,ZZ), see gcd -- greatest common divisor
• gcd(ZZ,QQ), see gcd -- greatest common divisor

## Methods that use a rational number :

• QQ !, see ! -- factorial
• CC % QQ, see % -- a binary operator, usually used for remainder and reduction
• QQ % QQ, see % -- a binary operator, usually used for remainder and reduction
• QQ % ZZ, see % -- a binary operator, usually used for remainder and reduction
• RR % QQ, see % -- a binary operator, usually used for remainder and reduction
• CC * QQ, see * -- a binary operator, usually used for multiplication
• QQ * CC, see * -- a binary operator, usually used for multiplication
• QQ * RR, see * -- a binary operator, usually used for multiplication
• RR * QQ, see * -- a binary operator, usually used for multiplication
• CC + QQ, see + -- a unary or binary operator, usually used for addition
• QQ + CC, see + -- a unary or binary operator, usually used for addition
• QQ + RR, see + -- a unary or binary operator, usually used for addition
• RR + QQ, see + -- a unary or binary operator, usually used for addition
• CC - QQ, see - -- a unary or binary operator, usually used for negation or subtraction
• QQ - CC, see - -- a unary or binary operator, usually used for negation or subtraction
• QQ - RR, see - -- a unary or binary operator, usually used for negation or subtraction
• RR - QQ, see - -- a unary or binary operator, usually used for negation or subtraction
• CC / QQ, see / -- a binary operator, usually used for division
• QQ / CC, see / -- a binary operator, usually used for division
• QQ / RR, see / -- a binary operator, usually used for division
• RR / QQ, see / -- a binary operator, usually used for division
• CC // QQ, see // -- a binary operator, usually used for quotient
• InfiniteNumber // QQ, see // -- a binary operator, usually used for quotient
• QQ // QQ, see // -- a binary operator, usually used for quotient
• QQ // ZZ, see // -- a binary operator, usually used for quotient
• RR // QQ, see // -- a binary operator, usually used for quotient
• CC == QQ, see == -- equality
• QQ == CC, see == -- equality
• QQ == QQ, see == -- equality
• QQ == RR, see == -- equality
• QQ == ZZ, see == -- equality
• RR == QQ, see == -- equality
• ZZ == QQ, see == -- equality
• abs(QQ), see abs -- absolute value function
• acos(QQ), see acos -- arccosine
• agm(CC,QQ), see agm -- arithmetic-geometric mean
• agm(QQ,CC), see agm -- arithmetic-geometric mean
• agm(QQ,QQ), see agm -- arithmetic-geometric mean
• agm(QQ,RR), see agm -- arithmetic-geometric mean
• agm(QQ,ZZ), see agm -- arithmetic-geometric mean
• agm(RR,QQ), see agm -- arithmetic-geometric mean
• agm(ZZ,QQ), see agm -- arithmetic-geometric mean
• asin(QQ), see asin -- arcsine
• atan(QQ), see atan(RR) -- compute the arctangent of a number
• atan2(QQ,QQ), see atan2(RR,RR) -- compute an angle of a certain triangle
• atan2(QQ,RR), see atan2(RR,RR) -- compute an angle of a certain triangle
• atan2(QQ,ZZ), see atan2(RR,RR) -- compute an angle of a certain triangle
• atan2(RR,QQ), see atan2(RR,RR) -- compute an angle of a certain triangle
• atan2(ZZ,QQ), see atan2(RR,RR) -- compute an angle of a certain triangle
• BesselJ(ZZ,QQ), see BesselJ -- Bessel function of the first kind
• BesselY(ZZ,QQ), see BesselY -- Bessel function of the second kind
• QQ * BettiTally, see BettiTally -- the class of all Betti tallies
• cos(QQ), see cos -- compute the cosine
• cosh(QQ), see cosh -- compute the hyperbolic cosine
• cot(QQ), see cot -- cotangent
• coth(QQ), see coth -- hyperbolic cotangent
• csc(QQ), see csc -- cosecant
• csch(QQ), see csch -- hyperbolic cosecant
• eint(QQ), see eint -- exponential integral
• erf(QQ), see erf -- error function
• erfc(QQ), see erfc -- complementary error function
• exp(QQ), see exp -- exponential function
• expm1(QQ), see expm1 -- exponential minus 1
• factor(QQ), see factor(RingElement) -- factor a ring element
• Gamma(QQ), see Gamma -- Gamma function
• isReal(QQ), see isReal -- whether a number is real
• lcm(QQ,QQ), see lcm -- least common multiple
• lcm(QQ,ZZ), see lcm -- least common multiple
• lcm(ZZ,QQ), see lcm -- least common multiple
• lift(CC,type of QQ), see lift -- lift to another ring
• lift(Ideal,type of QQ), see lift -- lift to another ring
• lift(Matrix,type of CC_*,type of QQ), see lift -- lift to another ring
• lift(Matrix,type of QQ,type of QQ), see lift -- lift to another ring
• lift(Matrix,type of QQ,type of ZZ), see lift -- lift to another ring
• lift(Matrix,type of RR_*,type of QQ), see lift -- lift to another ring
• lift(QQ,type of QQ), see lift -- lift to another ring
• lift(QQ,type of ZZ), see lift -- lift to another ring
• lift(RR,type of QQ), see lift -- lift to another ring
• lngamma(QQ), see lngamma -- logarithm of the Gamma function
• log(QQ), see log -- logarithm function
• log(QQ,CC), see log -- logarithm function
• log(QQ,QQ), see log -- logarithm function
• log(QQ,RR), see log -- logarithm function
• log(QQ,ZZ), see log -- logarithm function
• log(RR,QQ), see log -- logarithm function
• log(ZZ,QQ), see log -- logarithm function
• log1p(QQ), see log1p -- logarithm of 1+x
• promote(RR,type of QQ), see promote -- promote to another ring
• round(QQ), see round -- round a number
• sec(QQ), see sec -- secant
• sech(QQ), see sech -- hyperbolic secant
• sin(QQ), see sin -- compute the sine
• sinh(QQ), see sinh -- compute the hyperbolic sine
• sqrt(QQ), see sqrt -- square root function
• tan(QQ), see tan -- compute the tangent
• tanh(QQ), see tanh -- compute the hyperbolic tangent
• toCC(QQ), see toCC -- convert to high-precision complex number
• toCC(ZZ,QQ), see toCC -- convert to high-precision complex number
• toCC(ZZ,QQ,QQ), see toCC -- convert to high-precision complex number
• toCC(ZZ,QQ,RR), see toCC -- convert to high-precision complex number
• toCC(ZZ,QQ,ZZ), see toCC -- convert to high-precision complex number
• toCC(ZZ,RR,QQ), see toCC -- convert to high-precision complex number
• toCC(ZZ,ZZ,QQ), see toCC -- convert to high-precision complex number
• zeta(QQ), see zeta -- Riemann zeta function

## For the programmer

The object QQ is a ring, with ancestor classes Number < Thing.