# 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.