diff --git a/Makefile b/Makefile index aeaff99..0a8f2dd 100644 --- a/Makefile +++ b/Makefile @@ -10,3 +10,6 @@ format: lint: $(PYTHON) -m flake8 --ignore=$(IGNORE_ERRORS) $(PKG) + +docs: + pdoc mathgenerator --math -o docs diff --git a/README.md b/README.md index f548e93..295846f 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,7 @@ See [CONTRIBUTING.md](https://github.com/lukew3/mathgenerator/blob/main/CONTRIBU ## Table of Contents * [Installation](#installation) * [Usage](#usage) -* [List of Generators](#list-of-generators) - * [algebra](#algebra) - * [basic_math](#basic_math) - * [calculus](#calculus) - * [computer_science](#computer_science) - * [geometry](#geometry) - * [misc](#misc) - * [statistics](#statistics) +* [Documentation](#documentation) ## Installation @@ -70,152 +63,5 @@ You can also use `getGenList()` to return a list of all generators included in t [id, title, gen_func, funcname, subjectname, kwargs] ``` - -## List of Generators -## algebra -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 11 | [Basic Algebra](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/basic_algebra.py) | $9x + 9 = 9$ | $0$ | basic_algebra | `maxVariable=10` | -| 12 | [Logarithm](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/log.py) | $log_{2}(256)=$ | $8$ | log | `maxBase=3` `maxVal=8` | -| 17 | [Integer Multiplication with 2x2 Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py) | $2 * \begin{bmatrix} 8 & 0 \\ 10 & 10 \end{bmatrix} =$ | $\begin{bmatrix} 16 & 0 \\ 20 & 20 \end{bmatrix}$ | multiply_int_to_22_matrix | `maxMatrixVal=10` `maxRes=100` | -| 20 | [Midpoint of the two point](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/midpoint_of_two_points.py) | The midpoint of $(7,5)$ and $(-17,14) = $ | $(-5.0,9.5)$ | midpoint_of_two_points | `maxValue=20` | -| 21 | [Factoring Quadratic](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/factoring.py) | $x^2-2x$ | $(x)(x-2)$ | factoring | `range_x1=10` `range_x2=10` | -| 23 | [Solve a System of Equations in R^2](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/system_of_equations.py) | Given $4x - 6y = 36$ and $9x - 2y = 12$, solve for $x$ and $y$. | $x = 0$, $y = -6$ | system_of_equations | `range_x=10` `range_y=10` `coeff_mult_range=10` | -| 24 | [Distance between 2 points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/distance_two_points.py) | Find the distance between $(7, -15)$ and $(0, -1)$ | $\sqrt{245}$ | distance_two_points | `maxValXY=20` `minValXY=-20` | -| 26 | [Linear Equations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/linear_equations.py) | Given the equations $-3x + 10y = -140$ and $-3x + -4y = -28$, solve for $x$ and $y$ | $x = 20$, $y = -8$ | linear_equations | `n=2` `varRange=20` `coeffRange=20` | -| 41 | [Intersection of Two Lines](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/intersection_of_two_lines.py) | Find the point of intersection of the two lines: $y = 9/3x - 6$ and $y = 1/3x + 6$ | $(9/2, 15/2)$ | intersection_of_two_lines | `minM=-10` `maxM=10` `minB=-10` `maxB=10` `minDenominator=1` `maxDenominator=6` | -| 43 | [Cross Product of 2 Vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/vector_cross.py) | $[-18, 0, 20] \times [-16, -5, 0] = $ | $[100, -320, 90]$ | vector_cross | `minVal=-20` `maxVal=20` | -| 45 | [Simple Interest](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/simple_interest.py) | Simple interest for a principle amount of $9080$ dollars, $3$% rate of interest and for a time period of $6$ years is $=$ | $1634.4$ | simple_interest | `maxPrinciple=10000` `maxRate=10` `maxTime=10` | -| 46 | [Multiplication of two matrices](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/matrix_multiplication.py) | Multiply$\begin{bmatrix}0&-1&-9&1\\-10&4&3&-10\end{bmatrix}$and$\begin{bmatrix}-4&-2&-4\\8&-1&2\\-2&6&-5\\-10&7&5\end{bmatrix}$ | $\begin{bmatrix}0&-46&48\\166&-36&-17\end{bmatrix}$ | matrix_multiplication | `maxVal=100` `max_dim=10` | -| 50 | [Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/quadratic_equation.py) | What are the zeros of the quadratic equation $24x^2+103x+26=0$ | ${-0.27, -4.02}$ | quadratic_equation | `maxVal=100` | -| 65 | [Multiplication of 2 complex numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_complex_numbers.py) | $(17+1j) * (17-1j) = $ | $(290+0j)$ | multiply_complex_numbers | `minRealImaginaryNum=-20` `maxRealImaginaryNum=20` | -| 72 | [Dot Product of 2 Vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/vector_dot.py) | $[9, 14, -19]\cdot[-8, -9, 10]=$ | $-388$ | vector_dot | `minVal=-20` `maxVal=20` | -| 74 | [Inverse of a Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/invert_matrix.py) | Inverse of Matrix $\begin{bmatrix} 0 & 0 & 1 \\ 1 & 3 & 3 \\ 1 & 2 & 2 \end{bmatrix}$ is: | \begin{bmatrix} 0 & -2 & 3 \\ -1 & 1 & -1 \\ 1 & 0 & 0 \end{bmatrix} | invert_matrix | `SquareMatrixDimension=3` `MaxMatrixElement=99` `OnlyIntegerElementsInInvertedMatrix=True` | -| 77 | [Determinant to 2x2 Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/int_matrix_22_determinant.py) | $\det \begin{bmatrix} 24 & 94 \\ 21 & 29 \end{bmatrix}= $ | $-1278$ | int_matrix_22_determinant | `maxMatrixVal=100` | -| 78 | [Compound Interest](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/compound_interest.py) | Compound interest for a principle amount of $2004$ dollars, $1$% rate of interest and for a time period of $5$ years is $=$ | $2106.22$ | compound_interest | `maxPrinciple=10000` `maxRate=10` `maxTime=10` | -| 100 | [complex Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/complex_quadratic.py) | Find the roots of given Quadratic Equation $7x^2 + 7x + 1 = 0$ | $((-0.173, -0.827)) = (\frac{-7 + \sqrt{21}}{2*7}, (\frac{-7 - \sqrt{21}}{2*7})$ | complex_quadratic | `prob_type=0` `max_range=10` | -| 105 | [Combine Like terms](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/combine_like_terms.py) | $4x^{13} + 1x^{16}$ | $4x^{13} + 1x^{16}$ | combine_like_terms | `maxCoef=10` `maxExp=20` `maxTerms=10` | -| 111 | [Expanding Factored Binomial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/expanding.py) | $(-10x-2)(-1x+6)$ | $10x^2-58x-12$ | expanding | `range_x1=10` `range_x2=10` `range_a=10` `range_b=10` | -## basic_math -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 0 | [Addition](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/addition.py) | $40+14=$ | $54$ | addition | `maxSum=99` `maxAddend=50` | -| 1 | [Subtraction](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/subtraction.py) | $12-2=$ | $10$ | subtraction | `maxMinuend=99` `maxDiff=99` | -| 2 | [Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/multiplication.py) | $7\cdot8$ | $56$ | multiplication | `maxMulti=12` | -| 3 | [Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/division.py) | $92\div23=$ | $4$ | division | `maxA=25` `maxB=25` | -| 6 | [Square Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square_root.py) | $\sqrt{1}=$ | $1$ | square_root | `minNo=1` `maxNo=12` | -| 8 | [Square](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square.py) | $9^2=$ | $81$ | square | `maxSquareNum=20` | -| 13 | [Fraction to Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_to_decimal.py) | $84\div6=$ | $14.0$ | fraction_to_decimal | `maxRes=99` `maxDivid=99` | -| 16 | [Fraction Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/divide_fractions.py) | $\frac{6}{7}\div\frac{9}{5}=$ | $\frac{10}{21}$ | divide_fractions | `maxVal=10` | -| 28 | [Fraction Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_multiplication.py) | $\frac{3}{9}\cdot\frac{7}{6}=$ | $\frac{7}{18}$ | fraction_multiplication | `maxVal=10` | -| 31 | [Factorial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/factorial.py) | $5! =$ | $120$ | factorial | `maxInput=6` | -| 44 | [Compare Fractions](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/compare_fractions.py) | Which symbol represents the comparison between $\frac{3}{5}$ and $\frac{3}{9}$? | > | compare_fractions | `maxVal=10` | -| 47 | [Cube Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/cube_root.py) | What is the cube root of: $\sqrt[3]{30}=$ to 2 decimal places? | $3.11$ | cube_root | `minNo=1` `maxNo=1000` | -| 53 | [Exponentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/exponentiation.py) | $4^1 =$ | $4$ | exponentiation | `maxBase=20` `maxExpo=10` | -| 71 | [Absolute difference between two numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/absolute_difference.py) | $|22--59|=$ | $81$ | absolute_difference | `maxA=100` `maxB=100` | -| 80 | [Percentage of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage.py) | What is $5$% of $18$? | $0.90$ | percentage | `maxValue=99` `maxpercentage=99` | -| 90 | [isprime](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_prime.py) | Is $73$ prime? | Yes | is_prime | `max_num=100` | -| 97 | [Power of Powers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/power_of_powers.py) | Simplify $31^{8^{2}}$ | $31^{16}$ | power_of_powers | `maxBase=50` `maxPower=10` | -| 118 | [Percentage difference](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage_difference.py) | What is the percentage difference between $66$ and $7$? | $161.64$% | percentage_difference | `maxValue=200` `minValue=0` | -| 119 | [Percentage error](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage_error.py) | Find the percentage error when observed value equals $-44$ and exact value equals $-26$. | $69.23\%$ | percentage_error | `maxValue=100` `minValue=-100` | -| 120 | [Greatest Common Divisor of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/greatest_common_divisor.py) | $GCD(860597057,541815762)=$ | $1$ | greatest_common_divisor | `numbersCount=2` `maximalNumberLimit=10**9` | -| 124 | [Is Composite](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_composite.py) | Is $144$ composite? | Yes | is_composite | `maxNum=250` | -## calculus -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 7 | [Power Rule Differentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/power_rule_differentiation.py) | $2x^{6} + 5x^{4} + 6x^{4} + 9x^{4}$ | $12x^{5} + 20x^{3} + 24x^{3} + 36x^{3}$ | power_rule_differentiation | `maxCoef=10` `maxExp=10` `maxTerms=5` | -| 48 | [Power Rule Integration](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/power_rule_integration.py) | $8x^{1} + 1x^{9} + 5x^{1}$ | $\frac{8}{1}x^{2} + \frac{1}{9}x^{10} + \frac{5}{1}x^{2} + C$ | power_rule_integration | `maxCoef=10` `maxExp=10` `maxTerms=5` | -| 88 | [Trigonometric Differentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/trig_differentiation.py) | $\frac{d}{dx}(\sin)=$ | $\cos$ | trig_differentiation | | -| 89 | [Definite Integral of Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/definite_integral.py) | The definite integral within limits $0$ to $1$ of the equation $24x^2 + 93x + 13 = $ | $67.5$ | definite_integral | `max_coeff=100` | -| 110 | [Stationary Points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/stationary_points.py) | $f(x)=10*x^3 + 8*x^2 + 2*x + 5$ | ${- \frac{1}{3}, - \frac{1}{5}}$ | stationary_points | `maxExp=3` `maxCoef=10` | -## computer_science -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 4 | [Binary Complement 1s](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_complement_1s.py) | $010 = $ | $101$ | binary_complement_1s | `maxDigits=10` | -| 5 | [Modulo Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/modulo_division.py) | $84$ % $20 = $ | $4$ | modulo_division | `maxRes=99` `maxModulo=99` | -| 14 | [Decimal to Binary](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_binary.py) | Binary of $49 = $ | $110001$ | decimal_to_binary | `max_dec=99` | -| 15 | [Binary to Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_decimal.py) | $00$ | $0$ | binary_to_decimal | `max_dig=10` | -| 56 | [Fibonacci Series](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/fibonacci_series.py) | The Fibonacci Series of the first ${n}$ numbers is ? | $0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89$ | fibonacci_series | `minNo=1` | -| 62 | [nth Fibonacci number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/nth_fibonacci_number.py) | What is the 74th Fibonacci number? | $1304969544928660$ | nth_fibonacci_number | `maxN=100` | -| 64 | [Binary to Hexidecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_hex.py) | $11010100$ | $0xd4$ | binary_to_hex | `max_dig=10` | -| 73 | [Binary 2's Complement](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_2s_complement.py) | 2's complement of $1 = $ | $1$ | binary_2s_complement | `maxDigits=10` | -| 79 | [Decimal to Hexadecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py) | Binary of $639 = $ | $0x27f$ | decimal_to_hexadeci | `max_dec=1000` | -| 84 | [Converts decimal to octal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_octal.py) | The decimal number ${x}$ in Octal is: | $0o5206$ | decimal_to_octal | `maxDecimal=4096` | -| 91 | [Binary Coded Decimal to Integer](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/bcd_to_decimal.py) | Integer of Binary Coded Decimal $3$ is $=$ | $12440$ | bcd_to_decimal | `maxNumber=10000` | -| 103 | [Decimal to Binary Coded Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_bcd.py) | BCD of Decimal Number $6981 = $ | $11145$ | decimal_to_bcd | `maxNumber=10000` | -## geometry -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 18 | [Area of Triangle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_triangle.py) | Area of triangle with side lengths: $5, 15 11 = $ | $19.14$ | area_of_triangle | `maxA=20` `maxB=20` | -| 19 | [Triangle exists check](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/valid_triangle.py) | Does triangle with sides $20, 17$ and $29$ exist? | $Yes$ | valid_triangle | `maxSideLength=50` | -| 22 | [Third Angle of Triangle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/third_angle_of_triangle.py) | Third angle of triangle with angles $1$ and $86 = $ | $93$ | third_angle_of_triangle | `maxAngle=89` | -| 25 | [Pythagorean Theorem](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/pythagorean_theorem.py) | What is the hypotenuse of a right triangle given the other two sides have lengths $18$ and $9$? | $20.12$ | pythagorean_theorem | `maxLength=20` | -| 29 | [Angle of a Regular Polygon](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/angle_regular_polygon.py) | Find the angle of a regular polygon with $7$ sides | $128.57$ | angle_regular_polygon | `minVal=3` `maxVal=20` | -| 32 | [Surface Area of Cube](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cube.py) | Surface area of cube with side $= 17m$ is | $1734 m^2$ | surface_area_cube | `maxSide=20` `unit='m'` | -| 33 | [Surface Area of Cuboid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cuboid.py) | Surface area of cuboid with sides of lengths: $9m, 11m, 20m$ is | $998 m^2$ | surface_area_cuboid | `maxSide=20` `unit='m'` | -| 34 | [Surface Area of Cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cylinder.py) | Surface area of cylinder with height $= 25m$ and radius $= 18m$ is | $4863 m^2$ | surface_area_cylinder | `maxRadius=20` `maxHeight=50` `unit='m'` | -| 35 | [Volume of Cube](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cube.py) | Volume of cube with a side length of $13m$ is | $2197 m^3$ | volume_cube | `maxSide=20` `unit='m'` | -| 36 | [Volume of Cuboid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cuboid.py) | Volume of cuboid with sides = $2m, 6m, 18m$ is | $216 m^3$ | volume_cuboid | `maxSide=20` `unit='m'` | -| 37 | [Volume of cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cylinder.py) | Volume of cylinder with height $= 28m$ and radius $= 5m$ is | $2199 m^3$ | volume_cylinder | `maxRadius=20` `maxHeight=50` `unit='m'` | -| 38 | [Surface Area of cone](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cone.py) | Surface area of cone with height $= 37m$ and radius $= 15m$ is | $2588 m^2$ | surface_area_cone | `maxRadius=20` `maxHeight=50` `unit='m'` | -| 39 | [Volume of cone](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cone.py) | Volume of cone with height $= 17m$ and radius $= 1m$ is | $17 m^3$ | volume_cone | `maxRadius=20` `maxHeight=50` `unit='m'` | -| 49 | [Fourth Angle of Quadrilateral](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py) | Fourth angle of quadrilateral with angles $108 , 35, 117 =$ | $100$ | fourth_angle_of_quadrilateral | `maxAngle=180` | -| 57 | [Trigonometric Values](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/basic_trigonometry.py) | $\tan(0) = $ | $0$ | basic_trigonometry | `angles=[0, 30, 45, 60, 90]` `functions=['sin', 'cos', 'tan']` | -| 58 | [Sum of Angles of Polygon](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/sum_of_polygon_angles.py) | What is the sum of interior angles of a polygon with $5$ sides? | $540$ | sum_of_polygon_angles | `maxSides=12` | -| 60 | [Surface Area of Sphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_sphere.py) | Surface area of Sphere with radius $= 14m$ is | $2463.0086404143976 m^2$ | surface_area_sphere | `maxSide=20` `unit='m'` | -| 61 | [Volume of Sphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_sphere.py) | Volume of sphere with radius $12 m = $ | $7238.229473870882 m^3$ | volume_sphere | `maxRadius=100` | -| 70 | [Angle between 2 vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/angle_btw_vectors.py) | angle between the vectors $[90.18, 778.39, 6.95, 189.4, 402.86]$ and $[937.62, 966.01, 986.87, 311.51, 725.29]$ is: | $0.77$ radians | angle_btw_vectors | `maxEltAmt=20` | -| 75 | [Area of a Sector](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/sector_area.py) | What is the area of a sector with radius $27$ and angle $340$ degrees? | $2162.99$ | sector_area | `maxRadius=49` `maxAngle=359` | -| 86 | [Degrees to Radians](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/degree_to_rad.py) | Angle $50$ degrees in radians is: | $0.87$ | degree_to_rad | `max_deg=360` | -| 87 | [Radians to Degrees](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/radian_to_deg.py) | Angle $1.14$ radians in degrees is: | $65.32$ | radian_to_deg | `max_rad=6.28` | -| 95 | [Curved surface area of a cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py) | What is the curved surface area of a cylinder of radius, $42$ and height, $28$? | $7389.03$ | curved_surface_area_cylinder | `maxRadius=49` `maxHeight=99` | -| 96 | [Perimeter of Polygons](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/perimeter_of_polygons.py) | The perimeter of a $11$ sided polygon with lengths of $16, 109, 106, 37, 3, 59, 49, 1, 88, 43, 42$cm is: | $553$ | perimeter_of_polygons | `maxSides=12` `maxLength=120` | -| 104 | [Circumference](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/circumference.py) | Circumference of circle with radius $37 = $ | $232.48$ | circumference | `maxRadius=100` | -| 108 | [Arc length of Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/arc_length.py) | Given radius, $49$ and angle, $13$. Find the arc length of the angle. | Arc length of the angle $= 11.11775$ | arc_length | `maxRadius=49` `maxAngle=359` | -| 112 | [Area of Circle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_circle.py) | Area of circle with radius $92=$ | $26590.44$ | area_of_circle | `maxRadius=100` | -| 113 | [Volume of frustum](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_frustum.py) | Volume of frustum with height $= 33m$ and $r1 = 7m$ is and $r2 = 7m$ is | $6669.0 m^3$ | volume_frustum | `maxR1=20` `maxR2=20` `maxHeight=50` `unit='m'` | -| 114 | [Equation of line from two points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/equation_of_line_from_two_points.py) | What is the equation of the line between points $(20,7)$ and $(-12,12)$ in slope-intercept form? | $32y = -5x + 324$ | equation_of_line_from_two_points | `maxCoordinate=20` `minCoordinate=-20` | -| 115 | [Area of Circle given center and a point on circle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_circle_given_center_and_point.py) | Area of circle with center $(-8,9)$ and passing through $(-4.0, 9.0)$ is | $50.27$ | area_of_circle_given_center_and_point | `maxCoordinate = 10` `maxRadius=10` | -| 117 | [Volume of Hemisphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_hemisphere.py) | Volume of hemisphere with radius $25 m =$ | $32724.923 m^3$ | volume_hemisphere | `maxRadius=100` | -| 122 | [Volume of pyramid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_pyramid.py) | Volume of pyramid with base length $= 3 m$, base width $= 1 m$ and height $= 2 m$ is | $2.0 m^3$ | volume_pyramid | `maxLength=20` `maxWidth=20` `maxHeight=50` `unit='m'` | -| 123 | [Surface area of pyramid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_pyramid.py) | Surface area of pyramid with base length $= 6m$, base width $= 6m$, and height $= 4m$ is | $96 m^2$ | surface_area_pyramid | `unit='m'` | -| 125 | [Complementary and Supplementary Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/complementary_and_supplementary_angle.py) | The supplementary angle of 48 = | 132 | complementary_and_supplementary_angle | `maxSupp=180` `maxComp=90` | -## misc -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 9 | [LCM (Least Common Multiple)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/lcm.py) | LCM of $11$ and $12 =$ | $132$ | lcm | `maxVal=20` | -| 10 | [GCD (Greatest Common Denominator)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/gcd.py) | GCD of $20$ and $9 = $ | $1$ | gcd | `maxVal=20` | -| 27 | [Prime Factorisation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/prime_factors.py) | Find prime factors of $84$ | $2, 2, 3, 7$ | prime_factors | `minVal=1` `maxVal=200` | -| 40 | [Common Factors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/common_factors.py) | Common Factors of $7$ and $44 = $ | $[1]$ | common_factors | `maxVal=100` | -| 51 | [HCF (Highest Common Factor)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/hcf.py) | HCF of $13$ and $5 = $ | $1$ | hcf | `maxVal=20` | -| 55 | [Comparing surds](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/surds_comparison.py) | Fill in the blanks $23^{\frac{1}{9}}$ _ $63^{\frac{1}{2}}$ | $<$ | surds_comparison | `maxValue=100` `maxRoot=10` | -| 63 | [Profit or Loss Percent](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/profit_loss_percent.py) | Profit percent when $CP = 145$ and $SP = 782$ is: | $439.31$ | profit_loss_percent | `maxCP=1000` `maxSP=1000` | -| 66 | [Geometric Progression](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/geometric_progression.py) | For the given GP $[3, 36, 432, 5184, 62208, 746496]$. Find the value of a common ratio, 10th term value, sum upto 10th term | The value of a is $3$, common ratio is $12$ , 10th term is $15479341056$, sum upto 10th term is $16886553879.0$ | geometric_progression | `number_values=6` `min_value=2` `max_value=12` `n_term=7` `sum_term=5` | -| 67 | [Geometric Mean of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/geometric_mean.py) | Geometric mean of $3$ numbers $[15, 90, 74] = $ | $46.4$ | geometric_mean | `maxValue=100` `maxCount=4` | -| 68 | [Harmonic Mean of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/harmonic_mean.py) | Harmonic mean of $4$ numbers $4, 94, 70, 14 = $ | $40.42123738481791$ | harmonic_mean | `maxValue=100` `maxNum=4` | -| 69 | [Euclidian norm or L2 norm of a vector](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/euclidian_norm.py) | Euclidian norm or L2 norm of the vector $[667.6348977529038, 679.4272834518646, 255.59424823283462, 642.7158651607829, 619.0578738657584, 693.3434890856785, 107.39417747607006]$ is: | $1503.75$ | euclidian_norm | `maxEltAmt=20` | -| 81 | [Celsius To Fahrenheit](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/celsius_to_fahrenheit.py) | Convert $2$ degrees Celsius to degrees Fahrenheit | $35.6$ | celsius_to_fahrenheit | `maxTemp=100` | -| 82 | [AP Term Calculation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/arithmetic_progression_term.py) | Find term number $67$ of the AP series: $56, 133, 210 ... $ | $5138$ | arithmetic_progression_term | `maxd=100` `maxa=100` `maxn=100` | -| 83 | [AP Sum Calculation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/arithmetic_progression_sum.py) | Find the sum of first $54$ terms of the AP series: $83, 42, 1 ... $ | $-54189.0$ | arithmetic_progression_sum | `maxd=100` `maxa=100` `maxn=100` | -| 85 | [Converts decimal to Roman Numerals](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/decimal_to_roman_numerals.py) | The number $0$ in Roman Numerals is: | $MMCCCLVI$ | decimal_to_roman_numerals | `maxDecimal=4000` | -| 92 | [Complex To Polar Form](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/complex_to_polar.py) | $17.12(2.0\theta + i17.0\theta)$ | $1.45$ | complex_to_polar | `minRealImaginaryNum=-20, maxRealImaginaryNum=20` | -| 93 | [Union,Intersection,Difference of Two Sets](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/set_operation.py) | Given the two sets $a={2, 6, 8, 9, 10}$, $b={8, 10, 4}. Find the Union, intersection, a-b, b-a, and symmetric difference | Union is ${2, 4, 6, 8, 9, 10}$. Intersection is ${8, 10}$, a-b is ${9, 2, 6}$, b-a is ${4}$. Symmetric difference is ${2, 4, 6, 9}$. | set_operation | `minval=3` `maxval=7` `n_a=4` `n_b=5` | -| 94 | [Base Conversion](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/base_conversion.py) | Convert $56371$ from base $10$ to base $5$. | $3300441$ | base_conversion | `maxNum=60000` `maxBase=16` | -| 98 | [Quotient of Powers with Same Base](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/quotient_of_power_same_base.py) | The Quotient of $17^{1}$ and $17^{9} = $17^{1-9} = 17^{-8}$ | $1.4335360832968505e-10$ | quotient_of_power_same_base | `maxBase=50` `maxPower=10` | -| 99 | [Quotient of Powers with Same Power](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/quotient_of_power_same_power.py) | The Quotient of $33^{4}$ and $23^{4} = (33/23)^4 = 1.434782608695652^{4}$ | $4.237838629793346$ | quotient_of_power_same_power | `maxBase=50` `maxPower=10` | -| 101 | [Leap Year or Not](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/is_leap_year.py) | Is 1906 a leap year? | 1906 is not a leap year | is_leap_year | `minNumber=1900` `maxNumber=2099` | -| 102 | [Minute to Hour conversion](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/minutes_to_hours.py) | Convert $381$ minutes to hours & minutes | $6$ hours and $21$ minutes | minutes_to_hours | `maxMinutes=999` | -| 106 | [signum function](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/signum_function.py) | signum of 985 is = | $1$ | signum_function | `min=-999` `max=999` | -| 109 | [Binomial distribution](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/binomial_distribution.py) | A manufacturer of metal pistons finds that, on average, $34.46$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $10$ pistons will contain no more than $8$ rejected pistons? | $99.95$ | binomial_distribution | `` | -| 116 | [Factors of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/factors.py) | Factors of $949 = $ | $[1, 13, 73, 949]$ | factors | `maxVal=1000` | -| 121 | [Product of scientific notations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/product_of_scientific_notations.py) | Product of scientific notations $7.83 \times 10^{-39}$ and $6.12 \times 10^{-95} = $ | $4.79 \times 10^{-133}$ | product_of_scientific_notations | `minExpVal=-100` `maxExpVal=100` | -## statistics -| Id | Skill | Example problem | Example Solution | Function Name | Kwargs | -|------|-------|-----------------|------------------|---------------|--------| -| 30 | [Combinations of Objects](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/combinations.py) | Find the number of combinations from $14$ objects picked $6$ at a time. | $3003$ | combinations | `maxlength=20` | -| 42 | [Permutations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/permutation.py) | Number of Permutations from $17$ objects picked $6$ at a time is: | $8910720$ | permutation | `maxlength=20` | -| 52 | [Probability of a certain sum appearing on faces of dice](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/dice_sum_probability.py) | If $3$ dice are rolled at the same time, the probability of getting a sum of $3 =$ | \frac{1}{216} | dice_sum_probability | `maxDice=3` | -| 54 | [Confidence interval For sample S](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/confidence_interval.py) | The confidence interval for sample $[226, 260, 221, 245, 282, 274, 207, 299, 257, 211, 233, 239, 206, 208, 242, 224, 265, 287, 230, 276, 256, 237, 215, 291, 216, 251, 255, 229, 279, 275, 210, 203, 220, 292]$ with $95$% confidence is | $(254.41804694839914, 235.052541286895)$ | confidence_interval | `` | -| 59 | [Mean,Standard Deviation,Variance](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/data_summary.py) | Find the mean,standard deviation and variance for the data $48, 38, 10, 5, 24, 46, 50, 17, 20, 13, 17, 14, 5, 20, 34$ | The Mean is $24.066666666666666$, Standard Deviation is $220.0622222222222$, Variance is $14.834494336586678$ | data_summary | `number_values=15` `minval=5` `maxval=50` | -| 76 | [Mean and Median](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/mean_median.py) | Given the series of numbers $[6, 30, 32, 39, 42, 65, 72, 80, 84, 85]$. Find the arithmatic mean and mdian of the series | Arithmetic mean of the series is $53.5$ and Arithmetic median of this series is $53.5$ | mean_median | `maxlen=10` | -| 107 | [Conditional Probability](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/conditional_probability.py) | Someone tested positive for a nasty disease which only $1.26\%$ of the population have. Test sensitivity (true positive) is equal to $SN=93.71$% whereas test specificity (true negative) $SP=90.62\%$. What is the probability that this guy really has that disease? | $11.31$% | conditional_probability | `` | +## Documentation +Documentation can be found at https://lukew3.github.io/mathgenerator diff --git a/dev-requirements.txt b/dev-requirements.txt index 5ef5c04..1bab2ea 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -3,4 +3,4 @@ flake8 autopep8 sympy scipy -worksheetgen +pdoc diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..f377aca --- /dev/null +++ b/docs/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/mathgenerator.html b/docs/mathgenerator.html new file mode 100644 index 0000000..c4bb6c2 --- /dev/null +++ b/docs/mathgenerator.html @@ -0,0 +1,484 @@ + + + + + + + mathgenerator API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator

+ +

mathgenerator

+ +

A math problem generator, created for the purpose of giving teachers and students the means to easily get access to random math exercises to suit their needs.

+ +

To try out generators, go to https://lukew3.github.io/mathgenerator

+ +

See CONTRIBUTING.md for information about how to contribute.

+ +

Table of Contents

+ + + +

Installation

+ +

The project can be install via pip

+ +
+
pip install mathgenerator
+
+
+ +

Usage

+ +

Here is an example of how you would generate an addition problem:

+ +
+
import mathgenerator
+
+#generate an addition problem
+problem, solution = mathgenerator.addition()
+
+#another way to generate an addition problem using genById()
+problem, solution = mathgenerator.genById(0)
+
+
+ +

You may prefer to use import mathgenerator as mg and run functions like mg.addition() so that you don't have to type as much. + +Problem/solution pairs are generated with either:

+ +
    +
  • mathgenerator.<generator_name>() - generates a problem, solution set from the given generator name.
  • +
  • mathgenerator.genById(id) - generates a problem, solution set with generator id provided by the id parameter
  • +
+ +

+You can also use getGenList() to return a list of all generators included in the library in the format: + + +

[id, title, gen_func, funcname, subjectname, kwargs]
+
+ +

Documentation

+ +

Documentation can be found at https://lukew3.github.io/mathgenerator

+
+ + + + + +
 1"""
+ 2.. include:: ../README.md
+ 3"""
+ 4
+ 5from .algebra import *
+ 6from .basic_math import *
+ 7from .calculus import *
+ 8from .computer_science import *
+ 9from .geometry import *
+10from .misc import *
+11from .statistics import *
+12
+13from ._gen_list import gen_list
+14
+15
+16# [funcname, subjectname]
+17def get_gen_list():
+18    return gen_list
+19
+20
+21def gen_by_id(id, *args, **kwargs):
+22    return globals()[gen_list[id][0]](*args, **kwargs)
+23
+24
+25# Legacy Functions
+26def getGenList():
+27    return gen_list
+28
+29
+30def genById(id, *args, **kwargs):
+31    return globals()[gen_list[id][0]](*args, **kwargs)
+
+ + +
+
+ +
+ + def + get_gen_list(): + + + +
+ +
18def get_gen_list():
+19    return gen_list
+
+ + + + +
+
+ +
+ + def + gen_by_id(id, *args, **kwargs): + + + +
+ +
22def gen_by_id(id, *args, **kwargs):
+23    return globals()[gen_list[id][0]](*args, **kwargs)
+
+ + + + +
+
+ +
+ + def + getGenList(): + + + +
+ +
27def getGenList():
+28    return gen_list
+
+ + + + +
+
+ +
+ + def + genById(id, *args, **kwargs): + + + +
+ +
31def genById(id, *args, **kwargs):
+32    return globals()[gen_list[id][0]](*args, **kwargs)
+
+ + + + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/_gen_list.html b/docs/mathgenerator/_gen_list.html new file mode 100644 index 0000000..75e0196 --- /dev/null +++ b/docs/mathgenerator/_gen_list.html @@ -0,0 +1,391 @@ + + + + + + + mathgenerator._gen_list API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator._gen_list

+ + + + + + +
  1gen_list = [
+  2    ("addition", "basic_math"),
+  3    ("subtraction", "basic_math"),
+  4    ("multiplication", "basic_math"),
+  5    ("division", "basic_math"),
+  6    ("binary_complement_1s", "computer_science"),
+  7    ("modulo_division", "computer_science"),
+  8    ("square_root", "basic_math"),
+  9    ("power_rule_differentiation", "calculus"),
+ 10    ("square", "basic_math"),
+ 11    ("lcm", "misc"),
+ 12    ("DELETED", "DELETED"),
+ 13    ("basic_algebra", "algebra"),
+ 14    ("log", "algebra"),
+ 15    ("fraction_to_decimal", "basic_math"),
+ 16    ("decimal_to_binary", "computer_science"),
+ 17    ("binary_to_decimal", "computer_science"),
+ 18    ("divide_fractions", "basic_math"),
+ 19    ("multiply_int_to_22_matrix", "algebra"),
+ 20    ("area_of_triangle", "geometry"),
+ 21    ("valid_triangle", "geometry"),
+ 22    ("midpoint_of_two_points", "algebra"),
+ 23    ("factoring", "algebra"),
+ 24    ("third_angle_of_triangle", "geometry"),
+ 25    ("system_of_equations", "algebra"),
+ 26    ("distance_two_points", "algebra"),
+ 27    ("pythagorean_theorem", "geometry"),
+ 28    ("linear_equations", "algebra"),
+ 29    ("prime_factors", "misc"),
+ 30    ("fraction_multiplication", "basic_math"),
+ 31    ("angle_regular_polygon", "geometry"),
+ 32    ("combinations", "statistics"),
+ 33    ("factorial", "basic_math"),
+ 34    ("surface_area_cube", "geometry"),
+ 35    ("surface_area_cuboid", "geometry"),
+ 36    ("surface_area_cylinder", "geometry"),
+ 37    ("volume_cube", "geometry"),
+ 38    ("volume_cuboid", "geometry"),
+ 39    ("volume_cylinder", "geometry"),
+ 40    ("surface_area_cone", "geometry"),
+ 41    ("volume_cone", "geometry"),
+ 42    ("common_factors", "misc"),
+ 43    ("intersection_of_two_lines", "algebra"),
+ 44    ("permutation", "statistics"),
+ 45    ("vector_cross", "algebra"),
+ 46    ("compare_fractions", "basic_math"),
+ 47    ("simple_interest", "algebra"),
+ 48    ("matrix_multiplication", "algebra"),
+ 49    ("cube_root", "basic_math"),
+ 50    ("power_rule_integration", "calculus"),
+ 51    ("fourth_angle_of_quadrilateral", "geometry"),
+ 52    ("quadratic_equation", "algebra"),
+ 53    ("DELETED", "DELETED"),
+ 54    ("dice_sum_probability", "statistics"),
+ 55    ("exponentiation", "basic_math"),
+ 56    ("confidence_interval", "statistics"),
+ 57    ("surds_comparison", "misc"),
+ 58    ("fibonacci_series", "computer_science"),
+ 59    ("basic_trigonometry", "geometry"),
+ 60    ("sum_of_polygon_angles", "geometry"),
+ 61    ("data_summary", "statistics"),
+ 62    ("surface_area_sphere", "geometry"),
+ 63    ("volume_sphere", "geometry"),
+ 64    ("nth_fibonacci_number", "computer_science"),
+ 65    ("profit_loss_percent", "misc"),
+ 66    ("binary_to_hex", "computer_science"),
+ 67    ("multiply_complex_numbers", "algebra"),
+ 68    ("geometric_progression", "misc"),
+ 69    ("geometric_mean", "misc"),
+ 70    ("harmonic_mean", "misc"),
+ 71    ("euclidian_norm", "misc"),
+ 72    ("angle_btw_vectors", "geometry"),
+ 73    ("absolute_difference", "basic_math"),
+ 74    ("vector_dot", "algebra"),
+ 75    ("binary_2s_complement", "computer_science"),
+ 76    ("invert_matrix", "algebra"),
+ 77    ("sector_area", "geometry"),
+ 78    ("mean_median", "statistics"),
+ 79    ("int_matrix_22_determinant", "algebra"),
+ 80    ("compound_interest", "algebra"),
+ 81    ("decimal_to_hexadeci", "computer_science"),
+ 82    ("percentage", "basic_math"),
+ 83    ("celsius_to_fahrenheit", "misc"),
+ 84    ("arithmetic_progression_term", "misc"),
+ 85    ("arithmetic_progression_sum", "misc"),
+ 86    ("decimal_to_octal", "computer_science"),
+ 87    ("decimal_to_roman_numerals", "misc"),
+ 88    ("degree_to_rad", "geometry"),
+ 89    ("radian_to_deg", "geometry"),
+ 90    ("trig_differentiation", "calculus"),
+ 91    ("definite_integral", "calculus"),
+ 92    ("is_prime", "basic_math"),
+ 93    ("bcd_to_decimal", "computer_science"),
+ 94    ("complex_to_polar", "misc"),
+ 95    ("set_operation", "misc"),
+ 96    ("base_conversion", "misc"),
+ 97    ("curved_surface_area_cylinder", "geometry"),
+ 98    ("perimeter_of_polygons", "geometry"),
+ 99    ("power_of_powers", "basic_math"),
+100    ("quotient_of_power_same_base", "misc"),
+101    ("quotient_of_power_same_power", "misc"),
+102    ("complex_quadratic", "algebra"),
+103    ("is_leap_year", "misc"),
+104    ("minutes_to_hours", "misc"),
+105    ("decimal_to_bcd", "computer_science"),
+106    ("circumference", "geometry"),
+107    ("combine_like_terms", "algebra"),
+108    ("signum_function", "misc"),
+109    ("conditional_probability", "statistics"),
+110    ("arc_length", "geometry"),
+111    ("binomial_distribution", "misc"),
+112    ("stationary_points", "calculus"),
+113    ("expanding", "algebra"),
+114    ("area_of_circle", "geometry"),
+115    ("volume_cone_frustum", "geometry"),
+116    ("equation_of_line_from_two_points", "geometry"),
+117    ("area_of_circle_given_center_and_point", "geometry"),
+118    ("factors", "misc"),
+119    ("volume_hemisphere", "geometry"),
+120    ("percentage_difference", "basic_math"),
+121    ("percentage_error", "basic_math"),
+122    ("greatest_common_divisor", "basic_math"),
+123    ("product_of_scientific_notations", "misc"),
+124    ("volume_pyramid", "geometry"),
+125    ("surface_area_pyramid", "geometry"),
+126    ("is_composite", "basic_math"),
+127    ("complementary_and_supplementary_angle", "geometry"),
+128]
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/_latexBuilder.html b/docs/mathgenerator/_latexBuilder.html new file mode 100644 index 0000000..18d0f48 --- /dev/null +++ b/docs/mathgenerator/_latexBuilder.html @@ -0,0 +1,349 @@ + + + + + + + mathgenerator._latexBuilder API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator._latexBuilder

+ + + + + + +
 1def frac(num, den):
+ 2    return rf'\frac{{{num}}}{{{den}}}'
+ 3
+ 4
+ 5def bmatrix(lst):
+ 6    """Turns 2d matrix into a bmatrix"""
+ 7    out = r'\begin{bmatrix} '
+ 8    lst = [' & '.join(map(str, row)) for row in lst]
+ 9    out += r' \\\ '.join(lst)
+10    return out + r' \end{bmatrix}'
+11
+12
+13def exp(base, exp):
+14    return f'{base}^{{{exp}}}'
+
+ + +
+
+ +
+ + def + frac(num, den): + + + +
+ +
2def frac(num, den):
+3    return rf'\frac{{{num}}}{{{den}}}'
+
+ + + + +
+
+ +
+ + def + bmatrix(lst): + + + +
+ +
 6def bmatrix(lst):
+ 7    """Turns 2d matrix into a bmatrix"""
+ 8    out = r'\begin{bmatrix} '
+ 9    lst = [' & '.join(map(str, row)) for row in lst]
+10    out += r' \\\ '.join(lst)
+11    return out + r' \end{bmatrix}'
+
+ + +

Turns 2d matrix into a bmatrix

+
+ + +
+
+ +
+ + def + exp(base, exp): + + + +
+ +
14def exp(base, exp):
+15    return f'{base}^{{{exp}}}'
+
+ + + + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/algebra.html b/docs/mathgenerator/algebra.html new file mode 100644 index 0000000..839bafd --- /dev/null +++ b/docs/mathgenerator/algebra.html @@ -0,0 +1,2444 @@ + + + + + + + mathgenerator.algebra API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.algebra

+ + + + + + +
  1from ._latexBuilder import bmatrix
+  2import random
+  3import math
+  4import fractions
+  5import sympy
+  6
+  7
+  8def basic_algebra(max_variable=10):
+  9    r"""Basic Algebra
+ 10
+ 11    | Ex. Problem | Ex. Solution |
+ 12    | --- | --- |
+ 13    | $1x + 5 = 5$ | $0$ |
+ 14    """
+ 15    a = random.randint(1, max_variable)
+ 16    b = random.randint(1, max_variable)
+ 17    c = random.randint(b, max_variable)
+ 18
+ 19    # calculate gcd
+ 20    def calculate_gcd(x, y):
+ 21        while (y):
+ 22            x, y = y, x % y
+ 23        return x
+ 24
+ 25    i = calculate_gcd((c - b), a)
+ 26    x = f"{(c - b)//i}/{a//i}"
+ 27
+ 28    if (c - b == 0):
+ 29        x = "0"
+ 30    elif a == 1 or a == i:
+ 31        x = f"{c - b}"
+ 32
+ 33    problem = f"${a}x + {b} = {c}$"
+ 34    solution = f"${x}$"
+ 35    return problem, solution
+ 36
+ 37
+ 38def combine_like_terms(max_coef=10, max_exp=20, max_terms=10):
+ 39    r"""Combine Like Terms
+ 40
+ 41    | Ex. Problem | Ex. Solution |
+ 42    | --- | --- |
+ 43    | $6x^{9} + 3x^{2} + 5x^{19} + 3x^{17}$ | $3x^{2} + 6x^{9} + 3x^{17} + 5x^{19}$ |
+ 44    """
+ 45    numTerms = random.randint(1, max_terms)
+ 46
+ 47    coefs = [random.randint(1, max_coef) for _ in range(numTerms)]
+ 48    exponents = [random.randint(1, max(max_exp - 1, 2))
+ 49                 for _ in range(numTerms)]
+ 50
+ 51    problem = " + ".join([f"{coefs[i]}x^{{{exponents[i]}}}" for i in range(numTerms)])
+ 52    d = {}
+ 53    for i in range(numTerms):
+ 54        if exponents[i] in d:
+ 55            d[exponents[i]] += coefs[i]
+ 56        else:
+ 57            d[exponents[i]] = coefs[i]
+ 58    solution = " + ".join([f"{d[k]}x^{{{k}}}" for k in sorted(d)])
+ 59
+ 60    return f'${problem}$', f'${solution}$'
+ 61
+ 62
+ 63def complex_quadratic(prob_type=0, max_range=10):
+ 64    r"""Complex Quadratic Equation
+ 65
+ 66    | Ex. Problem | Ex. Solution |
+ 67    | --- | --- |
+ 68    | Find the roots of given Quadratic Equation $x^2 + 8x + 8 = 0$ | $((-1.172, -6.828)) = (\frac{-8 + \sqrt{32}}{2*1}, (\frac{-8 - \sqrt{32}}{2*1})$ |
+ 69    """
+ 70    if prob_type < 0 or prob_type > 1:
+ 71        print("prob_type not supported")
+ 72        print("prob_type = 0 for real roots problems ")
+ 73        print("prob_tpye = 1 for imaginary roots problems")
+ 74        return None
+ 75    if prob_type == 0:
+ 76        d = -1
+ 77        while d < 0:
+ 78            a = random.randrange(1, max_range)
+ 79            b = random.randrange(1, max_range)
+ 80            c = random.randrange(1, max_range)
+ 81
+ 82            d = (b**2 - 4 * a * c)
+ 83    else:
+ 84        d = 0
+ 85        while d >= 0:
+ 86            a = random.randrange(1, max_range)
+ 87            b = random.randrange(1, max_range)
+ 88            c = random.randrange(1, max_range)
+ 89
+ 90            d = (b**2 - 4 * a * c)
+ 91
+ 92    eq = ''
+ 93
+ 94    if a == 1:
+ 95        eq += 'x^2 + '
+ 96    else:
+ 97        eq += str(a) + 'x^2 + '
+ 98
+ 99    if b == 1:
+100        eq += 'x + '
+101    else:
+102        eq += str(b) + 'x + '
+103
+104    eq += str(c) + ' = 0'
+105
+106    problem = f'Find the roots of given Quadratic Equation ${eq}$'
+107
+108    if d < 0:
+109        sqrt_d = (-d)**0.5
+110
+111        if sqrt_d - int(sqrt_d) == 0:
+112            sqrt_d = int(sqrt_d)
+113            solution = rf'(\frac{{{-b} + {sqrt_d}i}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}i}}{{2*{a}}})'
+114        else:
+115            solution = rf'(\frac{{{-b} + \sqrt{{{-d}}}i}}{{2*{a}}}, \frac{{{-b} - \sqrt{{{-d}}}i}}{{2*{a}}})'
+116
+117        return problem, solution
+118
+119    else:
+120        s_root1 = round((-b + (d)**0.5) / (2 * a), 3)
+121        s_root2 = round((-b - (d)**0.5) / (2 * a), 3)
+122
+123        sqrt_d = (d)**0.5
+124
+125        if sqrt_d - int(sqrt_d) == 0:
+126            sqrt_d = int(sqrt_d)
+127            g_sol = rf'(\frac{{{-b} + {sqrt_d}}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}}}{{2*{a}}})'
+128        else:
+129            g_sol = rf'(\frac{{{-b} + \sqrt{{{d}}}}}{{2*{a}}}, (\frac{{{-b} - \sqrt{{{d}}}}}{{2*{a}}})'
+130
+131        solution = f'$({s_root1, s_root2}) = {g_sol}$'
+132
+133        return problem, solution
+134
+135
+136def compound_interest(max_principle=10000,
+137                      max_rate=10,
+138                      max_time=10):
+139    r"""Compound Interest
+140
+141    | Ex. Problem | Ex. Solution |
+142    | --- | --- |
+143    | Compound interest for a principle amount of $2679$ dollars, $9$% rate of interest and for a time period of $3$ years is $=$ | $3469.38$ |
+144    """
+145    p = random.randint(1000, max_principle)
+146    r = random.randint(1, max_rate)
+147    n = random.randint(1, max_time)
+148    a = round(p * (1 + r / 100)**n, 2)
+149
+150    problem = f"Compound interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${n}$ years is $=$"
+151    return problem, f'${a}$'
+152
+153
+154def distance_two_points(max_val_xy=20, min_val_xy=-20):
+155    r"""Distance between 2 points
+156
+157    | Ex. Problem | Ex. Solution |
+158    | --- | --- |
+159    | Find the distance between $(-19, -6)$ and $(15, -16)$ | $\sqrt{1256}$ |
+160    """
+161    point1X = random.randint(min_val_xy, max_val_xy + 1)
+162    point1Y = random.randint(min_val_xy, max_val_xy + 1)
+163    point2X = random.randint(min_val_xy, max_val_xy + 1)
+164    point2Y = random.randint(min_val_xy, max_val_xy + 1)
+165
+166    distanceSq = (point1X - point2X) ** 2 + (point1Y - point2Y) ** 2
+167
+168    solution = rf"$\sqrt{{{distanceSq}}}$"
+169    problem = f"Find the distance between $({point1X}, {point1Y})$ and $({point2X}, {point2Y})$"
+170    return problem, solution
+171
+172
+173def expanding(range_x1=10,
+174              range_x2=10,
+175              range_a=10,
+176              range_b=10):
+177    r"""Expanding Factored Binomial
+178
+179    | Ex. Problem | Ex. Solution |
+180    | --- | --- |
+181    |$(x-6)(-3x-3)$ | $x^2+18x+18$ |
+182    """
+183    x1 = random.randint(-range_x1, range_x1)
+184    x2 = random.randint(-range_x2, range_x2)
+185    a = random.randint(-range_a, range_a)
+186    b = random.randint(-range_b, range_b)
+187
+188    def intParser(z):
+189        if (z > 0):
+190            return f"+{z}"
+191        elif (z < 0):
+192            return f"-{abs(z)}"
+193        else:
+194            return ""
+195
+196    c1 = intParser(a * b)
+197    c2 = intParser((a * x2) + (b * x1))
+198    c3 = intParser(x1 * x2)
+199
+200    p1 = intParser(a)
+201    p2 = intParser(x1)
+202    p3 = intParser(b)
+203    p4 = intParser(x2)
+204
+205    if p1 == "+1":
+206        p1 = ""
+207    elif len(p1) > 0 and p1[0] == "+":
+208        p1 = p1[1:]
+209    if p3 == "+1":
+210        p3 = ""
+211    elif p3[0] == "+":
+212        p3 = p3[1:]
+213
+214    if c1 == "+1":
+215        c1 = ""
+216    elif len(c1) > 0 and c1[0] == "+":
+217        c1 = c1[1:]  # Cuts off the plus for readability
+218    if c2 == "+1":
+219        c2 = ""
+220
+221    problem = f"$({p1}x{p2})({p3}x{p4})$"
+222    solution = f"${c1}x^2{c2}x{c3}$"
+223    return problem, solution
+224
+225
+226def factoring(range_x1=10, range_x2=10):
+227    r"""Factoring Quadratic
+228    Given a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2)
+229
+230    | Ex. Problem | Ex. Solution |
+231    | --- | --- |
+232    | $x^2+2x-24$ | $(x-4)(x+6)$ |
+233    """
+234    x1 = random.randint(-range_x1, range_x1)
+235    x2 = random.randint(-range_x2, range_x2)
+236
+237    def intParser(z):
+238        if (z > 0):
+239            return f"+{z}"
+240        elif (z < 0):
+241            return f"-{abs(z)}"
+242        else:
+243            return ""
+244
+245    b = intParser(x1 + x2)
+246    c = intParser(x1 * x2)
+247
+248    if b == "+1":
+249        b = "+"
+250    if b == "":
+251        problem = f"x^2{c}"
+252    else:
+253        problem = f"x^2{b}x{c}"
+254
+255    x1 = intParser(x1)
+256    x2 = intParser(x2)
+257    solution = f"$(x{x1})(x{x2})$"
+258    return f"${problem}$", solution
+259
+260
+261def int_matrix_22_determinant(max_matrix_val=100):
+262    r"""Determinant to 2x2 Matrix
+263
+264    | Ex. Problem | Ex. Solution |
+265    | --- | --- |
+266    | $\det \begin{bmatrix} 88 & 40 \\\ 9 & 91 \end{bmatrix}= $ | $7648$ |
+267    """
+268    a = random.randint(0, max_matrix_val)
+269    b = random.randint(0, max_matrix_val)
+270    c = random.randint(0, max_matrix_val)
+271    d = random.randint(0, max_matrix_val)
+272
+273    determinant = a * d - b * c
+274    lst = [[a, b], [c, d]]
+275
+276    problem = rf"$\det {bmatrix(lst)}= $"
+277    solution = f"${determinant}$"
+278    return problem, solution
+279
+280
+281def intersection_of_two_lines(min_m=-10,
+282                              max_m=10,
+283                              min_b=-10,
+284                              max_b=10,
+285                              min_denominator=1,
+286                              max_denominator=6):
+287    r"""Intersection of two lines
+288
+289    | Ex. Problem | Ex. Solution |
+290    | --- | --- |
+291    | Find the point of intersection of the two lines: $y = \frac{-2}{6}x + 3$ and $y = \frac{3}{6}x - 8$ | $(\frac{66}{5}, \frac{-7}{5})$ |
+292    """
+293    def generateEquationString(m, b):
+294        """
+295        Generates an equation given the slope and intercept.
+296        It handles cases where m is fractional.
+297        It also ensures that we don't have weird signs such as y = mx + -b.
+298        """
+299        if m[0] == 0:
+300            m = 0
+301        elif abs(m[0]) == abs(m[1]):
+302            m = m[0] // m[1]
+303        elif m[1] == 1:
+304            m = m[0]
+305        else:
+306            m = rf"\frac{{{m[0]}}}{{{m[1]}}}"
+307        base = "y ="
+308        if m != 0:
+309            if m == 1:
+310                base = f"{base} x"
+311            elif m == -1:
+312                base = f"{base} -x"
+313            else:
+314                base = f"{base} {m}x"
+315        if b > 0:
+316            if m == 0:
+317                return f"{base} {b}"
+318            else:
+319                return f"{base} + {b}"
+320        elif b < 0:
+321            if m == 0:
+322                return f"{base} -{b * -1}"
+323            else:
+324                return f"{base} - {b * -1}"
+325        else:
+326            if m == 0:
+327                return f"{base} 0"
+328            else:
+329                return base
+330
+331    def fractionToString(x):
+332        """
+333        Converts the given fractions.Fraction into a string.
+334        """
+335        if x.denominator == 1:
+336            x = x.numerator
+337        else:
+338            x = rf"\frac{{{x.numerator}}}{{{x.denominator}}}"
+339        return x
+340
+341    m1 = (random.randint(min_m,
+342                         max_m), random.randint(min_denominator, max_denominator))
+343    m2 = (random.randint(min_m,
+344                         max_m), random.randint(min_denominator, max_denominator))
+345
+346    b1 = random.randint(min_b, max_b)
+347    b2 = random.randint(min_b, max_b)
+348
+349    eq1 = generateEquationString(m1, b1)
+350    eq2 = generateEquationString(m2, b2)
+351
+352    problem = f"Find the point of intersection of the two lines: ${eq1}$ and ${eq2}$"
+353
+354    m1 = fractions.Fraction(*m1)
+355    m2 = fractions.Fraction(*m2)
+356    # if m1 == m2 then the slopes are equal
+357    # This can happen if both line are the same
+358    # Or if they are parallel
+359    # In either case there is no intersection
+360
+361    if m1 == m2:
+362        solution = "No Solution"
+363    else:
+364        intersection_x = (b1 - b2) / (m2 - m1)
+365        intersection_y = ((m2 * b1) - (m1 * b2)) / (m2 - m1)
+366        solution = f"$({fractionToString(intersection_x)}, {fractionToString(intersection_y)})$"
+367
+368    return problem, solution
+369
+370
+371def invert_matrix(square_matrix_dimension=3,
+372                  max_matrix_element=99,
+373                  only_integer_elements_in_inverted_matrixe=True):
+374    r"""Invert Matrix
+375
+376    | Ex. Problem | Ex. Solution |
+377    | --- | --- |
+378    | Inverse of Matrix $\begin{bmatrix} 4 & 1 & 4 \\\ 5 & 1 & 5 \\\ 12 & 3 & 13 \end{bmatrix}$ is: | $\begin{bmatrix} 2 & 1 & -1 \\\ 5 & -4 & 0 \\\ -3 & 0 & 1 \end{bmatrix}$ |
+379    """
+380    if only_integer_elements_in_inverted_matrixe is True:
+381        isItOk = False
+382        Mat = list()
+383        while (isItOk is False):
+384            Mat = list()
+385            for i in range(0, square_matrix_dimension):
+386                z = list()
+387                for j in range(0, square_matrix_dimension):
+388                    z.append(0)
+389                z[i] = 1
+390                Mat.append(z)
+391            MaxAllowedMatrixElement = math.ceil(
+392                pow(max_matrix_element, 1 / (square_matrix_dimension)))
+393            randomlist = random.sample(range(0, MaxAllowedMatrixElement + 1),
+394                                       square_matrix_dimension)
+395
+396            for i in range(0, square_matrix_dimension):
+397                if i == square_matrix_dimension - 1:
+398                    Mat[0] = [
+399                        j + (k * randomlist[i])
+400                        for j, k in zip(Mat[0], Mat[i])
+401                    ]
+402                else:
+403                    Mat[i + 1] = [
+404                        j + (k * randomlist[i])
+405                        for j, k in zip(Mat[i + 1], Mat[i])
+406                    ]
+407
+408            for i in range(1, square_matrix_dimension - 1):
+409                Mat[i] = [
+410                    sum(i) for i in zip(Mat[square_matrix_dimension - 1], Mat[i])
+411                ]
+412
+413            isItOk = True
+414            for i in Mat:
+415                for j in i:
+416                    if j > max_matrix_element:
+417                        isItOk = False
+418                        break
+419                if isItOk is False:
+420                    break
+421
+422        random.shuffle(Mat)
+423        Mat = sympy.Matrix(Mat)
+424        Mat = sympy.Matrix.transpose(Mat)
+425        Mat = Mat.tolist()
+426        random.shuffle(Mat)
+427        Mat = sympy.Matrix(Mat)
+428        Mat = sympy.Matrix.transpose(Mat)
+429
+430    else:
+431        randomlist = list(sympy.primerange(0, max_matrix_element + 1))
+432        plist = random.sample(randomlist, square_matrix_dimension)
+433        randomlist = random.sample(
+434            range(0, max_matrix_element + 1),
+435            square_matrix_dimension * square_matrix_dimension)
+436        randomlist = list(set(randomlist) - set(plist))
+437        n_list = random.sample(
+438            randomlist, square_matrix_dimension * (square_matrix_dimension - 1))
+439        Mat = list()
+440        for i in range(0, square_matrix_dimension):
+441            z = list()
+442            z.append(plist[i])
+443            for j in range(0, square_matrix_dimension - 1):
+444                z.append(n_list[(i * square_matrix_dimension) + j - i])
+445            random.shuffle(z)
+446            Mat.append(z)
+447        Mat = sympy.Matrix(Mat)
+448
+449    problem = 'Inverse of Matrix $' + bmatrix(Mat.tolist()) + '$ is:'
+450    solution = f'${bmatrix(sympy.Matrix.inv(Mat).tolist())}$'
+451    return problem, solution
+452
+453
+454def linear_equations(n=2, var_range=20, coeff_range=20):
+455    r"""Linear Equations
+456
+457    | Ex. Problem | Ex. Solution |
+458    | --- | --- |
+459    | Given the equations $10x + -20y = 310$ and $-16x + -17y = 141$, solve for $x$ and $y$ | $x = 5$, $y = -13$ |
+460    """
+461    if n > 10:
+462        print("[!] n cannot be greater than 10")
+463        return None, None
+464
+465    vars = ['x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][:n]
+466    soln = [random.randint(-var_range, var_range) for i in range(n)]
+467    problem = list()
+468    solution = "$, $".join(
+469        ["{} = {}".format(vars[i], soln[i]) for i in range(n)])
+470
+471    for _ in range(n):
+472        coeff = [random.randint(-coeff_range, coeff_range) for i in range(n)]
+473        res = sum([coeff[i] * soln[i] for i in range(n)])
+474        prob = [
+475            "{}{}".format(coeff[i], vars[i]) if coeff[i] != 0 else ""
+476            for i in range(n)
+477        ]
+478
+479        while "" in prob:
+480            prob.remove("")
+481        prob = " + ".join(prob) + " = " + str(res)
+482        problem.append(prob)
+483
+484    # problem = "\n".join(problem)
+485    problem = "$ and $".join(problem)
+486
+487    return f'Given the equations ${problem}$, solve for $x$ and $y$', f'${solution}$'
+488
+489
+490def log(max_base=3, max_val=8):
+491    r"""Logarithm
+492
+493    | Ex. Problem | Ex. Solution |
+494    | --- | --- |
+495    | $log_{3}(243)=$ | $5$ |
+496    """
+497    a = random.randint(1, max_val)
+498    b = random.randint(2, max_base)
+499    c = pow(b, a)
+500
+501    problem = f'$log_{{{b}}}({c})=$'
+502    solution = f'${a}$'
+503    return problem, solution
+504
+505
+506def matrix_multiplication(max_val=100, max_dim=10):
+507    r"""Multiply Two Matrices
+508
+509    | Ex. Problem | Ex. Solution |
+510    | --- | --- |
+511    | Multiply $\begin{bmatrix} 15 & 72 \\\ 64 & -20 \\\ 18 & 59 \\\ -21 & -55 \\\ 20 & -12 \\\ -75 & -42 \\\ 47 & 89 \\\ -53 & 27 \\\ -56 & 44 \end{bmatrix}$ and $\begin{bmatrix} 49 & -2 & 68 & -28 \\\ 49 & 6 & 83 & 42 \end{bmatrix}$ | $\begin{bmatrix} 4263 & 402 & 6996 & 2604 \\\ 2156 & -248 & 2692 & -2632 \\\ 3773 & 318 & 6121 & 1974 \\\ -3724 & -288 & -5993 & -1722 \\\ 392 & -112 & 364 & -1064 \\\ -5733 & -102 & -8586 & 336 \\\ 6664 & 440 & 10583 & 2422 \\\ -1274 & 268 & -1363 & 2618 \\\ -588 & 376 & -156 & 3416 \end{bmatrix}$ |
+512    """
+513    m = random.randint(2, max_dim)
+514    n = random.randint(2, max_dim)
+515    k = random.randint(2, max_dim)
+516
+517    # generate matrices a and b
+518    a = [[random.randint(-max_val, max_val) for _ in range(n)]
+519         for _ in range(m)]
+520    b = [[random.randint(-max_val, max_val) for _ in range(k)]
+521         for _ in range(n)]
+522
+523    res = []
+524    for r in range(m):
+525        res.append([])
+526        for c in range(k):
+527            temp = 0
+528            for t in range(n):
+529                temp += a[r][t] * b[t][c]
+530            res[r].append(temp)
+531
+532    problem = f"Multiply ${bmatrix(a)}$ and ${bmatrix(b)}$"
+533    solution = f'${bmatrix(res)}$'
+534    return problem, solution
+535
+536
+537def midpoint_of_two_points(max_value=20):
+538    r"""Midpoint of two points
+539
+540    | Ex. Problem | Ex. Solution |
+541    | --- | --- |
+542    | The midpoint of $(-8,10)$ and $(18,0) = $ | $(5.0,5.0)$ |
+543    """
+544    x1 = random.randint(-20, max_value)
+545    y1 = random.randint(-20, max_value)
+546    x2 = random.randint(-20, max_value)
+547    y2 = random.randint(-20, max_value)
+548    xm = (x1 + x2) / 2
+549    ym = (y1 + y2) / 2
+550
+551    problem = f"The midpoint of $({x1},{y1})$ and $({x2},{y2}) = $"
+552    solution = f"$({xm},{ym})$"
+553    return problem, solution
+554
+555
+556def multiply_complex_numbers(min_real_imaginary_num=-20,
+557                             max_real_imaginary_num=20):
+558    r"""Multiplication of 2 complex numbers
+559
+560    | Ex. Problem | Ex. Solution |
+561    | --- | --- |
+562    | $(14+18j) * (14+15j) = $ | $(-74+462j)$ |
+563    """
+564    num1 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+565                   random.randint(min_real_imaginary_num, max_real_imaginary_num))
+566    num2 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+567                   random.randint(min_real_imaginary_num, max_real_imaginary_num))
+568    product = num1 * num2
+569
+570    problem = f"${num1} * {num2} = $"
+571    solution = f'${product}$'
+572    return problem, solution
+573
+574
+575def multiply_int_to_22_matrix(max_matrix_val=10, max_res=100):
+576    r"""Multiply Integer to 2x2 Matrix
+577
+578    | Ex. Problem | Ex. Solution |
+579    | --- | --- |
+580    | $5 * \begin{bmatrix} 1 & 0 \\\ 2 & 9 \end{bmatrix} =$ | $\begin{bmatrix} 5 & 0 \\\ 10 & 45 \end{bmatrix}$ |
+581    """
+582    a = random.randint(0, max_matrix_val)
+583    b = random.randint(0, max_matrix_val)
+584    c = random.randint(0, max_matrix_val)
+585    d = random.randint(0, max_matrix_val)
+586
+587    constant = random.randint(0, int(max_res / max(a, b, c, d)))
+588
+589    a1 = a * constant
+590    b1 = b * constant
+591    c1 = c * constant
+592    d1 = d * constant
+593    lst = [[a, b], [c, d]]
+594    lst1 = [[a1, b1], [c1, d1]]
+595
+596    problem = f'${constant} * {bmatrix(lst)} =$'
+597    solution = f'${bmatrix(lst1)}$'
+598    return problem, solution
+599
+600
+601def quadratic_equation(max_val=100):
+602    r"""Quadratic Equation
+603
+604    | Ex. Problem | Ex. Solution |
+605    | --- | --- |
+606    | What are the zeros of the quadratic equation $22x^2+137x+25=0$ | ${-0.19, -6.04}$ |
+607    """
+608    a = random.randint(1, max_val)
+609    c = random.randint(1, max_val)
+610    b = random.randint(
+611        round(math.sqrt(4 * a * c)) + 1, round(math.sqrt(4 * max_val * max_val)))
+612    D = math.sqrt(b * b - 4 * a * c)
+613    res = {round((-b + D) / (2 * a), 2), round((-b - D) / (2 * a), 2)}
+614
+615    problem = f"What are the zeros of the quadratic equation ${a}x^2+{b}x+{c}=0$"
+616    solution = f'${res}$'
+617    return problem, solution
+618
+619
+620def simple_interest(max_principle=10000,
+621                    max_rate=10,
+622                    max_time=10):
+623    r"""Simple Interest
+624
+625    | Ex. Problem | Ex. Solution |
+626    | --- | --- |
+627    | Simple interest for a principle amount of $7217$ dollars, $3$% rate of interest and for a time period of $10$ years is $=$ | $2165.1$ |
+628    """
+629    p = random.randint(1000, max_principle)
+630    r = random.randint(1, max_rate)
+631    t = random.randint(1, max_time)
+632    s = round((p * r * t) / 100, 2)
+633
+634    problem = f"Simple interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${t}$ years is $=$ "
+635    solution = f'${s}$'
+636    return problem, solution
+637
+638
+639def system_of_equations(range_x=10,
+640                        range_y=10,
+641                        coeff_mult_range=10):
+642    r"""Solve a System of Equations in R^2
+643
+644    | Ex. Problem | Ex. Solution |
+645    | --- | --- |
+646    | Given $-x + 5y = -28$ and $9x + 2y = 64$, solve for $x$ and $y$. | $x = 8$, $y = -4$ |
+647    """
+648    # Generate solution point first
+649    x = random.randint(-range_x, range_x)
+650    y = random.randint(-range_y, range_y)
+651    # Start from reduced echelon form (coeffs 1)
+652    c1 = [1, 0, x]
+653    c2 = [0, 1, y]
+654
+655    def randNonZero():
+656        return random.choice(
+657            [i for i in range(-coeff_mult_range, coeff_mult_range) if i != 0])
+658
+659    # Add random (non-zero) multiple of equations (rows) to each other
+660    c1_mult = randNonZero()
+661    c2_mult = randNonZero()
+662    new_c1 = [c1[i] + c1_mult * c2[i] for i in range(len(c1))]
+663    new_c2 = [c2[i] + c2_mult * c1[i] for i in range(len(c2))]
+664    # For extra randomness, now add random (non-zero) multiples of original rows
+665    # to themselves
+666    c1_mult = randNonZero()
+667    c2_mult = randNonZero()
+668    new_c1 = [new_c1[i] + c1_mult * c1[i] for i in range(len(c1))]
+669    new_c2 = [new_c2[i] + c2_mult * c2[i] for i in range(len(c2))]
+670
+671    def coeffToFuncString(coeffs):
+672        # lots of edge cases for perfect formatting!
+673        x_sign = '-' if coeffs[0] < 0 else ''
+674        # No redundant 1s
+675        x_coeff = str(abs(coeffs[0])) if abs(coeffs[0]) != 1 else ''
+676        # If x coeff is 0, dont include x
+677        x_str = f'{x_sign}{x_coeff}x' if coeffs[0] != 0 else ''
+678        # if x isn't included and y is positive, dont include operator
+679        op = ' - ' if coeffs[1] < 0 else (' + ' if x_str != '' else '')
+680        # No redundant 1s
+681        y_coeff = abs(coeffs[1]) if abs(coeffs[1]) != 1 else ''
+682        # Don't include if 0, unless x is also 0 (probably never happens)
+683        y_str = f'{y_coeff}y' if coeffs[1] != 0 else (
+684            '' if x_str != '' else '0')
+685        return f'{x_str}{op}{y_str} = {coeffs[2]}'
+686
+687    problem = f"Given ${coeffToFuncString(new_c1)}$ and ${coeffToFuncString(new_c2)}$, solve for $x$ and $y$."
+688    solution = f"$x = {x}$, $y = {y}$"
+689    return problem, solution
+690    # Add random (non-zero) multiple of equations to each other
+691
+692
+693def vector_cross(min_val=-20, max_val=20):
+694    r"""Cross product of 2 vectors
+695
+696    | Ex. Problem | Ex. Solution |
+697    | --- | --- |
+698    | $[-1, -4, 10] \times [-11, 1, -16] = $ | $[54, -126, -45]$ |
+699    """
+700    a = [random.randint(min_val, max_val) for _ in range(3)]
+701    b = [random.randint(min_val, max_val) for _ in range(3)]
+702    c = [
+703        a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2],
+704        a[0] * b[1] - a[1] * b[0]
+705    ]
+706
+707    problem = rf"${a} \times {b} = $"
+708    solution = f"${c}$"
+709    return problem, solution
+710
+711
+712def vector_dot(min_val=-20, max_val=20):
+713    r"""Dot product of 2 vectors
+714
+715    | Ex. Problem | Ex. Solution |
+716    | --- | --- |
+717    | $[12, -9, -8]\cdot[-9, 8, 1]=$ | $-188$ |
+718    """
+719    a = [random.randint(min_val, max_val) for i in range(3)]
+720    b = [random.randint(min_val, max_val) for i in range(3)]
+721    c = a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
+722
+723    problem = rf'${a}\cdot{b}=$'
+724    solution = f'${c}$'
+725    return problem, solution
+
+ + +
+
+ +
+ + def + basic_algebra(max_variable=10): + + + +
+ +
 9def basic_algebra(max_variable=10):
+10    r"""Basic Algebra
+11
+12    | Ex. Problem | Ex. Solution |
+13    | --- | --- |
+14    | $1x + 5 = 5$ | $0$ |
+15    """
+16    a = random.randint(1, max_variable)
+17    b = random.randint(1, max_variable)
+18    c = random.randint(b, max_variable)
+19
+20    # calculate gcd
+21    def calculate_gcd(x, y):
+22        while (y):
+23            x, y = y, x % y
+24        return x
+25
+26    i = calculate_gcd((c - b), a)
+27    x = f"{(c - b)//i}/{a//i}"
+28
+29    if (c - b == 0):
+30        x = "0"
+31    elif a == 1 or a == i:
+32        x = f"{c - b}"
+33
+34    problem = f"${a}x + {b} = {c}$"
+35    solution = f"${x}$"
+36    return problem, solution
+
+ + +

Basic Algebra

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$1x + 5 = 5$$0$
+
+ + +
+
+ +
+ + def + combine_like_terms(max_coef=10, max_exp=20, max_terms=10): + + + +
+ +
39def combine_like_terms(max_coef=10, max_exp=20, max_terms=10):
+40    r"""Combine Like Terms
+41
+42    | Ex. Problem | Ex. Solution |
+43    | --- | --- |
+44    | $6x^{9} + 3x^{2} + 5x^{19} + 3x^{17}$ | $3x^{2} + 6x^{9} + 3x^{17} + 5x^{19}$ |
+45    """
+46    numTerms = random.randint(1, max_terms)
+47
+48    coefs = [random.randint(1, max_coef) for _ in range(numTerms)]
+49    exponents = [random.randint(1, max(max_exp - 1, 2))
+50                 for _ in range(numTerms)]
+51
+52    problem = " + ".join([f"{coefs[i]}x^{{{exponents[i]}}}" for i in range(numTerms)])
+53    d = {}
+54    for i in range(numTerms):
+55        if exponents[i] in d:
+56            d[exponents[i]] += coefs[i]
+57        else:
+58            d[exponents[i]] = coefs[i]
+59    solution = " + ".join([f"{d[k]}x^{{{k}}}" for k in sorted(d)])
+60
+61    return f'${problem}$', f'${solution}$'
+
+ + +

Combine Like Terms

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$6x^{9} + 3x^{2} + 5x^{19} + 3x^{17}$$3x^{2} + 6x^{9} + 3x^{17} + 5x^{19}$
+
+ + +
+
+ +
+ + def + complex_quadratic(prob_type=0, max_range=10): + + + +
+ +
 64def complex_quadratic(prob_type=0, max_range=10):
+ 65    r"""Complex Quadratic Equation
+ 66
+ 67    | Ex. Problem | Ex. Solution |
+ 68    | --- | --- |
+ 69    | Find the roots of given Quadratic Equation $x^2 + 8x + 8 = 0$ | $((-1.172, -6.828)) = (\frac{-8 + \sqrt{32}}{2*1}, (\frac{-8 - \sqrt{32}}{2*1})$ |
+ 70    """
+ 71    if prob_type < 0 or prob_type > 1:
+ 72        print("prob_type not supported")
+ 73        print("prob_type = 0 for real roots problems ")
+ 74        print("prob_tpye = 1 for imaginary roots problems")
+ 75        return None
+ 76    if prob_type == 0:
+ 77        d = -1
+ 78        while d < 0:
+ 79            a = random.randrange(1, max_range)
+ 80            b = random.randrange(1, max_range)
+ 81            c = random.randrange(1, max_range)
+ 82
+ 83            d = (b**2 - 4 * a * c)
+ 84    else:
+ 85        d = 0
+ 86        while d >= 0:
+ 87            a = random.randrange(1, max_range)
+ 88            b = random.randrange(1, max_range)
+ 89            c = random.randrange(1, max_range)
+ 90
+ 91            d = (b**2 - 4 * a * c)
+ 92
+ 93    eq = ''
+ 94
+ 95    if a == 1:
+ 96        eq += 'x^2 + '
+ 97    else:
+ 98        eq += str(a) + 'x^2 + '
+ 99
+100    if b == 1:
+101        eq += 'x + '
+102    else:
+103        eq += str(b) + 'x + '
+104
+105    eq += str(c) + ' = 0'
+106
+107    problem = f'Find the roots of given Quadratic Equation ${eq}$'
+108
+109    if d < 0:
+110        sqrt_d = (-d)**0.5
+111
+112        if sqrt_d - int(sqrt_d) == 0:
+113            sqrt_d = int(sqrt_d)
+114            solution = rf'(\frac{{{-b} + {sqrt_d}i}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}i}}{{2*{a}}})'
+115        else:
+116            solution = rf'(\frac{{{-b} + \sqrt{{{-d}}}i}}{{2*{a}}}, \frac{{{-b} - \sqrt{{{-d}}}i}}{{2*{a}}})'
+117
+118        return problem, solution
+119
+120    else:
+121        s_root1 = round((-b + (d)**0.5) / (2 * a), 3)
+122        s_root2 = round((-b - (d)**0.5) / (2 * a), 3)
+123
+124        sqrt_d = (d)**0.5
+125
+126        if sqrt_d - int(sqrt_d) == 0:
+127            sqrt_d = int(sqrt_d)
+128            g_sol = rf'(\frac{{{-b} + {sqrt_d}}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}}}{{2*{a}}})'
+129        else:
+130            g_sol = rf'(\frac{{{-b} + \sqrt{{{d}}}}}{{2*{a}}}, (\frac{{{-b} - \sqrt{{{d}}}}}{{2*{a}}})'
+131
+132        solution = f'$({s_root1, s_root2}) = {g_sol}$'
+133
+134        return problem, solution
+
+ + +

Complex Quadratic Equation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the roots of given Quadratic Equation $x^2 + 8x + 8 = 0$$((-1.172, -6.828)) = (\frac{-8 + \sqrt{32}}{21}, (\frac{-8 - \sqrt{32}}{21})$
+
+ + +
+
+ +
+ + def + compound_interest(max_principle=10000, max_rate=10, max_time=10): + + + +
+ +
137def compound_interest(max_principle=10000,
+138                      max_rate=10,
+139                      max_time=10):
+140    r"""Compound Interest
+141
+142    | Ex. Problem | Ex. Solution |
+143    | --- | --- |
+144    | Compound interest for a principle amount of $2679$ dollars, $9$% rate of interest and for a time period of $3$ years is $=$ | $3469.38$ |
+145    """
+146    p = random.randint(1000, max_principle)
+147    r = random.randint(1, max_rate)
+148    n = random.randint(1, max_time)
+149    a = round(p * (1 + r / 100)**n, 2)
+150
+151    problem = f"Compound interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${n}$ years is $=$"
+152    return problem, f'${a}$'
+
+ + +

Compound Interest

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Compound interest for a principle amount of $2679$ dollars, $9$% rate of interest and for a time period of $3$ years is $=$$3469.38$
+
+ + +
+
+ +
+ + def + distance_two_points(max_val_xy=20, min_val_xy=-20): + + + +
+ +
155def distance_two_points(max_val_xy=20, min_val_xy=-20):
+156    r"""Distance between 2 points
+157
+158    | Ex. Problem | Ex. Solution |
+159    | --- | --- |
+160    | Find the distance between $(-19, -6)$ and $(15, -16)$ | $\sqrt{1256}$ |
+161    """
+162    point1X = random.randint(min_val_xy, max_val_xy + 1)
+163    point1Y = random.randint(min_val_xy, max_val_xy + 1)
+164    point2X = random.randint(min_val_xy, max_val_xy + 1)
+165    point2Y = random.randint(min_val_xy, max_val_xy + 1)
+166
+167    distanceSq = (point1X - point2X) ** 2 + (point1Y - point2Y) ** 2
+168
+169    solution = rf"$\sqrt{{{distanceSq}}}$"
+170    problem = f"Find the distance between $({point1X}, {point1Y})$ and $({point2X}, {point2Y})$"
+171    return problem, solution
+
+ + +

Distance between 2 points

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the distance between $(-19, -6)$ and $(15, -16)$$\sqrt{1256}$
+
+ + +
+
+ +
+ + def + expanding(range_x1=10, range_x2=10, range_a=10, range_b=10): + + + +
+ +
174def expanding(range_x1=10,
+175              range_x2=10,
+176              range_a=10,
+177              range_b=10):
+178    r"""Expanding Factored Binomial
+179
+180    | Ex. Problem | Ex. Solution |
+181    | --- | --- |
+182    |$(x-6)(-3x-3)$ | $x^2+18x+18$ |
+183    """
+184    x1 = random.randint(-range_x1, range_x1)
+185    x2 = random.randint(-range_x2, range_x2)
+186    a = random.randint(-range_a, range_a)
+187    b = random.randint(-range_b, range_b)
+188
+189    def intParser(z):
+190        if (z > 0):
+191            return f"+{z}"
+192        elif (z < 0):
+193            return f"-{abs(z)}"
+194        else:
+195            return ""
+196
+197    c1 = intParser(a * b)
+198    c2 = intParser((a * x2) + (b * x1))
+199    c3 = intParser(x1 * x2)
+200
+201    p1 = intParser(a)
+202    p2 = intParser(x1)
+203    p3 = intParser(b)
+204    p4 = intParser(x2)
+205
+206    if p1 == "+1":
+207        p1 = ""
+208    elif len(p1) > 0 and p1[0] == "+":
+209        p1 = p1[1:]
+210    if p3 == "+1":
+211        p3 = ""
+212    elif p3[0] == "+":
+213        p3 = p3[1:]
+214
+215    if c1 == "+1":
+216        c1 = ""
+217    elif len(c1) > 0 and c1[0] == "+":
+218        c1 = c1[1:]  # Cuts off the plus for readability
+219    if c2 == "+1":
+220        c2 = ""
+221
+222    problem = f"$({p1}x{p2})({p3}x{p4})$"
+223    solution = f"${c1}x^2{c2}x{c3}$"
+224    return problem, solution
+
+ + +

Expanding Factored Binomial

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$(x-6)(-3x-3)$$x^2+18x+18$
+
+ + +
+
+ +
+ + def + factoring(range_x1=10, range_x2=10): + + + +
+ +
227def factoring(range_x1=10, range_x2=10):
+228    r"""Factoring Quadratic
+229    Given a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2)
+230
+231    | Ex. Problem | Ex. Solution |
+232    | --- | --- |
+233    | $x^2+2x-24$ | $(x-4)(x+6)$ |
+234    """
+235    x1 = random.randint(-range_x1, range_x1)
+236    x2 = random.randint(-range_x2, range_x2)
+237
+238    def intParser(z):
+239        if (z > 0):
+240            return f"+{z}"
+241        elif (z < 0):
+242            return f"-{abs(z)}"
+243        else:
+244            return ""
+245
+246    b = intParser(x1 + x2)
+247    c = intParser(x1 * x2)
+248
+249    if b == "+1":
+250        b = "+"
+251    if b == "":
+252        problem = f"x^2{c}"
+253    else:
+254        problem = f"x^2{b}x{c}"
+255
+256    x1 = intParser(x1)
+257    x2 = intParser(x2)
+258    solution = f"$(x{x1})(x{x2})$"
+259    return f"${problem}$", solution
+
+ + +

Factoring Quadratic +Given a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2)

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$x^2+2x-24$$(x-4)(x+6)$
+
+ + +
+
+ +
+ + def + int_matrix_22_determinant(max_matrix_val=100): + + + +
+ +
262def int_matrix_22_determinant(max_matrix_val=100):
+263    r"""Determinant to 2x2 Matrix
+264
+265    | Ex. Problem | Ex. Solution |
+266    | --- | --- |
+267    | $\det \begin{bmatrix} 88 & 40 \\\ 9 & 91 \end{bmatrix}= $ | $7648$ |
+268    """
+269    a = random.randint(0, max_matrix_val)
+270    b = random.randint(0, max_matrix_val)
+271    c = random.randint(0, max_matrix_val)
+272    d = random.randint(0, max_matrix_val)
+273
+274    determinant = a * d - b * c
+275    lst = [[a, b], [c, d]]
+276
+277    problem = rf"$\det {bmatrix(lst)}= $"
+278    solution = f"${determinant}$"
+279    return problem, solution
+
+ + +

Determinant to 2x2 Matrix

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\det \begin{bmatrix} 88 & 40 \\ 9 & 91 \end{bmatrix}= $$7648$
+
+ + +
+
+ +
+ + def + intersection_of_two_lines( min_m=-10, max_m=10, min_b=-10, max_b=10, min_denominator=1, max_denominator=6): + + + +
+ +
282def intersection_of_two_lines(min_m=-10,
+283                              max_m=10,
+284                              min_b=-10,
+285                              max_b=10,
+286                              min_denominator=1,
+287                              max_denominator=6):
+288    r"""Intersection of two lines
+289
+290    | Ex. Problem | Ex. Solution |
+291    | --- | --- |
+292    | Find the point of intersection of the two lines: $y = \frac{-2}{6}x + 3$ and $y = \frac{3}{6}x - 8$ | $(\frac{66}{5}, \frac{-7}{5})$ |
+293    """
+294    def generateEquationString(m, b):
+295        """
+296        Generates an equation given the slope and intercept.
+297        It handles cases where m is fractional.
+298        It also ensures that we don't have weird signs such as y = mx + -b.
+299        """
+300        if m[0] == 0:
+301            m = 0
+302        elif abs(m[0]) == abs(m[1]):
+303            m = m[0] // m[1]
+304        elif m[1] == 1:
+305            m = m[0]
+306        else:
+307            m = rf"\frac{{{m[0]}}}{{{m[1]}}}"
+308        base = "y ="
+309        if m != 0:
+310            if m == 1:
+311                base = f"{base} x"
+312            elif m == -1:
+313                base = f"{base} -x"
+314            else:
+315                base = f"{base} {m}x"
+316        if b > 0:
+317            if m == 0:
+318                return f"{base} {b}"
+319            else:
+320                return f"{base} + {b}"
+321        elif b < 0:
+322            if m == 0:
+323                return f"{base} -{b * -1}"
+324            else:
+325                return f"{base} - {b * -1}"
+326        else:
+327            if m == 0:
+328                return f"{base} 0"
+329            else:
+330                return base
+331
+332    def fractionToString(x):
+333        """
+334        Converts the given fractions.Fraction into a string.
+335        """
+336        if x.denominator == 1:
+337            x = x.numerator
+338        else:
+339            x = rf"\frac{{{x.numerator}}}{{{x.denominator}}}"
+340        return x
+341
+342    m1 = (random.randint(min_m,
+343                         max_m), random.randint(min_denominator, max_denominator))
+344    m2 = (random.randint(min_m,
+345                         max_m), random.randint(min_denominator, max_denominator))
+346
+347    b1 = random.randint(min_b, max_b)
+348    b2 = random.randint(min_b, max_b)
+349
+350    eq1 = generateEquationString(m1, b1)
+351    eq2 = generateEquationString(m2, b2)
+352
+353    problem = f"Find the point of intersection of the two lines: ${eq1}$ and ${eq2}$"
+354
+355    m1 = fractions.Fraction(*m1)
+356    m2 = fractions.Fraction(*m2)
+357    # if m1 == m2 then the slopes are equal
+358    # This can happen if both line are the same
+359    # Or if they are parallel
+360    # In either case there is no intersection
+361
+362    if m1 == m2:
+363        solution = "No Solution"
+364    else:
+365        intersection_x = (b1 - b2) / (m2 - m1)
+366        intersection_y = ((m2 * b1) - (m1 * b2)) / (m2 - m1)
+367        solution = f"$({fractionToString(intersection_x)}, {fractionToString(intersection_y)})$"
+368
+369    return problem, solution
+
+ + +

Intersection of two lines

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the point of intersection of the two lines: $y = \frac{-2}{6}x + 3$ and $y = \frac{3}{6}x - 8$$(\frac{66}{5}, \frac{-7}{5})$
+
+ + +
+
+ +
+ + def + invert_matrix( square_matrix_dimension=3, max_matrix_element=99, only_integer_elements_in_inverted_matrixe=True): + + + +
+ +
372def invert_matrix(square_matrix_dimension=3,
+373                  max_matrix_element=99,
+374                  only_integer_elements_in_inverted_matrixe=True):
+375    r"""Invert Matrix
+376
+377    | Ex. Problem | Ex. Solution |
+378    | --- | --- |
+379    | Inverse of Matrix $\begin{bmatrix} 4 & 1 & 4 \\\ 5 & 1 & 5 \\\ 12 & 3 & 13 \end{bmatrix}$ is: | $\begin{bmatrix} 2 & 1 & -1 \\\ 5 & -4 & 0 \\\ -3 & 0 & 1 \end{bmatrix}$ |
+380    """
+381    if only_integer_elements_in_inverted_matrixe is True:
+382        isItOk = False
+383        Mat = list()
+384        while (isItOk is False):
+385            Mat = list()
+386            for i in range(0, square_matrix_dimension):
+387                z = list()
+388                for j in range(0, square_matrix_dimension):
+389                    z.append(0)
+390                z[i] = 1
+391                Mat.append(z)
+392            MaxAllowedMatrixElement = math.ceil(
+393                pow(max_matrix_element, 1 / (square_matrix_dimension)))
+394            randomlist = random.sample(range(0, MaxAllowedMatrixElement + 1),
+395                                       square_matrix_dimension)
+396
+397            for i in range(0, square_matrix_dimension):
+398                if i == square_matrix_dimension - 1:
+399                    Mat[0] = [
+400                        j + (k * randomlist[i])
+401                        for j, k in zip(Mat[0], Mat[i])
+402                    ]
+403                else:
+404                    Mat[i + 1] = [
+405                        j + (k * randomlist[i])
+406                        for j, k in zip(Mat[i + 1], Mat[i])
+407                    ]
+408
+409            for i in range(1, square_matrix_dimension - 1):
+410                Mat[i] = [
+411                    sum(i) for i in zip(Mat[square_matrix_dimension - 1], Mat[i])
+412                ]
+413
+414            isItOk = True
+415            for i in Mat:
+416                for j in i:
+417                    if j > max_matrix_element:
+418                        isItOk = False
+419                        break
+420                if isItOk is False:
+421                    break
+422
+423        random.shuffle(Mat)
+424        Mat = sympy.Matrix(Mat)
+425        Mat = sympy.Matrix.transpose(Mat)
+426        Mat = Mat.tolist()
+427        random.shuffle(Mat)
+428        Mat = sympy.Matrix(Mat)
+429        Mat = sympy.Matrix.transpose(Mat)
+430
+431    else:
+432        randomlist = list(sympy.primerange(0, max_matrix_element + 1))
+433        plist = random.sample(randomlist, square_matrix_dimension)
+434        randomlist = random.sample(
+435            range(0, max_matrix_element + 1),
+436            square_matrix_dimension * square_matrix_dimension)
+437        randomlist = list(set(randomlist) - set(plist))
+438        n_list = random.sample(
+439            randomlist, square_matrix_dimension * (square_matrix_dimension - 1))
+440        Mat = list()
+441        for i in range(0, square_matrix_dimension):
+442            z = list()
+443            z.append(plist[i])
+444            for j in range(0, square_matrix_dimension - 1):
+445                z.append(n_list[(i * square_matrix_dimension) + j - i])
+446            random.shuffle(z)
+447            Mat.append(z)
+448        Mat = sympy.Matrix(Mat)
+449
+450    problem = 'Inverse of Matrix $' + bmatrix(Mat.tolist()) + '$ is:'
+451    solution = f'${bmatrix(sympy.Matrix.inv(Mat).tolist())}$'
+452    return problem, solution
+
+ + +

Invert Matrix

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Inverse of Matrix $\begin{bmatrix} 4 & 1 & 4 \\ 5 & 1 & 5 \\ 12 & 3 & 13 \end{bmatrix}$ is:$\begin{bmatrix} 2 & 1 & -1 \\ 5 & -4 & 0 \\ -3 & 0 & 1 \end{bmatrix}$
+
+ + +
+
+ +
+ + def + linear_equations(n=2, var_range=20, coeff_range=20): + + + +
+ +
455def linear_equations(n=2, var_range=20, coeff_range=20):
+456    r"""Linear Equations
+457
+458    | Ex. Problem | Ex. Solution |
+459    | --- | --- |
+460    | Given the equations $10x + -20y = 310$ and $-16x + -17y = 141$, solve for $x$ and $y$ | $x = 5$, $y = -13$ |
+461    """
+462    if n > 10:
+463        print("[!] n cannot be greater than 10")
+464        return None, None
+465
+466    vars = ['x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][:n]
+467    soln = [random.randint(-var_range, var_range) for i in range(n)]
+468    problem = list()
+469    solution = "$, $".join(
+470        ["{} = {}".format(vars[i], soln[i]) for i in range(n)])
+471
+472    for _ in range(n):
+473        coeff = [random.randint(-coeff_range, coeff_range) for i in range(n)]
+474        res = sum([coeff[i] * soln[i] for i in range(n)])
+475        prob = [
+476            "{}{}".format(coeff[i], vars[i]) if coeff[i] != 0 else ""
+477            for i in range(n)
+478        ]
+479
+480        while "" in prob:
+481            prob.remove("")
+482        prob = " + ".join(prob) + " = " + str(res)
+483        problem.append(prob)
+484
+485    # problem = "\n".join(problem)
+486    problem = "$ and $".join(problem)
+487
+488    return f'Given the equations ${problem}$, solve for $x$ and $y$', f'${solution}$'
+
+ + +

Linear Equations

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Given the equations $10x + -20y = 310$ and $-16x + -17y = 141$, solve for $x$ and $y$$x = 5$, $y = -13$
+
+ + +
+
+ +
+ + def + log(max_base=3, max_val=8): + + + +
+ +
491def log(max_base=3, max_val=8):
+492    r"""Logarithm
+493
+494    | Ex. Problem | Ex. Solution |
+495    | --- | --- |
+496    | $log_{3}(243)=$ | $5$ |
+497    """
+498    a = random.randint(1, max_val)
+499    b = random.randint(2, max_base)
+500    c = pow(b, a)
+501
+502    problem = f'$log_{{{b}}}({c})=$'
+503    solution = f'${a}$'
+504    return problem, solution
+
+ + +

Logarithm

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$log_{3}(243)=$$5$
+
+ + +
+
+ +
+ + def + matrix_multiplication(max_val=100, max_dim=10): + + + +
+ +
507def matrix_multiplication(max_val=100, max_dim=10):
+508    r"""Multiply Two Matrices
+509
+510    | Ex. Problem | Ex. Solution |
+511    | --- | --- |
+512    | Multiply $\begin{bmatrix} 15 & 72 \\\ 64 & -20 \\\ 18 & 59 \\\ -21 & -55 \\\ 20 & -12 \\\ -75 & -42 \\\ 47 & 89 \\\ -53 & 27 \\\ -56 & 44 \end{bmatrix}$ and $\begin{bmatrix} 49 & -2 & 68 & -28 \\\ 49 & 6 & 83 & 42 \end{bmatrix}$ | $\begin{bmatrix} 4263 & 402 & 6996 & 2604 \\\ 2156 & -248 & 2692 & -2632 \\\ 3773 & 318 & 6121 & 1974 \\\ -3724 & -288 & -5993 & -1722 \\\ 392 & -112 & 364 & -1064 \\\ -5733 & -102 & -8586 & 336 \\\ 6664 & 440 & 10583 & 2422 \\\ -1274 & 268 & -1363 & 2618 \\\ -588 & 376 & -156 & 3416 \end{bmatrix}$ |
+513    """
+514    m = random.randint(2, max_dim)
+515    n = random.randint(2, max_dim)
+516    k = random.randint(2, max_dim)
+517
+518    # generate matrices a and b
+519    a = [[random.randint(-max_val, max_val) for _ in range(n)]
+520         for _ in range(m)]
+521    b = [[random.randint(-max_val, max_val) for _ in range(k)]
+522         for _ in range(n)]
+523
+524    res = []
+525    for r in range(m):
+526        res.append([])
+527        for c in range(k):
+528            temp = 0
+529            for t in range(n):
+530                temp += a[r][t] * b[t][c]
+531            res[r].append(temp)
+532
+533    problem = f"Multiply ${bmatrix(a)}$ and ${bmatrix(b)}$"
+534    solution = f'${bmatrix(res)}$'
+535    return problem, solution
+
+ + +

Multiply Two Matrices

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Multiply $\begin{bmatrix} 15 & 72 \\ 64 & -20 \\ 18 & 59 \\ -21 & -55 \\ 20 & -12 \\ -75 & -42 \\ 47 & 89 \\ -53 & 27 \\ -56 & 44 \end{bmatrix}$ and $\begin{bmatrix} 49 & -2 & 68 & -28 \\ 49 & 6 & 83 & 42 \end{bmatrix}$$\begin{bmatrix} 4263 & 402 & 6996 & 2604 \\ 2156 & -248 & 2692 & -2632 \\ 3773 & 318 & 6121 & 1974 \\ -3724 & -288 & -5993 & -1722 \\ 392 & -112 & 364 & -1064 \\ -5733 & -102 & -8586 & 336 \\ 6664 & 440 & 10583 & 2422 \\ -1274 & 268 & -1363 & 2618 \\ -588 & 376 & -156 & 3416 \end{bmatrix}$
+
+ + +
+
+ +
+ + def + midpoint_of_two_points(max_value=20): + + + +
+ +
538def midpoint_of_two_points(max_value=20):
+539    r"""Midpoint of two points
+540
+541    | Ex. Problem | Ex. Solution |
+542    | --- | --- |
+543    | The midpoint of $(-8,10)$ and $(18,0) = $ | $(5.0,5.0)$ |
+544    """
+545    x1 = random.randint(-20, max_value)
+546    y1 = random.randint(-20, max_value)
+547    x2 = random.randint(-20, max_value)
+548    y2 = random.randint(-20, max_value)
+549    xm = (x1 + x2) / 2
+550    ym = (y1 + y2) / 2
+551
+552    problem = f"The midpoint of $({x1},{y1})$ and $({x2},{y2}) = $"
+553    solution = f"$({xm},{ym})$"
+554    return problem, solution
+
+ + +

Midpoint of two points

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The midpoint of $(-8,10)$ and $(18,0) = $$(5.0,5.0)$
+
+ + +
+
+ +
+ + def + multiply_complex_numbers(min_real_imaginary_num=-20, max_real_imaginary_num=20): + + + +
+ +
557def multiply_complex_numbers(min_real_imaginary_num=-20,
+558                             max_real_imaginary_num=20):
+559    r"""Multiplication of 2 complex numbers
+560
+561    | Ex. Problem | Ex. Solution |
+562    | --- | --- |
+563    | $(14+18j) * (14+15j) = $ | $(-74+462j)$ |
+564    """
+565    num1 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+566                   random.randint(min_real_imaginary_num, max_real_imaginary_num))
+567    num2 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+568                   random.randint(min_real_imaginary_num, max_real_imaginary_num))
+569    product = num1 * num2
+570
+571    problem = f"${num1} * {num2} = $"
+572    solution = f'${product}$'
+573    return problem, solution
+
+ + +

Multiplication of 2 complex numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$(14+18j) * (14+15j) = $$(-74+462j)$
+
+ + +
+
+ +
+ + def + multiply_int_to_22_matrix(max_matrix_val=10, max_res=100): + + + +
+ +
576def multiply_int_to_22_matrix(max_matrix_val=10, max_res=100):
+577    r"""Multiply Integer to 2x2 Matrix
+578
+579    | Ex. Problem | Ex. Solution |
+580    | --- | --- |
+581    | $5 * \begin{bmatrix} 1 & 0 \\\ 2 & 9 \end{bmatrix} =$ | $\begin{bmatrix} 5 & 0 \\\ 10 & 45 \end{bmatrix}$ |
+582    """
+583    a = random.randint(0, max_matrix_val)
+584    b = random.randint(0, max_matrix_val)
+585    c = random.randint(0, max_matrix_val)
+586    d = random.randint(0, max_matrix_val)
+587
+588    constant = random.randint(0, int(max_res / max(a, b, c, d)))
+589
+590    a1 = a * constant
+591    b1 = b * constant
+592    c1 = c * constant
+593    d1 = d * constant
+594    lst = [[a, b], [c, d]]
+595    lst1 = [[a1, b1], [c1, d1]]
+596
+597    problem = f'${constant} * {bmatrix(lst)} =$'
+598    solution = f'${bmatrix(lst1)}$'
+599    return problem, solution
+
+ + +

Multiply Integer to 2x2 Matrix

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$5 * \begin{bmatrix} 1 & 0 \\ 2 & 9 \end{bmatrix} =$$\begin{bmatrix} 5 & 0 \\ 10 & 45 \end{bmatrix}$
+
+ + +
+
+ +
+ + def + quadratic_equation(max_val=100): + + + +
+ +
602def quadratic_equation(max_val=100):
+603    r"""Quadratic Equation
+604
+605    | Ex. Problem | Ex. Solution |
+606    | --- | --- |
+607    | What are the zeros of the quadratic equation $22x^2+137x+25=0$ | ${-0.19, -6.04}$ |
+608    """
+609    a = random.randint(1, max_val)
+610    c = random.randint(1, max_val)
+611    b = random.randint(
+612        round(math.sqrt(4 * a * c)) + 1, round(math.sqrt(4 * max_val * max_val)))
+613    D = math.sqrt(b * b - 4 * a * c)
+614    res = {round((-b + D) / (2 * a), 2), round((-b - D) / (2 * a), 2)}
+615
+616    problem = f"What are the zeros of the quadratic equation ${a}x^2+{b}x+{c}=0$"
+617    solution = f'${res}$'
+618    return problem, solution
+
+ + +

Quadratic Equation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What are the zeros of the quadratic equation $22x^2+137x+25=0$${-0.19, -6.04}$
+
+ + +
+
+ +
+ + def + simple_interest(max_principle=10000, max_rate=10, max_time=10): + + + +
+ +
621def simple_interest(max_principle=10000,
+622                    max_rate=10,
+623                    max_time=10):
+624    r"""Simple Interest
+625
+626    | Ex. Problem | Ex. Solution |
+627    | --- | --- |
+628    | Simple interest for a principle amount of $7217$ dollars, $3$% rate of interest and for a time period of $10$ years is $=$ | $2165.1$ |
+629    """
+630    p = random.randint(1000, max_principle)
+631    r = random.randint(1, max_rate)
+632    t = random.randint(1, max_time)
+633    s = round((p * r * t) / 100, 2)
+634
+635    problem = f"Simple interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${t}$ years is $=$ "
+636    solution = f'${s}$'
+637    return problem, solution
+
+ + +

Simple Interest

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Simple interest for a principle amount of $7217$ dollars, $3$% rate of interest and for a time period of $10$ years is $=$$2165.1$
+
+ + +
+
+ +
+ + def + system_of_equations(range_x=10, range_y=10, coeff_mult_range=10): + + + +
+ +
640def system_of_equations(range_x=10,
+641                        range_y=10,
+642                        coeff_mult_range=10):
+643    r"""Solve a System of Equations in R^2
+644
+645    | Ex. Problem | Ex. Solution |
+646    | --- | --- |
+647    | Given $-x + 5y = -28$ and $9x + 2y = 64$, solve for $x$ and $y$. | $x = 8$, $y = -4$ |
+648    """
+649    # Generate solution point first
+650    x = random.randint(-range_x, range_x)
+651    y = random.randint(-range_y, range_y)
+652    # Start from reduced echelon form (coeffs 1)
+653    c1 = [1, 0, x]
+654    c2 = [0, 1, y]
+655
+656    def randNonZero():
+657        return random.choice(
+658            [i for i in range(-coeff_mult_range, coeff_mult_range) if i != 0])
+659
+660    # Add random (non-zero) multiple of equations (rows) to each other
+661    c1_mult = randNonZero()
+662    c2_mult = randNonZero()
+663    new_c1 = [c1[i] + c1_mult * c2[i] for i in range(len(c1))]
+664    new_c2 = [c2[i] + c2_mult * c1[i] for i in range(len(c2))]
+665    # For extra randomness, now add random (non-zero) multiples of original rows
+666    # to themselves
+667    c1_mult = randNonZero()
+668    c2_mult = randNonZero()
+669    new_c1 = [new_c1[i] + c1_mult * c1[i] for i in range(len(c1))]
+670    new_c2 = [new_c2[i] + c2_mult * c2[i] for i in range(len(c2))]
+671
+672    def coeffToFuncString(coeffs):
+673        # lots of edge cases for perfect formatting!
+674        x_sign = '-' if coeffs[0] < 0 else ''
+675        # No redundant 1s
+676        x_coeff = str(abs(coeffs[0])) if abs(coeffs[0]) != 1 else ''
+677        # If x coeff is 0, dont include x
+678        x_str = f'{x_sign}{x_coeff}x' if coeffs[0] != 0 else ''
+679        # if x isn't included and y is positive, dont include operator
+680        op = ' - ' if coeffs[1] < 0 else (' + ' if x_str != '' else '')
+681        # No redundant 1s
+682        y_coeff = abs(coeffs[1]) if abs(coeffs[1]) != 1 else ''
+683        # Don't include if 0, unless x is also 0 (probably never happens)
+684        y_str = f'{y_coeff}y' if coeffs[1] != 0 else (
+685            '' if x_str != '' else '0')
+686        return f'{x_str}{op}{y_str} = {coeffs[2]}'
+687
+688    problem = f"Given ${coeffToFuncString(new_c1)}$ and ${coeffToFuncString(new_c2)}$, solve for $x$ and $y$."
+689    solution = f"$x = {x}$, $y = {y}$"
+690    return problem, solution
+691    # Add random (non-zero) multiple of equations to each other
+
+ + +

Solve a System of Equations in R^2

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Given $-x + 5y = -28$ and $9x + 2y = 64$, solve for $x$ and $y$.$x = 8$, $y = -4$
+
+ + +
+
+ +
+ + def + vector_cross(min_val=-20, max_val=20): + + + +
+ +
694def vector_cross(min_val=-20, max_val=20):
+695    r"""Cross product of 2 vectors
+696
+697    | Ex. Problem | Ex. Solution |
+698    | --- | --- |
+699    | $[-1, -4, 10] \times [-11, 1, -16] = $ | $[54, -126, -45]$ |
+700    """
+701    a = [random.randint(min_val, max_val) for _ in range(3)]
+702    b = [random.randint(min_val, max_val) for _ in range(3)]
+703    c = [
+704        a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2],
+705        a[0] * b[1] - a[1] * b[0]
+706    ]
+707
+708    problem = rf"${a} \times {b} = $"
+709    solution = f"${c}$"
+710    return problem, solution
+
+ + +

Cross product of 2 vectors

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$[-1, -4, 10] \times [-11, 1, -16] = $$[54, -126, -45]$
+
+ + +
+
+ +
+ + def + vector_dot(min_val=-20, max_val=20): + + + +
+ +
713def vector_dot(min_val=-20, max_val=20):
+714    r"""Dot product of 2 vectors
+715
+716    | Ex. Problem | Ex. Solution |
+717    | --- | --- |
+718    | $[12, -9, -8]\cdot[-9, 8, 1]=$ | $-188$ |
+719    """
+720    a = [random.randint(min_val, max_val) for i in range(3)]
+721    b = [random.randint(min_val, max_val) for i in range(3)]
+722    c = a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
+723
+724    problem = rf'${a}\cdot{b}=$'
+725    solution = f'${c}$'
+726    return problem, solution
+
+ + +

Dot product of 2 vectors

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$[12, -9, -8]\cdot[-9, 8, 1]=$$-188$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/basic_math.html b/docs/mathgenerator/basic_math.html new file mode 100644 index 0000000..49d3fea --- /dev/null +++ b/docs/mathgenerator/basic_math.html @@ -0,0 +1,1809 @@ + + + + + + + mathgenerator.basic_math API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.basic_math

+ + + + + + +
  1import random
+  2
+  3
+  4def absolute_difference(max_a=100, max_b=100):
+  5    r"""Absolute difference between two numbers
+  6
+  7    | Ex. Problem | Ex. Solution |
+  8    | --- | --- |
+  9    | $|22-34|=$ | $12$ |
+ 10    """
+ 11    a = random.randint(-1 * max_a, max_a)
+ 12    b = random.randint(-1 * max_b, max_b)
+ 13    absDiff = abs(a - b)
+ 14
+ 15    return f'$|{a}-{b}|=$', f"${absDiff}$"
+ 16
+ 17
+ 18def addition(max_sum=99, max_addend=50):
+ 19    r"""Addition of two numbers
+ 20
+ 21    | Ex. Problem | Ex. Solution |
+ 22    | --- | --- |
+ 23    | $22+34=$ | $56$ |
+ 24    """
+ 25    if max_addend > max_sum:
+ 26        max_addend = max_sum
+ 27    a = random.randint(0, max_addend)
+ 28    # The highest value of b will be no higher than the max_sum minus the first number and no higher than the max_addend as well
+ 29    b = random.randint(0, min((max_sum - a), max_addend))
+ 30    c = a + b
+ 31
+ 32    problem = f'${a}+{b}=$'
+ 33    solution = f'${c}$'
+ 34    return problem, solution
+ 35
+ 36
+ 37def compare_fractions(max_val=10):
+ 38    r"""Compare Fractions
+ 39
+ 40    | Ex. Problem | Ex. Solution |
+ 41    | --- | --- |
+ 42    | Which symbol represents the comparison between $\frac{1}{2}$ and $\frac{3}{4}$? | $>$ |
+ 43    """
+ 44    a = random.randint(1, max_val)
+ 45    b = random.randint(1, max_val)
+ 46    c = random.randint(1, max_val)
+ 47    d = random.randint(1, max_val)
+ 48
+ 49    while (a == b):
+ 50        b = random.randint(1, max_val)
+ 51    while (c == d):
+ 52        d = random.randint(1, max_val)
+ 53
+ 54    first = a / b
+ 55    second = c / d
+ 56
+ 57    if (first > second):
+ 58        solution = ">"
+ 59    elif (first < second):
+ 60        solution = "<"
+ 61    else:
+ 62        solution = "="
+ 63
+ 64    problem = rf"Which symbol represents the comparison between $\frac{{{a}}}{{{b}}}$ and $\frac{{{c}}}{{{d}}}$?"
+ 65    return problem, solution
+ 66
+ 67
+ 68def cube_root(min_no=1, max_no=1000):
+ 69    r"""Cube Root
+ 70
+ 71    | Ex. Problem | Ex. Solution |
+ 72    | --- | --- |
+ 73    | What is the cube root of: $\sqrt[3]{125}=$ to 2 decimal places? | $5$ |
+ 74    """
+ 75    b = random.randint(min_no, max_no)
+ 76    a = b**(1 / 3)
+ 77
+ 78    return (rf"What is the cube root of: $\sqrt[3]{{{b}}}=$ to 2 decimal places?", f"${round(a, 2)}$")
+ 79
+ 80
+ 81def divide_fractions(max_val=10):
+ 82    r"""Divide Fractions
+ 83
+ 84    | Ex. Problem | Ex. Solution |
+ 85    | --- | --- |
+ 86    | $\frac{7}{9}\div\frac{4}{1}=$ | $\frac{7}{36}$ |
+ 87    """
+ 88    a = random.randint(1, max_val)
+ 89    b = random.randint(1, max_val)
+ 90
+ 91    while (a == b):
+ 92        b = random.randint(1, max_val)
+ 93
+ 94    c = random.randint(1, max_val)
+ 95    d = random.randint(1, max_val)
+ 96    while (c == d):
+ 97        d = random.randint(1, max_val)
+ 98
+ 99    def calculate_gcd(x, y):
+100        while (y):
+101            x, y = y, x % y
+102        return x
+103
+104    tmp_n = a * d
+105    tmp_d = b * c
+106
+107    gcd = calculate_gcd(tmp_n, tmp_d)
+108    sol_numerator = tmp_n // gcd
+109    sol_denominator = tmp_d // gcd
+110
+111    return rf'$\frac{{{a}}}{{{b}}}\div\frac{{{c}}}{{{d}}}=$', f'$\frac{{{sol_numerator}}}{{{sol_denominator}}}$'
+112
+113
+114def division(max_a=25, max_b=25):
+115    r"""Division
+116
+117    | Ex. Problem | Ex. Solution |
+118    | --- | --- |
+119    | $216\div24=$ | $9$ |
+120    """
+121    a = random.randint(1, max_a)
+122    b = random.randint(1, max_b)
+123
+124    divisor = a * b
+125    dividend = random.choice([a, b])
+126    quotient = int(divisor / dividend)
+127
+128    return rf'${divisor}\div{dividend}=$', f'${quotient}$'
+129
+130
+131def exponentiation(max_base=20, max_expo=10):
+132    r"""Exponentiation
+133
+134    | Ex. Problem | Ex. Solution |
+135    | --- | --- |
+136    | $9^{5}=$ | $8$ |
+137    """
+138    base = random.randint(1, max_base)
+139    expo = random.randint(1, max_expo)
+140
+141    return f'${base}^{{{expo}}}=$', f'${base**expo}$'
+142
+143
+144def factorial(max_input=6):
+145    r"""Factorial
+146
+147    | Ex. Problem | Ex. Solution |
+148    | --- | --- |
+149    | $4! =$ | $24$ |
+150    """
+151    a = random.randint(0, max_input)
+152    n = a
+153    b = 1
+154    while a != 1 and n > 0:
+155        b *= n
+156        n -= 1
+157
+158    return f'${a}! =$', f'${b}$'
+159
+160
+161def fraction_multiplication(max_val=10):
+162    r"""Fraction Multiplication
+163
+164    | Ex. Problem | Ex. Solution |
+165    | --- | --- |
+166    | $\frac{3}{10}\cdot\frac{6}{7}=$ | $\frac{9}{35}$ |
+167    """
+168    a = random.randint(1, max_val)
+169    b = random.randint(1, max_val)
+170    c = random.randint(1, max_val)
+171    d = random.randint(1, max_val)
+172
+173    while (a == b):
+174        b = random.randint(1, max_val)
+175
+176    while (c == d):
+177        d = random.randint(1, max_val)
+178
+179    def calculate_gcd(x, y):
+180        while (y):
+181            x, y = y, x % y
+182        return x
+183
+184    tmp_n = a * c
+185    tmp_d = b * d
+186
+187    gcd = calculate_gcd(tmp_n, tmp_d)
+188
+189    problem = rf"$\frac{{{a}}}{{{b}}}\cdot\frac{{{c}}}{{{d}}}=$"
+190    if (tmp_d == 1 or tmp_d == gcd):
+191        solution = rf"$\frac{{{tmp_n}}}{{{gcd}}}$"
+192    else:
+193        solution = rf"$\frac{{{tmp_n//gcd}}}{{{tmp_d//gcd}}}$"
+194    return problem, solution
+195
+196
+197def fraction_to_decimal(max_res=99, max_divid=99):
+198    r"""Fraction to Decimal
+199
+200    | Ex. Problem | Ex. Solution |
+201    | --- | --- |
+202    | $83\div80=$ | $1.04$ |
+203    """
+204    a = random.randint(0, max_divid)
+205    b = random.randint(1, min(max_res, max_divid))
+206    c = round(a / b, 2)
+207
+208    return rf'${a}\div{b}=$', f'${c}$'
+209
+210
+211def greatest_common_divisor(numbers_count=2, max_num=10**3):
+212    r"""Greatest Common Divisor of N Numbers ( GCD / HCF )
+213
+214    | Ex. Problem | Ex. Solution |
+215    | --- | --- |
+216    | $GCD(488075608, 75348096)=$ | $8$ |
+217    """
+218
+219    def greatestCommonDivisorOfTwoNumbers(number1, number2):
+220        number1 = abs(number1)
+221        number2 = abs(number2)
+222        while number2 > 0:
+223            number1, number2 = number2, number1 % number2
+224        return number1
+225
+226    numbers_count = max(numbers_count, 2)
+227    numbers = [random.randint(0, max_num)
+228               for _ in range(numbers_count)]
+229
+230    greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers(
+231        numbers[0], numbers[1])
+232
+233    for index in range(1, numbers_count):
+234        greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers(
+235            numbers[index], greatestCommonDivisor)
+236
+237    return f'$GCD({",".join(map(str, numbers))})=$', f"${greatestCommonDivisor}$"
+238
+239
+240def is_composite(max_num=250):
+241    r"""Is Composite
+242
+243    | Ex. Problem | Ex. Solution |
+244    | --- | --- |
+245    | Is $171$ composite? | Yes |
+246    """
+247    a = random.randint(2, max_num)
+248
+249    problem = f"Is ${a}$ composite?"
+250    if a == 0 or a == 1:
+251        return problem, "No"
+252    for i in range(2, a):
+253        if a % i == 0:
+254            return problem, "Yes"
+255    solution = "No"
+256
+257    return problem, solution
+258
+259
+260def is_prime(max_num=100):
+261    r"""Is Prime
+262
+263    | Ex. Problem | Ex. Solution |
+264    | --- | --- |
+265    | Is $37$ prime? | Yes |
+266    """
+267    a = random.randint(2, max_num)
+268    problem = f"Is ${a}$ prime?"
+269    if a == 2:
+270        return problem, "Yes"
+271    if a % 2 == 0:
+272        return problem, "No"
+273    for i in range(3, a // 2 + 1, 2):
+274        if a % i == 0:
+275            return problem, "No"
+276    solution = "Yes"
+277
+278    return problem, solution
+279
+280
+281def multiplication(max_multi=12):
+282    r"""Multiplication
+283
+284    | Ex. Problem | Ex. Solution |
+285    | --- | --- |
+286    | $10\cdot9=$ | $90$ |
+287    """
+288    a = random.randint(0, max_multi)
+289    b = random.randint(0, max_multi)
+290    c = a * b
+291
+292    return rf'${a}\cdot{b}=$', f'${c}$'
+293
+294
+295def percentage(max_value=99, max_percentage=99):
+296    r"""Percentage of a number
+297
+298    | Ex. Problem | Ex. Solution |
+299    | --- | --- |
+300    | What is $45$% of $39$? | $17.55$ |
+301    """
+302    a = random.randint(1, max_percentage)
+303    b = random.randint(1, max_value)
+304    problem = f"What is ${a}$% of ${b}$?"
+305    percentage = a / 100 * b
+306    formatted_float = "{:.2f}".format(percentage)
+307    solution = f"${formatted_float}$"
+308
+309    return problem, solution
+310
+311
+312def percentage_difference(max_value=200, min_value=0):
+313    r"""Percentage difference between two numbers
+314
+315    | Ex. Problem | Ex. Solution |
+316    | --- | --- |
+317    | What is the percentage difference between $2$ and $10$? | $133.33$ |
+318    """
+319    value_a = random.randint(min_value, max_value)
+320    value_b = random.randint(min_value, max_value)
+321
+322    diff = 2 * (abs(value_a - value_b) / abs(value_a + value_b)) * 100
+323    diff = round(diff, 2)
+324
+325    problem = f"What is the percentage difference between ${value_a}$ and ${value_b}$?"
+326    solution = f'${diff}$%'
+327    return problem, solution
+328
+329
+330def percentage_error(max_value=100, min_value=-100):
+331    r"""Percentage error
+332
+333    | Ex. Problem | Ex. Solution |
+334    | --- | --- |
+335    | Find the percentage error when observed value equals $32$ and exact value equals $81$. | $60.49$% |
+336    """
+337    observed_value = random.randint(min_value, max_value)
+338    exact_value = random.randint(min_value, max_value)
+339
+340    if observed_value * exact_value < 0:
+341        observed_value *= -1
+342
+343    error = (abs(observed_value - exact_value) / abs(exact_value)) * 100
+344    error = round(error, 2)
+345
+346    problem = f"Find the percentage error when observed value equals ${observed_value}$ and exact value equals ${exact_value}$."
+347    solution = f'${error}$%'
+348    return problem, solution
+349
+350
+351def power_of_powers(max_base=50, max_power=10):
+352    r"""Power of Powers
+353
+354    | Ex. Problem | Ex. Solution |
+355    | --- | --- |
+356    | Simplify $18^{10^{8}}$ | $18^{80}$ |
+357    """
+358    base = random.randint(1, max_base)
+359    power1 = random.randint(1, max_power)
+360    power2 = random.randint(1, max_power)
+361    step = power1 * power2
+362
+363    problem = f"Simplify ${base}^{{{power1}^{{{power2}}}}}$"
+364    solution = f"${base}^{{{step}}}$"
+365    return problem, solution
+366
+367
+368def square(max_square_num=20):
+369    r"""Square
+370
+371    | Ex. Problem | Ex. Solution |
+372    | --- | --- |
+373    | $17^2=$ | $289$ |
+374    """
+375    a = random.randint(1, max_square_num)
+376    b = a ** 2
+377
+378    return f'${a}^2=$', f'${b}$'
+379
+380
+381def square_root(min_no=1, max_no=12):
+382    r"""Square Root
+383
+384    | Ex. Problem | Ex. Solution |
+385    | --- | --- |
+386    | $\sqrt{64}=$ | $8$ |
+387    """
+388    b = random.randint(min_no, max_no)
+389    a = b ** 2
+390
+391    return rf'$\sqrt{{{a}}}=$', f'${b}$'
+392
+393
+394def subtraction(max_minuend=99, max_diff=99):
+395    r"""Subtraction of two numbers
+396
+397    | Ex. Problem | Ex. Solution |
+398    | --- | --- |
+399    | $54-22=$ | $32$ |
+400    """
+401    a = random.randint(0, max_minuend)
+402    b = random.randint(max(0, (a - max_diff)), a)
+403    c = a - b
+404
+405    return f'${a}-{b}=$', f'${c}$'
+
+ + +
+
+ +
+ + def + absolute_difference(max_a=100, max_b=100): + + + +
+ +
 5def absolute_difference(max_a=100, max_b=100):
+ 6    r"""Absolute difference between two numbers
+ 7
+ 8    | Ex. Problem | Ex. Solution |
+ 9    | --- | --- |
+10    | $|22-34|=$ | $12$ |
+11    """
+12    a = random.randint(-1 * max_a, max_a)
+13    b = random.randint(-1 * max_b, max_b)
+14    absDiff = abs(a - b)
+15
+16    return f'$|{a}-{b}|=$', f"${absDiff}$"
+
+ + +

Absolute difference between two numbers

+ + + + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$22-34=$$12$
+
+ + +
+
+ +
+ + def + addition(max_sum=99, max_addend=50): + + + +
+ +
19def addition(max_sum=99, max_addend=50):
+20    r"""Addition of two numbers
+21
+22    | Ex. Problem | Ex. Solution |
+23    | --- | --- |
+24    | $22+34=$ | $56$ |
+25    """
+26    if max_addend > max_sum:
+27        max_addend = max_sum
+28    a = random.randint(0, max_addend)
+29    # The highest value of b will be no higher than the max_sum minus the first number and no higher than the max_addend as well
+30    b = random.randint(0, min((max_sum - a), max_addend))
+31    c = a + b
+32
+33    problem = f'${a}+{b}=$'
+34    solution = f'${c}$'
+35    return problem, solution
+
+ + +

Addition of two numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$22+34=$$56$
+
+ + +
+
+ +
+ + def + compare_fractions(max_val=10): + + + +
+ +
38def compare_fractions(max_val=10):
+39    r"""Compare Fractions
+40
+41    | Ex. Problem | Ex. Solution |
+42    | --- | --- |
+43    | Which symbol represents the comparison between $\frac{1}{2}$ and $\frac{3}{4}$? | $>$ |
+44    """
+45    a = random.randint(1, max_val)
+46    b = random.randint(1, max_val)
+47    c = random.randint(1, max_val)
+48    d = random.randint(1, max_val)
+49
+50    while (a == b):
+51        b = random.randint(1, max_val)
+52    while (c == d):
+53        d = random.randint(1, max_val)
+54
+55    first = a / b
+56    second = c / d
+57
+58    if (first > second):
+59        solution = ">"
+60    elif (first < second):
+61        solution = "<"
+62    else:
+63        solution = "="
+64
+65    problem = rf"Which symbol represents the comparison between $\frac{{{a}}}{{{b}}}$ and $\frac{{{c}}}{{{d}}}$?"
+66    return problem, solution
+
+ + +

Compare Fractions

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Which symbol represents the comparison between $\frac{1}{2}$ and $\frac{3}{4}$?$>$
+
+ + +
+
+ +
+ + def + cube_root(min_no=1, max_no=1000): + + + +
+ +
69def cube_root(min_no=1, max_no=1000):
+70    r"""Cube Root
+71
+72    | Ex. Problem | Ex. Solution |
+73    | --- | --- |
+74    | What is the cube root of: $\sqrt[3]{125}=$ to 2 decimal places? | $5$ |
+75    """
+76    b = random.randint(min_no, max_no)
+77    a = b**(1 / 3)
+78
+79    return (rf"What is the cube root of: $\sqrt[3]{{{b}}}=$ to 2 decimal places?", f"${round(a, 2)}$")
+
+ + +

Cube Root

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the cube root of: $\sqrt[3]{125}=$ to 2 decimal places?$5$
+
+ + +
+
+ +
+ + def + divide_fractions(max_val=10): + + + +
+ +
 82def divide_fractions(max_val=10):
+ 83    r"""Divide Fractions
+ 84
+ 85    | Ex. Problem | Ex. Solution |
+ 86    | --- | --- |
+ 87    | $\frac{7}{9}\div\frac{4}{1}=$ | $\frac{7}{36}$ |
+ 88    """
+ 89    a = random.randint(1, max_val)
+ 90    b = random.randint(1, max_val)
+ 91
+ 92    while (a == b):
+ 93        b = random.randint(1, max_val)
+ 94
+ 95    c = random.randint(1, max_val)
+ 96    d = random.randint(1, max_val)
+ 97    while (c == d):
+ 98        d = random.randint(1, max_val)
+ 99
+100    def calculate_gcd(x, y):
+101        while (y):
+102            x, y = y, x % y
+103        return x
+104
+105    tmp_n = a * d
+106    tmp_d = b * c
+107
+108    gcd = calculate_gcd(tmp_n, tmp_d)
+109    sol_numerator = tmp_n // gcd
+110    sol_denominator = tmp_d // gcd
+111
+112    return rf'$\frac{{{a}}}{{{b}}}\div\frac{{{c}}}{{{d}}}=$', f'$\frac{{{sol_numerator}}}{{{sol_denominator}}}$'
+
+ + +

Divide Fractions

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\frac{7}{9}\div\frac{4}{1}=$$\frac{7}{36}$
+
+ + +
+
+ +
+ + def + division(max_a=25, max_b=25): + + + +
+ +
115def division(max_a=25, max_b=25):
+116    r"""Division
+117
+118    | Ex. Problem | Ex. Solution |
+119    | --- | --- |
+120    | $216\div24=$ | $9$ |
+121    """
+122    a = random.randint(1, max_a)
+123    b = random.randint(1, max_b)
+124
+125    divisor = a * b
+126    dividend = random.choice([a, b])
+127    quotient = int(divisor / dividend)
+128
+129    return rf'${divisor}\div{dividend}=$', f'${quotient}$'
+
+ + +

Division

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$216\div24=$$9$
+
+ + +
+
+ +
+ + def + exponentiation(max_base=20, max_expo=10): + + + +
+ +
132def exponentiation(max_base=20, max_expo=10):
+133    r"""Exponentiation
+134
+135    | Ex. Problem | Ex. Solution |
+136    | --- | --- |
+137    | $9^{5}=$ | $8$ |
+138    """
+139    base = random.randint(1, max_base)
+140    expo = random.randint(1, max_expo)
+141
+142    return f'${base}^{{{expo}}}=$', f'${base**expo}$'
+
+ + +

Exponentiation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$9^{5}=$$8$
+
+ + +
+
+ +
+ + def + factorial(max_input=6): + + + +
+ +
145def factorial(max_input=6):
+146    r"""Factorial
+147
+148    | Ex. Problem | Ex. Solution |
+149    | --- | --- |
+150    | $4! =$ | $24$ |
+151    """
+152    a = random.randint(0, max_input)
+153    n = a
+154    b = 1
+155    while a != 1 and n > 0:
+156        b *= n
+157        n -= 1
+158
+159    return f'${a}! =$', f'${b}$'
+
+ + +

Factorial

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$4! =$$24$
+
+ + +
+
+ +
+ + def + fraction_multiplication(max_val=10): + + + +
+ +
162def fraction_multiplication(max_val=10):
+163    r"""Fraction Multiplication
+164
+165    | Ex. Problem | Ex. Solution |
+166    | --- | --- |
+167    | $\frac{3}{10}\cdot\frac{6}{7}=$ | $\frac{9}{35}$ |
+168    """
+169    a = random.randint(1, max_val)
+170    b = random.randint(1, max_val)
+171    c = random.randint(1, max_val)
+172    d = random.randint(1, max_val)
+173
+174    while (a == b):
+175        b = random.randint(1, max_val)
+176
+177    while (c == d):
+178        d = random.randint(1, max_val)
+179
+180    def calculate_gcd(x, y):
+181        while (y):
+182            x, y = y, x % y
+183        return x
+184
+185    tmp_n = a * c
+186    tmp_d = b * d
+187
+188    gcd = calculate_gcd(tmp_n, tmp_d)
+189
+190    problem = rf"$\frac{{{a}}}{{{b}}}\cdot\frac{{{c}}}{{{d}}}=$"
+191    if (tmp_d == 1 or tmp_d == gcd):
+192        solution = rf"$\frac{{{tmp_n}}}{{{gcd}}}$"
+193    else:
+194        solution = rf"$\frac{{{tmp_n//gcd}}}{{{tmp_d//gcd}}}$"
+195    return problem, solution
+
+ + +

Fraction Multiplication

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\frac{3}{10}\cdot\frac{6}{7}=$$\frac{9}{35}$
+
+ + +
+
+ +
+ + def + fraction_to_decimal(max_res=99, max_divid=99): + + + +
+ +
198def fraction_to_decimal(max_res=99, max_divid=99):
+199    r"""Fraction to Decimal
+200
+201    | Ex. Problem | Ex. Solution |
+202    | --- | --- |
+203    | $83\div80=$ | $1.04$ |
+204    """
+205    a = random.randint(0, max_divid)
+206    b = random.randint(1, min(max_res, max_divid))
+207    c = round(a / b, 2)
+208
+209    return rf'${a}\div{b}=$', f'${c}$'
+
+ + +

Fraction to Decimal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$83\div80=$$1.04$
+
+ + +
+
+ +
+ + def + greatest_common_divisor(numbers_count=2, max_num=1000): + + + +
+ +
212def greatest_common_divisor(numbers_count=2, max_num=10**3):
+213    r"""Greatest Common Divisor of N Numbers ( GCD / HCF )
+214
+215    | Ex. Problem | Ex. Solution |
+216    | --- | --- |
+217    | $GCD(488075608, 75348096)=$ | $8$ |
+218    """
+219
+220    def greatestCommonDivisorOfTwoNumbers(number1, number2):
+221        number1 = abs(number1)
+222        number2 = abs(number2)
+223        while number2 > 0:
+224            number1, number2 = number2, number1 % number2
+225        return number1
+226
+227    numbers_count = max(numbers_count, 2)
+228    numbers = [random.randint(0, max_num)
+229               for _ in range(numbers_count)]
+230
+231    greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers(
+232        numbers[0], numbers[1])
+233
+234    for index in range(1, numbers_count):
+235        greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers(
+236            numbers[index], greatestCommonDivisor)
+237
+238    return f'$GCD({",".join(map(str, numbers))})=$', f"${greatestCommonDivisor}$"
+
+ + +

Greatest Common Divisor of N Numbers ( GCD / HCF )

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$GCD(488075608, 75348096)=$$8$
+
+ + +
+
+ +
+ + def + is_composite(max_num=250): + + + +
+ +
241def is_composite(max_num=250):
+242    r"""Is Composite
+243
+244    | Ex. Problem | Ex. Solution |
+245    | --- | --- |
+246    | Is $171$ composite? | Yes |
+247    """
+248    a = random.randint(2, max_num)
+249
+250    problem = f"Is ${a}$ composite?"
+251    if a == 0 or a == 1:
+252        return problem, "No"
+253    for i in range(2, a):
+254        if a % i == 0:
+255            return problem, "Yes"
+256    solution = "No"
+257
+258    return problem, solution
+
+ + +

Is Composite

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Is $171$ composite?Yes
+
+ + +
+
+ +
+ + def + is_prime(max_num=100): + + + +
+ +
261def is_prime(max_num=100):
+262    r"""Is Prime
+263
+264    | Ex. Problem | Ex. Solution |
+265    | --- | --- |
+266    | Is $37$ prime? | Yes |
+267    """
+268    a = random.randint(2, max_num)
+269    problem = f"Is ${a}$ prime?"
+270    if a == 2:
+271        return problem, "Yes"
+272    if a % 2 == 0:
+273        return problem, "No"
+274    for i in range(3, a // 2 + 1, 2):
+275        if a % i == 0:
+276            return problem, "No"
+277    solution = "Yes"
+278
+279    return problem, solution
+
+ + +

Is Prime

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Is $37$ prime?Yes
+
+ + +
+
+ +
+ + def + multiplication(max_multi=12): + + + +
+ +
282def multiplication(max_multi=12):
+283    r"""Multiplication
+284
+285    | Ex. Problem | Ex. Solution |
+286    | --- | --- |
+287    | $10\cdot9=$ | $90$ |
+288    """
+289    a = random.randint(0, max_multi)
+290    b = random.randint(0, max_multi)
+291    c = a * b
+292
+293    return rf'${a}\cdot{b}=$', f'${c}$'
+
+ + +

Multiplication

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$10\cdot9=$$90$
+
+ + +
+
+ +
+ + def + percentage(max_value=99, max_percentage=99): + + + +
+ +
296def percentage(max_value=99, max_percentage=99):
+297    r"""Percentage of a number
+298
+299    | Ex. Problem | Ex. Solution |
+300    | --- | --- |
+301    | What is $45$% of $39$? | $17.55$ |
+302    """
+303    a = random.randint(1, max_percentage)
+304    b = random.randint(1, max_value)
+305    problem = f"What is ${a}$% of ${b}$?"
+306    percentage = a / 100 * b
+307    formatted_float = "{:.2f}".format(percentage)
+308    solution = f"${formatted_float}$"
+309
+310    return problem, solution
+
+ + +

Percentage of a number

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is $45$% of $39$?$17.55$
+
+ + +
+
+ +
+ + def + percentage_difference(max_value=200, min_value=0): + + + +
+ +
313def percentage_difference(max_value=200, min_value=0):
+314    r"""Percentage difference between two numbers
+315
+316    | Ex. Problem | Ex. Solution |
+317    | --- | --- |
+318    | What is the percentage difference between $2$ and $10$? | $133.33$ |
+319    """
+320    value_a = random.randint(min_value, max_value)
+321    value_b = random.randint(min_value, max_value)
+322
+323    diff = 2 * (abs(value_a - value_b) / abs(value_a + value_b)) * 100
+324    diff = round(diff, 2)
+325
+326    problem = f"What is the percentage difference between ${value_a}$ and ${value_b}$?"
+327    solution = f'${diff}$%'
+328    return problem, solution
+
+ + +

Percentage difference between two numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the percentage difference between $2$ and $10$?$133.33$
+
+ + +
+
+ +
+ + def + percentage_error(max_value=100, min_value=-100): + + + +
+ +
331def percentage_error(max_value=100, min_value=-100):
+332    r"""Percentage error
+333
+334    | Ex. Problem | Ex. Solution |
+335    | --- | --- |
+336    | Find the percentage error when observed value equals $32$ and exact value equals $81$. | $60.49$% |
+337    """
+338    observed_value = random.randint(min_value, max_value)
+339    exact_value = random.randint(min_value, max_value)
+340
+341    if observed_value * exact_value < 0:
+342        observed_value *= -1
+343
+344    error = (abs(observed_value - exact_value) / abs(exact_value)) * 100
+345    error = round(error, 2)
+346
+347    problem = f"Find the percentage error when observed value equals ${observed_value}$ and exact value equals ${exact_value}$."
+348    solution = f'${error}$%'
+349    return problem, solution
+
+ + +

Percentage error

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the percentage error when observed value equals $32$ and exact value equals $81$.$60.49$%
+
+ + +
+
+ +
+ + def + power_of_powers(max_base=50, max_power=10): + + + +
+ +
352def power_of_powers(max_base=50, max_power=10):
+353    r"""Power of Powers
+354
+355    | Ex. Problem | Ex. Solution |
+356    | --- | --- |
+357    | Simplify $18^{10^{8}}$ | $18^{80}$ |
+358    """
+359    base = random.randint(1, max_base)
+360    power1 = random.randint(1, max_power)
+361    power2 = random.randint(1, max_power)
+362    step = power1 * power2
+363
+364    problem = f"Simplify ${base}^{{{power1}^{{{power2}}}}}$"
+365    solution = f"${base}^{{{step}}}$"
+366    return problem, solution
+
+ + +

Power of Powers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Simplify $18^{10^{8}}$$18^{80}$
+
+ + +
+
+ +
+ + def + square(max_square_num=20): + + + +
+ +
369def square(max_square_num=20):
+370    r"""Square
+371
+372    | Ex. Problem | Ex. Solution |
+373    | --- | --- |
+374    | $17^2=$ | $289$ |
+375    """
+376    a = random.randint(1, max_square_num)
+377    b = a ** 2
+378
+379    return f'${a}^2=$', f'${b}$'
+
+ + +

Square

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$17^2=$$289$
+
+ + +
+
+ +
+ + def + square_root(min_no=1, max_no=12): + + + +
+ +
382def square_root(min_no=1, max_no=12):
+383    r"""Square Root
+384
+385    | Ex. Problem | Ex. Solution |
+386    | --- | --- |
+387    | $\sqrt{64}=$ | $8$ |
+388    """
+389    b = random.randint(min_no, max_no)
+390    a = b ** 2
+391
+392    return rf'$\sqrt{{{a}}}=$', f'${b}$'
+
+ + +

Square Root

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\sqrt{64}=$$8$
+
+ + +
+
+ +
+ + def + subtraction(max_minuend=99, max_diff=99): + + + +
+ +
395def subtraction(max_minuend=99, max_diff=99):
+396    r"""Subtraction of two numbers
+397
+398    | Ex. Problem | Ex. Solution |
+399    | --- | --- |
+400    | $54-22=$ | $32$ |
+401    """
+402    a = random.randint(0, max_minuend)
+403    b = random.randint(max(0, (a - max_diff)), a)
+404    c = a - b
+405
+406    return f'${a}-{b}=$', f'${c}$'
+
+ + +

Subtraction of two numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$54-22=$$32$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/calculus.html b/docs/mathgenerator/calculus.html new file mode 100644 index 0000000..c10000c --- /dev/null +++ b/docs/mathgenerator/calculus.html @@ -0,0 +1,675 @@ + + + + + + + mathgenerator.calculus API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.calculus

+ + + + + + +
  1import random
+  2from scipy.integrate import quad
+  3import sympy
+  4
+  5
+  6def definite_integral(max_coef=100):
+  7    r"""Definite Integral of Quadratic Equation
+  8
+  9    | Ex. Problem | Ex. Solution |
+ 10    | --- | --- |
+ 11    | The definite integral within limits $0$ to $1$ of the equation $28x^2 + 32x + 66 = $ | $91.33$ |
+ 12    """
+ 13    def integrand(x, a, b, c):
+ 14        return a * x**2 + b * x + c
+ 15
+ 16    a = random.randint(0, max_coef)
+ 17    b = random.randint(0, max_coef)
+ 18    c = random.randint(0, max_coef)
+ 19
+ 20    result = quad(integrand, 0, 1, args=(a, b, c))[0]
+ 21    solution = round(result, 2)
+ 22
+ 23    problem = f"The definite integral within limits $0$ to $1$ of the equation ${a}x^2 + {b}x + {c} = $"
+ 24    return problem, f'${solution}$'
+ 25
+ 26
+ 27def power_rule_differentiation(max_coef=10,
+ 28                               max_exp=10,
+ 29                               max_terms=5):
+ 30    r"""Power Rule Differentiation
+ 31
+ 32    | Ex. Problem | Ex. Solution |
+ 33    | --- | --- |
+ 34    | Differentiate $1x^{5} + 4x^{7} + 4x^{4}$ | $5x^{4} + 28x^{6} + 16x^{3}$ |
+ 35    """
+ 36    numTerms = random.randint(1, max_terms)
+ 37    problem = "Differentiate $"
+ 38    solution = "$"
+ 39
+ 40    for i in range(numTerms):
+ 41        if i > 0:
+ 42            problem += " + "
+ 43            solution += " + "
+ 44        coefficient = random.randint(1, max_coef)
+ 45        exponent = random.randint(1, max_exp)
+ 46
+ 47        problem += f'{coefficient}x^{{{exponent}}}'
+ 48        solution += f'{coefficient * exponent}x^{{{exponent - 1}}}'
+ 49
+ 50    return problem + '$', solution + '$'
+ 51
+ 52
+ 53def power_rule_integration(max_coef=10,
+ 54                           max_exp=10,
+ 55                           max_terms=5):
+ 56    r"""Power Rule Integration
+ 57
+ 58    | Ex. Problem | Ex. Solution |
+ 59    | --- | --- |
+ 60    | Integrate $9x^{6} + 2x^{6} + 4x^{3}$ | $\frac{9}{6}x^{7} + \frac{2}{6}x^{7} + \frac{4}{3}x^{4} + C$ |
+ 61    """
+ 62    numTerms = random.randint(1, max_terms)
+ 63    problem = "Integrate $"
+ 64    solution = "$"
+ 65
+ 66    for i in range(numTerms):
+ 67        if i > 0:
+ 68            problem += " + "
+ 69            solution += " + "
+ 70        coefficient = random.randint(1, max_coef)
+ 71        exponent = random.randint(1, max_exp)
+ 72
+ 73        problem += f'{coefficient}x^{{{exponent}}}'
+ 74        solution += rf'\frac{{{coefficient}}}{{{exponent}}}x^{{{exponent + 1}}}'
+ 75
+ 76    solution += " + C"
+ 77
+ 78    return problem + '$', solution + '$'
+ 79
+ 80
+ 81def stationary_points(max_exp=3, max_coef=10):
+ 82    r"""Stationary Points
+ 83
+ 84    | Ex. Problem | Ex. Solution |
+ 85    | --- | --- |
+ 86    | $f(x)=6*x^3 + 6*x^2 + x + 8$ | ${- \frac{1}{3} - \frac{\sqrt{2}}{6}, - \frac{1}{3} + \frac{\sqrt{2}}{6}}$ |
+ 87    """
+ 88    solution = ''
+ 89    while len(solution) == 0:
+ 90        x = sympy.symbols('x')
+ 91        problem = 0
+ 92        for exp in range(max_exp + 1):
+ 93            coefficient = random.randint(0, max_coef)
+ 94            problem += coefficient * pow(x, exp)
+ 95        solution = sympy.stationary_points(problem, x)
+ 96
+ 97    problem = 'f(x)=' + str(problem).replace('**', '^')
+ 98    return f'${problem}$', f'${sympy.latex(solution)[6:-8]}}}$'
+ 99
+100
+101def trig_differentiation():
+102    r"""Trigonometric Differentiation
+103
+104    | Ex. Problem | Ex. Solution |
+105    | --- | --- |
+106    | $\frac{d}{dx}(\csc)=$ | $-\csc \cdot \cot$ |
+107    """
+108    pairs = {
+109        r'\sin': r'\cos',
+110        r'\cos': r'-\sin',
+111        r'\tan': r'\sec^{{2}}',
+112        r'\cot': r'-\csc^{{2}}',
+113        r'\sec': r'\sec \cdot \tan',
+114        r'\csc': r'-\csc \cdot \cot'
+115    }
+116    problem = random.choice(list(pairs.keys()))
+117    solution = f'${pairs[problem]}$'
+118    problem = rf'$\frac{{d}}{{dx}}({problem})=$'
+119
+120    return problem, solution
+
+ + +
+
+ +
+ + def + definite_integral(max_coef=100): + + + +
+ +
 7def definite_integral(max_coef=100):
+ 8    r"""Definite Integral of Quadratic Equation
+ 9
+10    | Ex. Problem | Ex. Solution |
+11    | --- | --- |
+12    | The definite integral within limits $0$ to $1$ of the equation $28x^2 + 32x + 66 = $ | $91.33$ |
+13    """
+14    def integrand(x, a, b, c):
+15        return a * x**2 + b * x + c
+16
+17    a = random.randint(0, max_coef)
+18    b = random.randint(0, max_coef)
+19    c = random.randint(0, max_coef)
+20
+21    result = quad(integrand, 0, 1, args=(a, b, c))[0]
+22    solution = round(result, 2)
+23
+24    problem = f"The definite integral within limits $0$ to $1$ of the equation ${a}x^2 + {b}x + {c} = $"
+25    return problem, f'${solution}$'
+
+ + +

Definite Integral of Quadratic Equation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The definite integral within limits $0$ to $1$ of the equation $28x^2 + 32x + 66 = $$91.33$
+
+ + +
+
+ +
+ + def + power_rule_differentiation(max_coef=10, max_exp=10, max_terms=5): + + + +
+ +
28def power_rule_differentiation(max_coef=10,
+29                               max_exp=10,
+30                               max_terms=5):
+31    r"""Power Rule Differentiation
+32
+33    | Ex. Problem | Ex. Solution |
+34    | --- | --- |
+35    | Differentiate $1x^{5} + 4x^{7} + 4x^{4}$ | $5x^{4} + 28x^{6} + 16x^{3}$ |
+36    """
+37    numTerms = random.randint(1, max_terms)
+38    problem = "Differentiate $"
+39    solution = "$"
+40
+41    for i in range(numTerms):
+42        if i > 0:
+43            problem += " + "
+44            solution += " + "
+45        coefficient = random.randint(1, max_coef)
+46        exponent = random.randint(1, max_exp)
+47
+48        problem += f'{coefficient}x^{{{exponent}}}'
+49        solution += f'{coefficient * exponent}x^{{{exponent - 1}}}'
+50
+51    return problem + '$', solution + '$'
+
+ + +

Power Rule Differentiation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Differentiate $1x^{5} + 4x^{7} + 4x^{4}$$5x^{4} + 28x^{6} + 16x^{3}$
+
+ + +
+
+ +
+ + def + power_rule_integration(max_coef=10, max_exp=10, max_terms=5): + + + +
+ +
54def power_rule_integration(max_coef=10,
+55                           max_exp=10,
+56                           max_terms=5):
+57    r"""Power Rule Integration
+58
+59    | Ex. Problem | Ex. Solution |
+60    | --- | --- |
+61    | Integrate $9x^{6} + 2x^{6} + 4x^{3}$ | $\frac{9}{6}x^{7} + \frac{2}{6}x^{7} + \frac{4}{3}x^{4} + C$ |
+62    """
+63    numTerms = random.randint(1, max_terms)
+64    problem = "Integrate $"
+65    solution = "$"
+66
+67    for i in range(numTerms):
+68        if i > 0:
+69            problem += " + "
+70            solution += " + "
+71        coefficient = random.randint(1, max_coef)
+72        exponent = random.randint(1, max_exp)
+73
+74        problem += f'{coefficient}x^{{{exponent}}}'
+75        solution += rf'\frac{{{coefficient}}}{{{exponent}}}x^{{{exponent + 1}}}'
+76
+77    solution += " + C"
+78
+79    return problem + '$', solution + '$'
+
+ + +

Power Rule Integration

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Integrate $9x^{6} + 2x^{6} + 4x^{3}$$\frac{9}{6}x^{7} + \frac{2}{6}x^{7} + \frac{4}{3}x^{4} + C$
+
+ + +
+
+ +
+ + def + stationary_points(max_exp=3, max_coef=10): + + + +
+ +
82def stationary_points(max_exp=3, max_coef=10):
+83    r"""Stationary Points
+84
+85    | Ex. Problem | Ex. Solution |
+86    | --- | --- |
+87    | $f(x)=6*x^3 + 6*x^2 + x + 8$ | ${- \frac{1}{3} - \frac{\sqrt{2}}{6}, - \frac{1}{3} + \frac{\sqrt{2}}{6}}$ |
+88    """
+89    solution = ''
+90    while len(solution) == 0:
+91        x = sympy.symbols('x')
+92        problem = 0
+93        for exp in range(max_exp + 1):
+94            coefficient = random.randint(0, max_coef)
+95            problem += coefficient * pow(x, exp)
+96        solution = sympy.stationary_points(problem, x)
+97
+98    problem = 'f(x)=' + str(problem).replace('**', '^')
+99    return f'${problem}$', f'${sympy.latex(solution)[6:-8]}}}$'
+
+ + +

Stationary Points

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$f(x)=6x^3 + 6x^2 + x + 8$${- \frac{1}{3} - \frac{\sqrt{2}}{6}, - \frac{1}{3} + \frac{\sqrt{2}}{6}}$
+
+ + +
+
+ +
+ + def + trig_differentiation(): + + + +
+ +
102def trig_differentiation():
+103    r"""Trigonometric Differentiation
+104
+105    | Ex. Problem | Ex. Solution |
+106    | --- | --- |
+107    | $\frac{d}{dx}(\csc)=$ | $-\csc \cdot \cot$ |
+108    """
+109    pairs = {
+110        r'\sin': r'\cos',
+111        r'\cos': r'-\sin',
+112        r'\tan': r'\sec^{{2}}',
+113        r'\cot': r'-\csc^{{2}}',
+114        r'\sec': r'\sec \cdot \tan',
+115        r'\csc': r'-\csc \cdot \cot'
+116    }
+117    problem = random.choice(list(pairs.keys()))
+118    solution = f'${pairs[problem]}$'
+119    problem = rf'$\frac{{d}}{{dx}}({problem})=$'
+120
+121    return problem, solution
+
+ + +

Trigonometric Differentiation

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\frac{d}{dx}(\csc)=$$-\csc \cdot \cot$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/computer_science.html b/docs/mathgenerator/computer_science.html new file mode 100644 index 0000000..3fee608 --- /dev/null +++ b/docs/mathgenerator/computer_science.html @@ -0,0 +1,1131 @@ + + + + + + + mathgenerator.computer_science API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.computer_science

+ + + + + + +
  1import random
+  2import math
+  3
+  4
+  5def bcd_to_decimal(max_number=10000):
+  6    r"""Binary Coded Decimal to Integer
+  7
+  8    | Ex. Problem | Ex. Solution |
+  9    | --- | --- |
+ 10    | Integer of Binary Coded Decimal $4 =$ | $17801$ |
+ 11    """
+ 12    n = random.randint(1000, max_number)
+ 13    binstring = ''
+ 14    while True:
+ 15        q, r = divmod(n, 10)
+ 16        nibble = bin(r).replace('0b', "")
+ 17        while len(nibble) < 4:
+ 18            nibble = '0' + nibble
+ 19        binstring = nibble + binstring
+ 20        if q == 0:
+ 21            break
+ 22        else:
+ 23            n = q
+ 24
+ 25    problem = f"Integer of Binary Coded Decimal ${n} =$ "
+ 26    solution = f'${int(binstring, 2)}$'
+ 27    return problem, solution
+ 28
+ 29
+ 30def binary_2s_complement(maxDigits=10):
+ 31    r"""Binary 2's Complement
+ 32
+ 33    | Ex. Problem | Ex. Solution |
+ 34    | --- | --- |
+ 35    | 2's complement of $1011 = $ | $101$ |
+ 36    """
+ 37    digits = random.randint(1, maxDigits)
+ 38    question = ''.join([str(random.randint(0, 1))
+ 39                        for i in range(digits)]).lstrip('0')
+ 40
+ 41    answer = []
+ 42    for i in question:
+ 43        answer.append(str(int(not bool(int(i)))))
+ 44
+ 45    carry = True
+ 46    j = len(answer) - 1
+ 47    while j >= 0:
+ 48        if answer[j] == '0':
+ 49            answer[j] = '1'
+ 50            carry = False
+ 51            break
+ 52        answer[j] = '0'
+ 53        j -= 1
+ 54
+ 55    if j == 0 and carry is True:
+ 56        answer.insert(0, '1')
+ 57
+ 58    problem = f"2's complement of ${question} = $"
+ 59    solution = ''.join(answer).lstrip('0')
+ 60    return problem, f'${solution}$'
+ 61
+ 62
+ 63def binary_complement_1s(maxDigits=10):
+ 64    r"""Binary Complement 1s
+ 65
+ 66    | Ex. Problem | Ex. Solution |
+ 67    | --- | --- |
+ 68    | $1111001 = $ | $0000110$ |
+ 69    """
+ 70    question = ''.join([str(random.randint(0, 1))
+ 71                       for _ in range(random.randint(1, maxDigits))])
+ 72    answer = ''.join(["0" if digit == "1" else "1" for digit in question])
+ 73
+ 74    problem = f'${question} = $'
+ 75    return problem, f'${answer}$'
+ 76
+ 77
+ 78def binary_to_decimal(max_dig=10):
+ 79    r"""Binary to Decimal
+ 80
+ 81    | Ex. Problem | Ex. Solution |
+ 82    | --- | --- |
+ 83    | $000110$ | $6$ |
+ 84    """
+ 85    problem = ''.join([str(random.randint(0, 1))
+ 86                      for _ in range(random.randint(1, max_dig))])
+ 87    solution = f'${int(problem, 2)}$'
+ 88    return f'${problem}$', solution
+ 89
+ 90
+ 91def binary_to_hex(max_dig=10):
+ 92    r"""Binary to Hexidecimal
+ 93
+ 94    | Ex. Problem | Ex. Solution |
+ 95    | --- | --- |
+ 96    | $010101$ | $0x15$ |
+ 97    """
+ 98    problem = ''.join([str(random.randint(0, 1))
+ 99                      for _ in range(random.randint(1, max_dig))])
+100    solution = f'${hex(int(problem, 2))}$'
+101    return f'${problem}$', solution
+102
+103
+104def decimal_to_bcd(max_number=10000):
+105    r"""Decimal to Binary Coded Decimal
+106
+107    | Ex. Problem | Ex. Solution |
+108    | --- | --- |
+109    | BCD of Decimal Number $6575 = $ | $191015$ |
+110    """
+111    n = random.randint(1000, max_number)
+112    x = n
+113    # binstring = ''
+114    bcdstring = ''
+115    while x > 0:
+116        nibble = x % 16
+117        bcdstring = str(nibble) + bcdstring
+118        x >>= 4
+119
+120    problem = f"BCD of Decimal Number ${n} = $"
+121    return problem, f'${bcdstring}$'
+122
+123
+124def decimal_to_binary(max_dec=99):
+125    r"""Decimal to Binary
+126
+127    | Ex. Problem | Ex. Solution |
+128    | --- | --- |
+129    | Binary of $4 = $ | $100$ |
+130    """
+131    a = random.randint(1, max_dec)
+132    b = bin(a).replace("0b", "")
+133
+134    problem = f'Binary of ${a} = $'
+135    solution = f'${b}$'
+136    return problem, solution
+137
+138
+139def decimal_to_hexadeci(max_dec=1000):
+140    r"""Decimal to Hexadecimal
+141
+142    | Ex. Problem | Ex. Solution |
+143    | --- | --- |
+144    | Hexadecimal of $410 = $ | $0x19a$ |
+145    """
+146    a = random.randint(0, max_dec)
+147    b = hex(a)
+148
+149    problem = f"Hexadecimal of ${a} = $"
+150    solution = f"${b}$"
+151    return problem, solution
+152
+153
+154def decimal_to_octal(max_decimal=4096):
+155    r"""Decimal to Octal
+156
+157    | Ex. Problem | Ex. Solution |
+158    | --- | --- |
+159    | The decimal number $3698$ in octal is: | $0o7162$ |
+160    """
+161    x = random.randint(0, max_decimal)
+162
+163    problem = f"The decimal number ${x}$ in octal is: "
+164    solution = f'${oct(x)}$'
+165
+166    return problem, solution
+167
+168
+169def fibonacci_series(min_no=1):
+170    r"""Fibonacci Series
+171
+172    | Ex. Problem | Ex. Solution |
+173    | --- | --- |
+174    | The Fibonacci Series of the first ${n}$ numbers is ? | $0, 1, 1, 2, 3, 5, 8, 13, 21$ |
+175    """
+176    n = random.randint(min_no, 20)
+177
+178    def createFibList(n):
+179        list = []
+180        for i in range(n):
+181            if i < 2:
+182                list.append(i)
+183            else:
+184                val = list[i - 1] + list[i - 2]
+185                list.append(val)
+186        return list
+187
+188    fibList = createFibList(n)
+189
+190    problem = "The Fibonacci Series of the first ${n}$ numbers is ?"
+191    solution = ', '.join(map(str, fibList))
+192    return problem, f'${solution}$'
+193
+194
+195def modulo_division(max_res=99, max_modulo=99):
+196    r"""Modulo Division
+197
+198    | Ex. Problem | Ex. Solution |
+199    | --- | --- |
+200    | $43$ % $33 = $ | $10$ |
+201    """
+202    a = random.randint(0, max_modulo)
+203    b = random.randint(0, min(max_res, max_modulo))
+204    c = a % b if b != 0 else 0
+205
+206    problem = f'${a}$ % ${b} = $'
+207    solution = f'${c}$'
+208    return problem, solution
+209
+210
+211def nth_fibonacci_number(max_n=100):
+212    r"""nth Fibonacci number
+213
+214    | Ex. Problem | Ex. Solution |
+215    | --- | --- |
+216    | What is the 85th Fibonacci number? | $259695496911123328$ |
+217    """
+218    gratio = (1 + math.sqrt(5)) / 2
+219    n = random.randint(1, max_n)
+220
+221    problem = f"What is the {n}th Fibonacci number?"
+222    solution = int(
+223        (math.pow(gratio, n) - math.pow(-gratio, -n)) / (math.sqrt(5)))
+224
+225    return problem, f'${solution}$'
+
+ + +
+
+ +
+ + def + bcd_to_decimal(max_number=10000): + + + +
+ +
 6def bcd_to_decimal(max_number=10000):
+ 7    r"""Binary Coded Decimal to Integer
+ 8
+ 9    | Ex. Problem | Ex. Solution |
+10    | --- | --- |
+11    | Integer of Binary Coded Decimal $4 =$ | $17801$ |
+12    """
+13    n = random.randint(1000, max_number)
+14    binstring = ''
+15    while True:
+16        q, r = divmod(n, 10)
+17        nibble = bin(r).replace('0b', "")
+18        while len(nibble) < 4:
+19            nibble = '0' + nibble
+20        binstring = nibble + binstring
+21        if q == 0:
+22            break
+23        else:
+24            n = q
+25
+26    problem = f"Integer of Binary Coded Decimal ${n} =$ "
+27    solution = f'${int(binstring, 2)}$'
+28    return problem, solution
+
+ + +

Binary Coded Decimal to Integer

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Integer of Binary Coded Decimal $4 =$$17801$
+
+ + +
+
+ +
+ + def + binary_2s_complement(maxDigits=10): + + + +
+ +
31def binary_2s_complement(maxDigits=10):
+32    r"""Binary 2's Complement
+33
+34    | Ex. Problem | Ex. Solution |
+35    | --- | --- |
+36    | 2's complement of $1011 = $ | $101$ |
+37    """
+38    digits = random.randint(1, maxDigits)
+39    question = ''.join([str(random.randint(0, 1))
+40                        for i in range(digits)]).lstrip('0')
+41
+42    answer = []
+43    for i in question:
+44        answer.append(str(int(not bool(int(i)))))
+45
+46    carry = True
+47    j = len(answer) - 1
+48    while j >= 0:
+49        if answer[j] == '0':
+50            answer[j] = '1'
+51            carry = False
+52            break
+53        answer[j] = '0'
+54        j -= 1
+55
+56    if j == 0 and carry is True:
+57        answer.insert(0, '1')
+58
+59    problem = f"2's complement of ${question} = $"
+60    solution = ''.join(answer).lstrip('0')
+61    return problem, f'${solution}$'
+
+ + +

Binary 2's Complement

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
2's complement of $1011 = $$101$
+
+ + +
+
+ +
+ + def + binary_complement_1s(maxDigits=10): + + + +
+ +
64def binary_complement_1s(maxDigits=10):
+65    r"""Binary Complement 1s
+66
+67    | Ex. Problem | Ex. Solution |
+68    | --- | --- |
+69    | $1111001 = $ | $0000110$ |
+70    """
+71    question = ''.join([str(random.randint(0, 1))
+72                       for _ in range(random.randint(1, maxDigits))])
+73    answer = ''.join(["0" if digit == "1" else "1" for digit in question])
+74
+75    problem = f'${question} = $'
+76    return problem, f'${answer}$'
+
+ + +

Binary Complement 1s

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$1111001 = $$0000110$
+
+ + +
+
+ +
+ + def + binary_to_decimal(max_dig=10): + + + +
+ +
79def binary_to_decimal(max_dig=10):
+80    r"""Binary to Decimal
+81
+82    | Ex. Problem | Ex. Solution |
+83    | --- | --- |
+84    | $000110$ | $6$ |
+85    """
+86    problem = ''.join([str(random.randint(0, 1))
+87                      for _ in range(random.randint(1, max_dig))])
+88    solution = f'${int(problem, 2)}$'
+89    return f'${problem}$', solution
+
+ + +

Binary to Decimal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$000110$$6$
+
+ + +
+
+ +
+ + def + binary_to_hex(max_dig=10): + + + +
+ +
 92def binary_to_hex(max_dig=10):
+ 93    r"""Binary to Hexidecimal
+ 94
+ 95    | Ex. Problem | Ex. Solution |
+ 96    | --- | --- |
+ 97    | $010101$ | $0x15$ |
+ 98    """
+ 99    problem = ''.join([str(random.randint(0, 1))
+100                      for _ in range(random.randint(1, max_dig))])
+101    solution = f'${hex(int(problem, 2))}$'
+102    return f'${problem}$', solution
+
+ + +

Binary to Hexidecimal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$010101$$0x15$
+
+ + +
+
+ +
+ + def + decimal_to_bcd(max_number=10000): + + + +
+ +
105def decimal_to_bcd(max_number=10000):
+106    r"""Decimal to Binary Coded Decimal
+107
+108    | Ex. Problem | Ex. Solution |
+109    | --- | --- |
+110    | BCD of Decimal Number $6575 = $ | $191015$ |
+111    """
+112    n = random.randint(1000, max_number)
+113    x = n
+114    # binstring = ''
+115    bcdstring = ''
+116    while x > 0:
+117        nibble = x % 16
+118        bcdstring = str(nibble) + bcdstring
+119        x >>= 4
+120
+121    problem = f"BCD of Decimal Number ${n} = $"
+122    return problem, f'${bcdstring}$'
+
+ + +

Decimal to Binary Coded Decimal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
BCD of Decimal Number $6575 = $$191015$
+
+ + +
+
+ +
+ + def + decimal_to_binary(max_dec=99): + + + +
+ +
125def decimal_to_binary(max_dec=99):
+126    r"""Decimal to Binary
+127
+128    | Ex. Problem | Ex. Solution |
+129    | --- | --- |
+130    | Binary of $4 = $ | $100$ |
+131    """
+132    a = random.randint(1, max_dec)
+133    b = bin(a).replace("0b", "")
+134
+135    problem = f'Binary of ${a} = $'
+136    solution = f'${b}$'
+137    return problem, solution
+
+ + +

Decimal to Binary

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Binary of $4 = $$100$
+
+ + +
+
+ +
+ + def + decimal_to_hexadeci(max_dec=1000): + + + +
+ +
140def decimal_to_hexadeci(max_dec=1000):
+141    r"""Decimal to Hexadecimal
+142
+143    | Ex. Problem | Ex. Solution |
+144    | --- | --- |
+145    | Hexadecimal of $410 = $ | $0x19a$ |
+146    """
+147    a = random.randint(0, max_dec)
+148    b = hex(a)
+149
+150    problem = f"Hexadecimal of ${a} = $"
+151    solution = f"${b}$"
+152    return problem, solution
+
+ + +

Decimal to Hexadecimal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Hexadecimal of $410 = $$0x19a$
+
+ + +
+
+ +
+ + def + decimal_to_octal(max_decimal=4096): + + + +
+ +
155def decimal_to_octal(max_decimal=4096):
+156    r"""Decimal to Octal
+157
+158    | Ex. Problem | Ex. Solution |
+159    | --- | --- |
+160    | The decimal number $3698$ in octal is: | $0o7162$ |
+161    """
+162    x = random.randint(0, max_decimal)
+163
+164    problem = f"The decimal number ${x}$ in octal is: "
+165    solution = f'${oct(x)}$'
+166
+167    return problem, solution
+
+ + +

Decimal to Octal

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The decimal number $3698$ in octal is:$0o7162$
+
+ + +
+
+ +
+ + def + fibonacci_series(min_no=1): + + + +
+ +
170def fibonacci_series(min_no=1):
+171    r"""Fibonacci Series
+172
+173    | Ex. Problem | Ex. Solution |
+174    | --- | --- |
+175    | The Fibonacci Series of the first ${n}$ numbers is ? | $0, 1, 1, 2, 3, 5, 8, 13, 21$ |
+176    """
+177    n = random.randint(min_no, 20)
+178
+179    def createFibList(n):
+180        list = []
+181        for i in range(n):
+182            if i < 2:
+183                list.append(i)
+184            else:
+185                val = list[i - 1] + list[i - 2]
+186                list.append(val)
+187        return list
+188
+189    fibList = createFibList(n)
+190
+191    problem = "The Fibonacci Series of the first ${n}$ numbers is ?"
+192    solution = ', '.join(map(str, fibList))
+193    return problem, f'${solution}$'
+
+ + +

Fibonacci Series

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The Fibonacci Series of the first ${n}$ numbers is ?$0, 1, 1, 2, 3, 5, 8, 13, 21$
+
+ + +
+
+ +
+ + def + modulo_division(max_res=99, max_modulo=99): + + + +
+ +
196def modulo_division(max_res=99, max_modulo=99):
+197    r"""Modulo Division
+198
+199    | Ex. Problem | Ex. Solution |
+200    | --- | --- |
+201    | $43$ % $33 = $ | $10$ |
+202    """
+203    a = random.randint(0, max_modulo)
+204    b = random.randint(0, min(max_res, max_modulo))
+205    c = a % b if b != 0 else 0
+206
+207    problem = f'${a}$ % ${b} = $'
+208    solution = f'${c}$'
+209    return problem, solution
+
+ + +

Modulo Division

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$43$ % $33 = $$10$
+
+ + +
+
+ +
+ + def + nth_fibonacci_number(max_n=100): + + + +
+ +
212def nth_fibonacci_number(max_n=100):
+213    r"""nth Fibonacci number
+214
+215    | Ex. Problem | Ex. Solution |
+216    | --- | --- |
+217    | What is the 85th Fibonacci number? | $259695496911123328$ |
+218    """
+219    gratio = (1 + math.sqrt(5)) / 2
+220    n = random.randint(1, max_n)
+221
+222    problem = f"What is the {n}th Fibonacci number?"
+223    solution = int(
+224        (math.pow(gratio, n) - math.pow(-gratio, -n)) / (math.sqrt(5)))
+225
+226    return problem, f'${solution}$'
+
+ + +

nth Fibonacci number

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the 85th Fibonacci number?$259695496911123328$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/geometry.html b/docs/mathgenerator/geometry.html new file mode 100644 index 0000000..dc4377b --- /dev/null +++ b/docs/mathgenerator/geometry.html @@ -0,0 +1,2750 @@ + + + + + + + mathgenerator.geometry API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.geometry

+ + + + + + +
  1import random
+  2import math
+  3from math import cos, sin, pi
+  4
+  5
+  6def angle_btw_vectors(max_elt_amt=20):
+  7    r"""Angle between 2 vectors
+  8
+  9    | Ex. Problem | Ex. Solution |
+ 10    | --- | --- |
+ 11    | angle between the vectors $[363.84, 195.54, 997.08, 39.26, 60.14, 722.7, 888.57, 713.15, 436.22, 712.23, 349.23, 595.91, 191.8, 824.58, 861.56, 122.73, 815.14, 700.68, 506.5]$ and $[760.85, 934.67, 513.37, 796.93, 809.97, 423.54, 162.69, 758.96, 133.42, 478.14, 771.84, 824.88, 483.07, 134.41, 954.41, 893.42, 191.01, 453.97, 648.59]$ is: | $0.81$ radians |
+ 12    """
+ 13    s = 0
+ 14    v1 = [
+ 15        round(random.uniform(0, 1000), 2)
+ 16        for i in range(random.randint(2, max_elt_amt))
+ 17    ]
+ 18    v2 = [round(random.uniform(0, 1000), 2) for i in v1]
+ 19    for i in range(len(v1)):
+ 20        s += v1[i] * v2[i]
+ 21
+ 22    mags = math.sqrt(sum([i**2
+ 23                          for i in v1])) * math.sqrt(sum([i**2 for i in v2]))
+ 24    solution = ''
+ 25    ans = 0
+ 26    try:
+ 27        ans = round(math.acos(s / mags), 2)
+ 28        solution = f"${ans}$ radians"
+ 29    except ValueError:
+ 30        print('angleBtwVectorsFunc has some issues with math module, line 16')
+ 31        solution = 'NaN'
+ 32        ans = 'NaN'
+ 33    # would return the answer in radians
+ 34    problem = f"angle between the vectors ${v1}$ and ${v2}$ is:"
+ 35    return problem, solution
+ 36
+ 37
+ 38def angle_regular_polygon(min_val=3, max_val=20):
+ 39    r"""Angle of a Regular Polygon
+ 40
+ 41    | Ex. Problem | Ex. Solution |
+ 42    | --- | --- |
+ 43    | Find the angle of a regular polygon with $8$ sides | $135.0$ |
+ 44    """
+ 45    sideNum = random.randint(min_val, max_val)
+ 46    problem = f"Find the angle of a regular polygon with ${sideNum}$ sides"
+ 47
+ 48    exteriorAngle = round((360 / sideNum), 2)
+ 49    solution = f'${180 - exteriorAngle}$'
+ 50
+ 51    return problem, solution
+ 52
+ 53
+ 54def arc_length(max_radius=49, max_angle=359):
+ 55    r"""Arc length of Angle
+ 56
+ 57    | Ex. Problem | Ex. Solution |
+ 58    | --- | --- |
+ 59    | Given radius, $44$ and angle, $184$. Find the arc length of the angle. | Arc length of the angle $= 141.30186$ |
+ 60    """
+ 61    radius = random.randint(1, max_radius)
+ 62    angle = random.randint(1, max_angle)
+ 63    angle_arc_length = float((angle / 360) * 2 * math.pi * radius)
+ 64    formatted_float = "{:.5f}".format(angle_arc_length)
+ 65
+ 66    problem = f"Given radius, ${radius}$ and angle, ${angle}$. Find the arc length of the angle."
+ 67    solution = f"Arc length of the angle $= {formatted_float}$"
+ 68    return problem, solution
+ 69
+ 70
+ 71def area_of_circle(max_radius=100):
+ 72    r"""Area of Circle
+ 73
+ 74    | Ex. Problem | Ex. Solution |
+ 75    | --- | --- |
+ 76    | Area of circle with radius $29=$ | $2642.08$ |
+ 77    """
+ 78    r = random.randint(0, max_radius)
+ 79    area = round(pi * r * r, 2)
+ 80
+ 81    problem = f'Area of circle with radius ${r}=$'
+ 82    return problem, f'${area}$'
+ 83
+ 84
+ 85def area_of_circle_given_center_and_point(max_coordinate=10, max_radius=10):
+ 86    r"""Area of Circle given center and a point on circle
+ 87
+ 88    | Ex. Problem | Ex. Solution |
+ 89    | --- | --- |
+ 90    | Area of circle with center $(7,-6)$ and passing through $(1.0, -6.0)$ is | $113.1$ |
+ 91    """
+ 92    r = random.randint(0, max_radius)
+ 93    center_x = random.randint(-max_coordinate, max_coordinate)
+ 94    center_y = random.randint(-max_coordinate, max_coordinate)
+ 95
+ 96    angle = random.choice([0, pi // 6, pi // 2, pi, pi + pi // 6, 3 * pi // 2])
+ 97
+ 98    point_x = center_x + round(r * cos(angle), 2)
+ 99    point_y = center_y + round(r * sin(angle), 2)
+100
+101    area = round(pi * r * r, 2)
+102
+103    problem = f"Area of circle with center $({center_x},{center_y})$ and passing through $({point_x}, {point_y})$ is"
+104    return problem, f'${area}$'
+105
+106
+107def area_of_triangle(max_a=20, max_b=20):
+108    r"""Area of Triangle
+109
+110    | Ex. Problem | Ex. Solution |
+111    | --- | --- |
+112    | Area of triangle with side lengths: $8, 1, 8 = $ | $3.99$ |
+113    """
+114    a = random.randint(1, max_a)
+115    b = random.randint(1, max_b)
+116    c = random.randint(abs(b - a) + 1, abs(a + b) - 1)
+117
+118    s = (a + b + c) / 2
+119    area = (s * (s - a) * (s - b) * (s - c))**0.5
+120
+121    problem = f"Area of triangle with side lengths: ${a}, {b}, {c} = $"
+122    solution = f'${round(area, 2)}$'
+123    return problem, solution
+124
+125
+126# Handles degrees in quadrant one
+127def basic_trigonometry(angles=[0, 30, 45, 60, 90],
+128                       functions=["sin", "cos", "tan"]):
+129    r"""Trigonometric Values
+130
+131    | Ex. Problem | Ex. Solution |
+132    | --- | --- |
+133    | $\sin(30) = $ | $\frac{1}{2}$ |
+134    """
+135    angle = random.choice(angles)
+136    function = random.choice(functions)
+137
+138    problem = rf"$\{function}({angle}) = $"
+139
+140    expression = 'math.' + function + '(math.radians(angle))'
+141    result_fraction_map = {
+142        0.0: "0",
+143        0.5: r"\frac{1}{2}",
+144        0.71: r"\frac{1}{\sqrt{2}}",
+145        0.87: r"\frac{\sqrt{3}}{2}",
+146        1.0: "1",
+147        0.58: r"\frac{1}{\sqrt{3}}",
+148        1.73: r"\sqrt{3}",
+149    }
+150
+151    solution = result_fraction_map[round(eval(expression), 2)] if round(
+152        eval(expression), 2) <= 99999 else r"\infty"  # for handling the ∞ condition
+153
+154    return problem, f'${solution}$'
+155
+156
+157def circumference(max_radius=100):
+158    r"""Circumference of Circle
+159
+160    | Ex. Problem | Ex. Solution |
+161    | --- | --- |
+162    | Circumference of circle with radius $56 = $ | $351.86$ |
+163    """
+164    r = random.randint(0, max_radius)
+165    circumference = round(2 * math.pi * r, 2)
+166
+167    problem = f"Circumference of circle with radius ${r} = $"
+168    return problem, f'${circumference}$'
+169
+170
+171def complementary_and_supplementary_angle(max_supp=180, max_comp=90):
+172    r"""Complementary and Supplementary Angle
+173
+174    | Ex. Problem | Ex. Solution |
+175    | --- | --- |
+176    | The complementary angle of $15 =$ | $75$ |
+177    """
+178    angleType = random.choice(["supplementary", "complementary"])
+179
+180    if angleType == "supplementary":
+181        angle = random.randint(1, max_supp)
+182        angleAns = 180 - angle
+183    else:
+184        angle = random.randint(1, max_comp)
+185        angleAns = 90 - angle
+186
+187    problem = f"The {angleType} angle of ${angle} =$"
+188    solution = f'${angleAns}$'
+189    return problem, solution
+190
+191
+192def curved_surface_area_cylinder(max_radius=49, max_height=99):
+193    r"""Curved surface area of a cylinder
+194
+195    | Ex. Problem | Ex. Solution |
+196    | --- | --- |
+197    | What is the curved surface area of a cylinder of radius, $44$ and height, $92$? | $25434.33$ |
+198    """
+199    r = random.randint(1, max_radius)
+200    h = random.randint(1, max_height)
+201    csa = float(2 * math.pi * r * h)
+202    formatted_float = round(csa, 2)  # "{:.5f}".format(csa)
+203
+204    problem = f"What is the curved surface area of a cylinder of radius, ${r}$ and height, ${h}$?"
+205    solution = f"${formatted_float}$"
+206    return problem, solution
+207
+208
+209def degree_to_rad(max_deg=360):
+210    r"""Degrees to Radians
+211
+212    | Ex. Problem | Ex. Solution |
+213    | --- | --- |
+214    | Angle $113$ degrees in radians is: | $1.97$ |
+215    """
+216    a = random.randint(0, max_deg)
+217    b = (math.pi * a) / 180
+218    b = round(b, 2)
+219
+220    problem = f"Angle ${a}$ degrees in radians is: "
+221    solution = f'${b}$'
+222    return problem, solution
+223
+224
+225def equation_of_line_from_two_points(max_coordinate=20, min_coordinate=-20):
+226    r"""Equation of line from two points
+227
+228    | Ex. Problem | Ex. Solution |
+229    | --- | --- |
+230    | What is the equation of the line between points $(13,9)$ and $(6,-19)$ in slope-intercept form? | $y = 4x -43$ |
+231    """
+232    x1 = random.randint(min_coordinate, max_coordinate)
+233    x2 = random.randint(min_coordinate, max_coordinate)
+234
+235    y1 = random.randint(min_coordinate, max_coordinate)
+236    y2 = random.randint(min_coordinate, max_coordinate)
+237
+238    coeff_y = (x2 - x1)
+239    coeff_x = (y2 - y1)
+240    constant = y2 * coeff_y - x2 * coeff_x
+241
+242    gcd = math.gcd(abs(coeff_x), abs(coeff_y))
+243
+244    if gcd != 1:
+245        if coeff_y > 0:
+246            coeff_y //= gcd
+247        if coeff_x > 0:
+248            coeff_x //= gcd
+249        if constant > 0:
+250            constant //= gcd
+251        if coeff_y < 0:
+252            coeff_y = -(-coeff_y // gcd)
+253        if coeff_x < 0:
+254            coeff_x = -(-coeff_x // gcd)
+255        if constant < 0:
+256            constant = -(-constant // gcd)
+257    if coeff_y < 0:
+258        coeff_y = -(coeff_y)
+259        coeff_x = -(coeff_x)
+260        constant = -(constant)
+261    if coeff_x in [1, -1]:
+262        if coeff_x == 1:
+263            coeff_x = ''
+264        else:
+265            coeff_x = '-'
+266    if coeff_y in [1, -1]:
+267        if coeff_y == 1:
+268            coeff_y = ''
+269        else:
+270            coeff_y = '-'
+271
+272    problem = f"What is the equation of the line between points $({x1},{y1})$ and $({x2},{y2})$ in slope-intercept form?"
+273    if coeff_x == 0:
+274        solution = str(coeff_y) + "y = " + str(constant)
+275    elif coeff_y == 0:
+276        solution = str(coeff_x) + "x = " + str(-constant)
+277    else:
+278        if constant > 0:
+279            solution = str(coeff_y) + "y = " + str(coeff_x) + \
+280                "x + " + str(constant)
+281        else:
+282            solution = str(coeff_y) + "y = " + \
+283                str(coeff_x) + "x " + str(constant)
+284    return problem, f'${solution}$'
+285
+286
+287def fourth_angle_of_quadrilateral(max_angle=180):
+288    r"""Fourth Angle of Quadrilateral
+289
+290    | Ex. Problem | Ex. Solution |
+291    | --- | --- |
+292    | Fourth angle of quadrilateral with angles $162 , 43, 78 =$ | $77$ |
+293    """
+294    angle1 = random.randint(1, max_angle)
+295    angle2 = random.randint(1, 240 - angle1)
+296    angle3 = random.randint(1, 340 - (angle1 + angle2))
+297
+298    sum_ = angle1 + angle2 + angle3
+299    angle4 = 360 - sum_
+300
+301    problem = f"Fourth angle of quadrilateral with angles ${angle1} , {angle2}, {angle3} =$"
+302    solution = f'${angle4}$'
+303    return problem, solution
+304
+305
+306def perimeter_of_polygons(max_sides=12, max_length=120):
+307    r"""Perimeter of Polygons
+308
+309    | Ex. Problem | Ex. Solution |
+310    | --- | --- |
+311    | The perimeter of a $4$ sided polygon with lengths of $30, 105, 78, 106$cm is: | $319$ |
+312    """
+313    size_of_sides = random.randint(3, max_sides)
+314    sides = [random.randint(1, max_length) for _ in range(size_of_sides)]
+315
+316    problem = f"The perimeter of a ${size_of_sides}$ sided polygon with lengths of ${', '.join(map(str, sides))}$cm is: "
+317    solution = sum(sides)
+318
+319    return problem, f'${solution}$'
+320
+321
+322def pythagorean_theorem(max_length=20):
+323    """Pythagorean Theorem
+324
+325    | Ex. Problem | Ex. Solution |
+326    | --- | --- |
+327    | What is the hypotenuse of a right triangle given the other two sides have lengths $9$ and $10$? | $13.45$ |
+328    """
+329    a = random.randint(1, max_length)
+330    b = random.randint(1, max_length)
+331    c = round((a ** 2 + b ** 2) ** 0.5, 2)
+332
+333    problem = f"What is the hypotenuse of a right triangle given the other two sides have lengths ${a}$ and ${b}$?"
+334    solution = f"${c}$"
+335    return problem, solution
+336
+337
+338def radian_to_deg(max_rad=6.28):
+339    """Radians to Degrees"""
+340    a = random.randint(0, int(max_rad * 100)) / 100
+341    b = round((180 * a) / math.pi, 2)
+342
+343    problem = f"Angle ${a}$ radians in degrees is: "
+344    solution = f'${b}$'
+345    return problem, solution
+346
+347
+348def sector_area(max_radius=49, max_angle=359):
+349    """Area of a Sector
+350
+351    | Ex. Problem | Ex. Solution |
+352    | --- | --- |
+353    | What is the area of a sector with radius $42$ and angle $83$ degrees? | $1277.69$ |
+354    """
+355    r = random.randint(1, max_radius)
+356    a = random.randint(1, max_angle)
+357    secArea = float((a / 360) * math.pi * r * r)
+358    formatted_float = round(secArea, 2)
+359
+360    problem = f"What is the area of a sector with radius ${r}$ and angle ${a}$ degrees?"
+361    solution = f"${formatted_float}$"
+362    return problem, solution
+363
+364
+365def sum_of_polygon_angles(max_sides=12):
+366    """Sum of Angles of Polygon
+367
+368    | Ex. Problem | Ex. Solution |
+369    | --- | --- |
+370    | What is the sum of interior angles of a polygon with $8$ sides? | $1080$ |
+371    """
+372    side_count = random.randint(3, max_sides)
+373    sum = (side_count - 2) * 180
+374
+375    problem = f"What is the sum of interior angles of a polygon with ${side_count}$ sides?"
+376    return problem, f'${sum}$'
+377
+378
+379def surface_area_cone(max_radius=20, max_height=50, unit='m'):
+380    """Surface area of a cone
+381
+382    | Ex. Problem | Ex. Solution |
+383    | --- | --- |
+384    | Surface area of cone with height $= 26m$ and radius $= 6m$ is | $616 m^2$ |
+385    """
+386    a = random.randint(1, max_height)
+387    b = random.randint(1, max_radius)
+388
+389    slopingHeight = math.sqrt(a**2 + b**2)
+390    ans = int(math.pi * b * slopingHeight + math.pi * b * b)
+391
+392    problem = f"Surface area of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+393    solution = f"${ans} {unit}^2$"
+394    return problem, solution
+395
+396
+397def surface_area_cube(max_side=20, unit='m'):
+398    """Surface area of a cube
+399
+400    | Ex. Problem | Ex. Solution |
+401    | --- | --- |
+402    | Surface area of cube with side $= 6m$ is | $216 m^2$ |
+403    """
+404    a = random.randint(1, max_side)
+405    ans = 6 * (a ** 2)
+406
+407    problem = f"Surface area of cube with side $= {a}{unit}$ is"
+408    solution = f"${ans} {unit}^2$"
+409    return problem, solution
+410
+411
+412def surface_area_cuboid(max_side=20, unit='m'):
+413    """Surface area of a cuboid
+414
+415    | Ex. Problem | Ex. Solution |
+416    | --- | --- |
+417    | Surface area of cuboid with sides of lengths: $11m, 20m, 8m$ is | $936 m^2$ |
+418    """
+419    a = random.randint(1, max_side)
+420    b = random.randint(1, max_side)
+421    c = random.randint(1, max_side)
+422    ans = 2 * (a * b + b * c + c * a)
+423
+424    problem = f"Surface area of cuboid with sides of lengths: ${a}{unit}, {b}{unit}, {c}{unit}$ is"
+425    solution = f"${ans} {unit}^2$"
+426    return problem, solution
+427
+428
+429def surface_area_cylinder(max_radius=20, max_height=50, unit='m'):
+430    """Surface area of a cylinder
+431
+432    | Ex. Problem | Ex. Solution |
+433    | --- | --- |
+434    | Surface area of cylinder with height $= 26m$ and radius $= 15m$ is | $3864 m^2$ |
+435    """
+436    a = random.randint(1, max_height)
+437    b = random.randint(1, max_radius)
+438    ans = int(2 * math.pi * a * b + 2 * math.pi * b * b)
+439
+440    problem = f"Surface area of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+441    solution = f"${ans} {unit}^2$"
+442    return problem, solution
+443
+444
+445def surface_area_pyramid(unit='m'):
+446    """Surface area of a pyramid
+447
+448    | Ex. Problem | Ex. Solution |
+449    | --- | --- |
+450    | Surface area of pyramid with base length $= 30m$, base width $= 40m$, and height $= 25m$ is | $2400 m^2$ |
+451    """
+452    # List of Pythagorean triplets
+453    _PYTHAGOREAN = [(3, 4, 5),
+454                    (6, 8, 10),
+455                    (9, 12, 15),
+456                    (12, 16, 20),
+457                    (15, 20, 25),
+458                    (5, 12, 13),
+459                    (10, 24, 26),
+460                    (7, 24, 25)]
+461
+462    # Generate first triplet
+463    height, half_width, triangle_height_1 = random.sample(
+464        random.choice(_PYTHAGOREAN), 3)
+465
+466    # Calculate first triangle's area
+467    triangle_1 = half_width * triangle_height_1
+468
+469    # Generate second triplet
+470    second_triplet = random.choice([i for i in _PYTHAGOREAN if height in i])
+471    half_length, triangle_height_2 = random.sample(
+472        tuple(i for i in second_triplet if i != height), 2)
+473
+474    # Calculate second triangle's area
+475    triangle_2 = half_length * triangle_height_2
+476
+477    # Calculate base area
+478    base = 4 * half_width * half_length
+479
+480    ans = base + 2 * triangle_1 + 2 * triangle_2
+481
+482    problem = f"Surface area of pyramid with base length $= {2*half_length}{unit}$, base width $= {2*half_width}{unit}$, and height $= {height}{unit}$ is"
+483    solution = f"${ans} {unit}^2$"
+484    return problem, solution
+485
+486
+487def surface_area_sphere(max_side=20, unit='m'):
+488    """Surface area of a sphere
+489
+490    | Ex. Problem | Ex. Solution |
+491    | --- | --- |
+492    | Surface area of a sphere with radius $= 8m$ is | $804.25 m^2$ |
+493    """
+494    r = random.randint(1, max_side)
+495    ans = round(4 * math.pi * r * r, 2)
+496
+497    problem = f"Surface area of a sphere with radius $= {r}{unit}$ is"
+498    solution = f"${ans} {unit}^2$"
+499    return problem, solution
+500
+501
+502def third_angle_of_triangle(max_angle=89):
+503    """Third Angle of Triangle
+504
+505    | Ex. Problem | Ex. Solution |
+506    | --- | --- |
+507    | Third angle of triangle with angles $10$ and $22 =$ | $148$ |
+508    """
+509    angle1 = random.randint(1, max_angle)
+510    angle2 = random.randint(1, max_angle)
+511    angle3 = 180 - (angle1 + angle2)
+512
+513    problem = f"Third angle of triangle with angles ${angle1}$ and ${angle2} = $"
+514    return problem, f'${angle3}$'
+515
+516
+517def valid_triangle(max_side_length=50):
+518    """Valid Triangle
+519
+520    | Ex. Problem | Ex. Solution |
+521    | --- | --- |
+522    | Does triangel with sides $10, 31$ and $14$ exist? | No |
+523    """
+524    sideA = random.randint(1, max_side_length)
+525    sideB = random.randint(1, max_side_length)
+526    sideC = random.randint(1, max_side_length)
+527
+528    sideSums = [sideA + sideB, sideB + sideC, sideC + sideA]
+529    sides = [sideC, sideA, sideB]
+530
+531    exists = True & (sides[0] < sideSums[0]) & (sides[1] < sideSums[1]) & (
+532        sides[2] < sideSums[2])
+533
+534    problem = f"Does triangle with sides ${sideA}, {sideB}$ and ${sideC}$ exist?"
+535    solution = "Yes" if exists else "No"
+536    return problem, f'${solution}$'
+537
+538
+539def volume_cone(max_radius=20, max_height=50, unit='m'):
+540    """Volume of a cone
+541
+542    | Ex. Problem | Ex. Solution |
+543    | --- | --- |
+544    | Volume of cone with height $= 44m$ and radius $= 11m$ is | $5575 m^3$ |
+545    """
+546    a = random.randint(1, max_height)
+547    b = random.randint(1, max_radius)
+548    ans = int(math.pi * b * b * a * (1 / 3))
+549
+550    problem = f"Volume of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+551    solution = f"${ans} {unit}^3$"
+552    return problem, solution
+553
+554
+555def volume_cube(max_side=20, unit='m'):
+556    """Volume of a cube
+557    | Ex. Problem | Ex. Solution |
+558    | --- | --- |
+559    | Volume of a cube with a side length of $19m$ is | $6859 m^3$ |
+560    """
+561    a = random.randint(1, max_side)
+562    ans = a**3
+563
+564    problem = f"Volume of cube with a side length of ${a}{unit}$ is"
+565    solution = f"${ans} {unit}^3$"
+566    return problem, solution
+567
+568
+569def volume_cuboid(max_side=20, unit='m'):
+570    """Volume of a cuboid
+571
+572    | Ex. Problem | Ex. Solution |
+573    | --- | --- |
+574    | Volume of cuboid with sides = $17m, 11m, 13m$ is | $2431 m^3$ |
+575    """
+576    a = random.randint(1, max_side)
+577    b = random.randint(1, max_side)
+578    c = random.randint(1, max_side)
+579    ans = a * b * c
+580
+581    problem = f"Volume of cuboid with sides = ${a}{unit}, {b}{unit}, {c}{unit}$ is"
+582    solution = f"${ans} {unit}^3$"
+583    return problem, solution
+584
+585
+586def volume_cylinder(max_radius=20, max_height=50, unit='m'):
+587    """Volume of a cylinder
+588
+589    | Ex. Problem | Ex. Solution |
+590    | --- | --- |
+591    | Volume of cylinder with height $= 3m$ and radius $= 10m$ is | $942 m^3$ |
+592    """
+593    a = random.randint(1, max_height)
+594    b = random.randint(1, max_radius)
+595    ans = int(math.pi * b * b * a)
+596
+597    problem = f"Volume of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+598    solution = f"${ans} {unit}^3$"
+599    return problem, solution
+600
+601
+602def volume_cone_frustum(max_r1=20, max_r2=20, max_height=50, unit='m'):
+603    """Volume of the frustum of a cone
+604
+605    | Ex. Problem | Ex. Solution |
+606    | --- | --- |
+607    | Volume of frustum with height $= 30m$ and $r1 = 20m$ is and $r2 = 8m$ is | $19603.54 m^3$ |
+608    """
+609    h = random.randint(1, max_height)
+610    r1 = random.randint(1, max_r1)
+611    r2 = random.randint(1, max_r2)
+612    ans = round(((math.pi * h) * (r1 ** 2 + r2 ** 2 + r1 * r2)) / 3, 2)
+613
+614    problem = f"Volume of frustum with height $= {h}{unit}$ and $r1 = {r1}{unit}$ is and $r2 = {r2}{unit}$ is "
+615    solution = f"${ans} {unit}^3$"
+616    return problem, solution
+617
+618
+619def volume_hemisphere(max_radius=100):
+620    """Volume of a hemisphere
+621
+622    | Ex. Problem | Ex. Solution |
+623    | --- | --- |
+624    | Volume of hemisphere with radius $32m =$ | $68629.14 m^3$ |
+625    """
+626    r = random.randint(1, max_radius)
+627    ans = round((2 * math.pi / 3) * r**3, 2)
+628
+629    problem = f"Volume of hemisphere with radius ${r} m =$ "
+630    solution = f"${ans} m^3$"
+631    return problem, solution
+632
+633
+634def volume_pyramid(max_length=20, max_width=20, max_height=50, unit='m'):
+635    """Volume of a pyramid
+636
+637    | Ex. Problem | Ex. Solution |
+638    | --- | --- |
+639    | Volume of pyramid with base length $= 7 m$, base width $= 18 m$ and height $= 42 m$ is | $1764.0 m^3$ |
+640    """
+641    length = random.randint(1, max_length)
+642    width = random.randint(1, max_width)
+643    height = random.randint(1, max_height)
+644
+645    ans = round((length * width * height) / 3, 2)
+646
+647    problem = f"Volume of pyramid with base length $= {length} {unit}$, base width $= {width} {unit}$ and height $= {height} {unit}$ is"
+648    solution = f"${ans} {unit}^3$"
+649    return problem, solution
+650
+651
+652def volume_sphere(max_radius=100):
+653    """Volume of a sphere
+654
+655    | Ex. Problem | Ex. Solution |
+656    | --- | --- |
+657    | Volume of sphere with radius $30 m = $ | $113097.36 m^3$ |
+658    """
+659    r = random.randint(1, max_radius)
+660    ans = round((4 * math.pi / 3) * r**3, 2)
+661
+662    problem = f"Volume of sphere with radius ${r} m = $"
+663    solution = f"${ans} m^3$"
+664    return problem, solution
+
+ + +
+
+ +
+ + def + angle_btw_vectors(max_elt_amt=20): + + + +
+ +
 7def angle_btw_vectors(max_elt_amt=20):
+ 8    r"""Angle between 2 vectors
+ 9
+10    | Ex. Problem | Ex. Solution |
+11    | --- | --- |
+12    | angle between the vectors $[363.84, 195.54, 997.08, 39.26, 60.14, 722.7, 888.57, 713.15, 436.22, 712.23, 349.23, 595.91, 191.8, 824.58, 861.56, 122.73, 815.14, 700.68, 506.5]$ and $[760.85, 934.67, 513.37, 796.93, 809.97, 423.54, 162.69, 758.96, 133.42, 478.14, 771.84, 824.88, 483.07, 134.41, 954.41, 893.42, 191.01, 453.97, 648.59]$ is: | $0.81$ radians |
+13    """
+14    s = 0
+15    v1 = [
+16        round(random.uniform(0, 1000), 2)
+17        for i in range(random.randint(2, max_elt_amt))
+18    ]
+19    v2 = [round(random.uniform(0, 1000), 2) for i in v1]
+20    for i in range(len(v1)):
+21        s += v1[i] * v2[i]
+22
+23    mags = math.sqrt(sum([i**2
+24                          for i in v1])) * math.sqrt(sum([i**2 for i in v2]))
+25    solution = ''
+26    ans = 0
+27    try:
+28        ans = round(math.acos(s / mags), 2)
+29        solution = f"${ans}$ radians"
+30    except ValueError:
+31        print('angleBtwVectorsFunc has some issues with math module, line 16')
+32        solution = 'NaN'
+33        ans = 'NaN'
+34    # would return the answer in radians
+35    problem = f"angle between the vectors ${v1}$ and ${v2}$ is:"
+36    return problem, solution
+
+ + +

Angle between 2 vectors

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
angle between the vectors $[363.84, 195.54, 997.08, 39.26, 60.14, 722.7, 888.57, 713.15, 436.22, 712.23, 349.23, 595.91, 191.8, 824.58, 861.56, 122.73, 815.14, 700.68, 506.5]$ and $[760.85, 934.67, 513.37, 796.93, 809.97, 423.54, 162.69, 758.96, 133.42, 478.14, 771.84, 824.88, 483.07, 134.41, 954.41, 893.42, 191.01, 453.97, 648.59]$ is:$0.81$ radians
+
+ + +
+
+ +
+ + def + angle_regular_polygon(min_val=3, max_val=20): + + + +
+ +
39def angle_regular_polygon(min_val=3, max_val=20):
+40    r"""Angle of a Regular Polygon
+41
+42    | Ex. Problem | Ex. Solution |
+43    | --- | --- |
+44    | Find the angle of a regular polygon with $8$ sides | $135.0$ |
+45    """
+46    sideNum = random.randint(min_val, max_val)
+47    problem = f"Find the angle of a regular polygon with ${sideNum}$ sides"
+48
+49    exteriorAngle = round((360 / sideNum), 2)
+50    solution = f'${180 - exteriorAngle}$'
+51
+52    return problem, solution
+
+ + +

Angle of a Regular Polygon

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the angle of a regular polygon with $8$ sides$135.0$
+
+ + +
+
+ +
+ + def + arc_length(max_radius=49, max_angle=359): + + + +
+ +
55def arc_length(max_radius=49, max_angle=359):
+56    r"""Arc length of Angle
+57
+58    | Ex. Problem | Ex. Solution |
+59    | --- | --- |
+60    | Given radius, $44$ and angle, $184$. Find the arc length of the angle. | Arc length of the angle $= 141.30186$ |
+61    """
+62    radius = random.randint(1, max_radius)
+63    angle = random.randint(1, max_angle)
+64    angle_arc_length = float((angle / 360) * 2 * math.pi * radius)
+65    formatted_float = "{:.5f}".format(angle_arc_length)
+66
+67    problem = f"Given radius, ${radius}$ and angle, ${angle}$. Find the arc length of the angle."
+68    solution = f"Arc length of the angle $= {formatted_float}$"
+69    return problem, solution
+
+ + +

Arc length of Angle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Given radius, $44$ and angle, $184$. Find the arc length of the angle.Arc length of the angle $= 141.30186$
+
+ + +
+
+ +
+ + def + area_of_circle(max_radius=100): + + + +
+ +
72def area_of_circle(max_radius=100):
+73    r"""Area of Circle
+74
+75    | Ex. Problem | Ex. Solution |
+76    | --- | --- |
+77    | Area of circle with radius $29=$ | $2642.08$ |
+78    """
+79    r = random.randint(0, max_radius)
+80    area = round(pi * r * r, 2)
+81
+82    problem = f'Area of circle with radius ${r}=$'
+83    return problem, f'${area}$'
+
+ + +

Area of Circle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Area of circle with radius $29=$$2642.08$
+
+ + +
+
+ +
+ + def + area_of_circle_given_center_and_point(max_coordinate=10, max_radius=10): + + + +
+ +
 86def area_of_circle_given_center_and_point(max_coordinate=10, max_radius=10):
+ 87    r"""Area of Circle given center and a point on circle
+ 88
+ 89    | Ex. Problem | Ex. Solution |
+ 90    | --- | --- |
+ 91    | Area of circle with center $(7,-6)$ and passing through $(1.0, -6.0)$ is | $113.1$ |
+ 92    """
+ 93    r = random.randint(0, max_radius)
+ 94    center_x = random.randint(-max_coordinate, max_coordinate)
+ 95    center_y = random.randint(-max_coordinate, max_coordinate)
+ 96
+ 97    angle = random.choice([0, pi // 6, pi // 2, pi, pi + pi // 6, 3 * pi // 2])
+ 98
+ 99    point_x = center_x + round(r * cos(angle), 2)
+100    point_y = center_y + round(r * sin(angle), 2)
+101
+102    area = round(pi * r * r, 2)
+103
+104    problem = f"Area of circle with center $({center_x},{center_y})$ and passing through $({point_x}, {point_y})$ is"
+105    return problem, f'${area}$'
+
+ + +

Area of Circle given center and a point on circle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Area of circle with center $(7,-6)$ and passing through $(1.0, -6.0)$ is$113.1$
+
+ + +
+
+ +
+ + def + area_of_triangle(max_a=20, max_b=20): + + + +
+ +
108def area_of_triangle(max_a=20, max_b=20):
+109    r"""Area of Triangle
+110
+111    | Ex. Problem | Ex. Solution |
+112    | --- | --- |
+113    | Area of triangle with side lengths: $8, 1, 8 = $ | $3.99$ |
+114    """
+115    a = random.randint(1, max_a)
+116    b = random.randint(1, max_b)
+117    c = random.randint(abs(b - a) + 1, abs(a + b) - 1)
+118
+119    s = (a + b + c) / 2
+120    area = (s * (s - a) * (s - b) * (s - c))**0.5
+121
+122    problem = f"Area of triangle with side lengths: ${a}, {b}, {c} = $"
+123    solution = f'${round(area, 2)}$'
+124    return problem, solution
+
+ + +

Area of Triangle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Area of triangle with side lengths: $8, 1, 8 = $$3.99$
+
+ + +
+
+ +
+ + def + basic_trigonometry(angles=[0, 30, 45, 60, 90], functions=['sin', 'cos', 'tan']): + + + +
+ +
128def basic_trigonometry(angles=[0, 30, 45, 60, 90],
+129                       functions=["sin", "cos", "tan"]):
+130    r"""Trigonometric Values
+131
+132    | Ex. Problem | Ex. Solution |
+133    | --- | --- |
+134    | $\sin(30) = $ | $\frac{1}{2}$ |
+135    """
+136    angle = random.choice(angles)
+137    function = random.choice(functions)
+138
+139    problem = rf"$\{function}({angle}) = $"
+140
+141    expression = 'math.' + function + '(math.radians(angle))'
+142    result_fraction_map = {
+143        0.0: "0",
+144        0.5: r"\frac{1}{2}",
+145        0.71: r"\frac{1}{\sqrt{2}}",
+146        0.87: r"\frac{\sqrt{3}}{2}",
+147        1.0: "1",
+148        0.58: r"\frac{1}{\sqrt{3}}",
+149        1.73: r"\sqrt{3}",
+150    }
+151
+152    solution = result_fraction_map[round(eval(expression), 2)] if round(
+153        eval(expression), 2) <= 99999 else r"\infty"  # for handling the ∞ condition
+154
+155    return problem, f'${solution}$'
+
+ + +

Trigonometric Values

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$\sin(30) = $$\frac{1}{2}$
+
+ + +
+
+ +
+ + def + circumference(max_radius=100): + + + +
+ +
158def circumference(max_radius=100):
+159    r"""Circumference of Circle
+160
+161    | Ex. Problem | Ex. Solution |
+162    | --- | --- |
+163    | Circumference of circle with radius $56 = $ | $351.86$ |
+164    """
+165    r = random.randint(0, max_radius)
+166    circumference = round(2 * math.pi * r, 2)
+167
+168    problem = f"Circumference of circle with radius ${r} = $"
+169    return problem, f'${circumference}$'
+
+ + +

Circumference of Circle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Circumference of circle with radius $56 = $$351.86$
+
+ + +
+
+ +
+ + def + complementary_and_supplementary_angle(max_supp=180, max_comp=90): + + + +
+ +
172def complementary_and_supplementary_angle(max_supp=180, max_comp=90):
+173    r"""Complementary and Supplementary Angle
+174
+175    | Ex. Problem | Ex. Solution |
+176    | --- | --- |
+177    | The complementary angle of $15 =$ | $75$ |
+178    """
+179    angleType = random.choice(["supplementary", "complementary"])
+180
+181    if angleType == "supplementary":
+182        angle = random.randint(1, max_supp)
+183        angleAns = 180 - angle
+184    else:
+185        angle = random.randint(1, max_comp)
+186        angleAns = 90 - angle
+187
+188    problem = f"The {angleType} angle of ${angle} =$"
+189    solution = f'${angleAns}$'
+190    return problem, solution
+
+ + +

Complementary and Supplementary Angle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The complementary angle of $15 =$$75$
+
+ + +
+
+ +
+ + def + curved_surface_area_cylinder(max_radius=49, max_height=99): + + + +
+ +
193def curved_surface_area_cylinder(max_radius=49, max_height=99):
+194    r"""Curved surface area of a cylinder
+195
+196    | Ex. Problem | Ex. Solution |
+197    | --- | --- |
+198    | What is the curved surface area of a cylinder of radius, $44$ and height, $92$? | $25434.33$ |
+199    """
+200    r = random.randint(1, max_radius)
+201    h = random.randint(1, max_height)
+202    csa = float(2 * math.pi * r * h)
+203    formatted_float = round(csa, 2)  # "{:.5f}".format(csa)
+204
+205    problem = f"What is the curved surface area of a cylinder of radius, ${r}$ and height, ${h}$?"
+206    solution = f"${formatted_float}$"
+207    return problem, solution
+
+ + +

Curved surface area of a cylinder

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the curved surface area of a cylinder of radius, $44$ and height, $92$?$25434.33$
+
+ + +
+
+ +
+ + def + degree_to_rad(max_deg=360): + + + +
+ +
210def degree_to_rad(max_deg=360):
+211    r"""Degrees to Radians
+212
+213    | Ex. Problem | Ex. Solution |
+214    | --- | --- |
+215    | Angle $113$ degrees in radians is: | $1.97$ |
+216    """
+217    a = random.randint(0, max_deg)
+218    b = (math.pi * a) / 180
+219    b = round(b, 2)
+220
+221    problem = f"Angle ${a}$ degrees in radians is: "
+222    solution = f'${b}$'
+223    return problem, solution
+
+ + +

Degrees to Radians

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Angle $113$ degrees in radians is:$1.97$
+
+ + +
+
+ +
+ + def + equation_of_line_from_two_points(max_coordinate=20, min_coordinate=-20): + + + +
+ +
226def equation_of_line_from_two_points(max_coordinate=20, min_coordinate=-20):
+227    r"""Equation of line from two points
+228
+229    | Ex. Problem | Ex. Solution |
+230    | --- | --- |
+231    | What is the equation of the line between points $(13,9)$ and $(6,-19)$ in slope-intercept form? | $y = 4x -43$ |
+232    """
+233    x1 = random.randint(min_coordinate, max_coordinate)
+234    x2 = random.randint(min_coordinate, max_coordinate)
+235
+236    y1 = random.randint(min_coordinate, max_coordinate)
+237    y2 = random.randint(min_coordinate, max_coordinate)
+238
+239    coeff_y = (x2 - x1)
+240    coeff_x = (y2 - y1)
+241    constant = y2 * coeff_y - x2 * coeff_x
+242
+243    gcd = math.gcd(abs(coeff_x), abs(coeff_y))
+244
+245    if gcd != 1:
+246        if coeff_y > 0:
+247            coeff_y //= gcd
+248        if coeff_x > 0:
+249            coeff_x //= gcd
+250        if constant > 0:
+251            constant //= gcd
+252        if coeff_y < 0:
+253            coeff_y = -(-coeff_y // gcd)
+254        if coeff_x < 0:
+255            coeff_x = -(-coeff_x // gcd)
+256        if constant < 0:
+257            constant = -(-constant // gcd)
+258    if coeff_y < 0:
+259        coeff_y = -(coeff_y)
+260        coeff_x = -(coeff_x)
+261        constant = -(constant)
+262    if coeff_x in [1, -1]:
+263        if coeff_x == 1:
+264            coeff_x = ''
+265        else:
+266            coeff_x = '-'
+267    if coeff_y in [1, -1]:
+268        if coeff_y == 1:
+269            coeff_y = ''
+270        else:
+271            coeff_y = '-'
+272
+273    problem = f"What is the equation of the line between points $({x1},{y1})$ and $({x2},{y2})$ in slope-intercept form?"
+274    if coeff_x == 0:
+275        solution = str(coeff_y) + "y = " + str(constant)
+276    elif coeff_y == 0:
+277        solution = str(coeff_x) + "x = " + str(-constant)
+278    else:
+279        if constant > 0:
+280            solution = str(coeff_y) + "y = " + str(coeff_x) + \
+281                "x + " + str(constant)
+282        else:
+283            solution = str(coeff_y) + "y = " + \
+284                str(coeff_x) + "x " + str(constant)
+285    return problem, f'${solution}$'
+
+ + +

Equation of line from two points

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the equation of the line between points $(13,9)$ and $(6,-19)$ in slope-intercept form?$y = 4x -43$
+
+ + +
+
+ +
+ + def + fourth_angle_of_quadrilateral(max_angle=180): + + + +
+ +
288def fourth_angle_of_quadrilateral(max_angle=180):
+289    r"""Fourth Angle of Quadrilateral
+290
+291    | Ex. Problem | Ex. Solution |
+292    | --- | --- |
+293    | Fourth angle of quadrilateral with angles $162 , 43, 78 =$ | $77$ |
+294    """
+295    angle1 = random.randint(1, max_angle)
+296    angle2 = random.randint(1, 240 - angle1)
+297    angle3 = random.randint(1, 340 - (angle1 + angle2))
+298
+299    sum_ = angle1 + angle2 + angle3
+300    angle4 = 360 - sum_
+301
+302    problem = f"Fourth angle of quadrilateral with angles ${angle1} , {angle2}, {angle3} =$"
+303    solution = f'${angle4}$'
+304    return problem, solution
+
+ + +

Fourth Angle of Quadrilateral

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Fourth angle of quadrilateral with angles $162 , 43, 78 =$$77$
+
+ + +
+
+ +
+ + def + perimeter_of_polygons(max_sides=12, max_length=120): + + + +
+ +
307def perimeter_of_polygons(max_sides=12, max_length=120):
+308    r"""Perimeter of Polygons
+309
+310    | Ex. Problem | Ex. Solution |
+311    | --- | --- |
+312    | The perimeter of a $4$ sided polygon with lengths of $30, 105, 78, 106$cm is: | $319$ |
+313    """
+314    size_of_sides = random.randint(3, max_sides)
+315    sides = [random.randint(1, max_length) for _ in range(size_of_sides)]
+316
+317    problem = f"The perimeter of a ${size_of_sides}$ sided polygon with lengths of ${', '.join(map(str, sides))}$cm is: "
+318    solution = sum(sides)
+319
+320    return problem, f'${solution}$'
+
+ + +

Perimeter of Polygons

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The perimeter of a $4$ sided polygon with lengths of $30, 105, 78, 106$cm is:$319$
+
+ + +
+
+ +
+ + def + pythagorean_theorem(max_length=20): + + + +
+ +
323def pythagorean_theorem(max_length=20):
+324    """Pythagorean Theorem
+325
+326    | Ex. Problem | Ex. Solution |
+327    | --- | --- |
+328    | What is the hypotenuse of a right triangle given the other two sides have lengths $9$ and $10$? | $13.45$ |
+329    """
+330    a = random.randint(1, max_length)
+331    b = random.randint(1, max_length)
+332    c = round((a ** 2 + b ** 2) ** 0.5, 2)
+333
+334    problem = f"What is the hypotenuse of a right triangle given the other two sides have lengths ${a}$ and ${b}$?"
+335    solution = f"${c}$"
+336    return problem, solution
+
+ + +

Pythagorean Theorem

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the hypotenuse of a right triangle given the other two sides have lengths $9$ and $10$?$13.45$
+
+ + +
+
+ +
+ + def + radian_to_deg(max_rad=6.28): + + + +
+ +
339def radian_to_deg(max_rad=6.28):
+340    """Radians to Degrees"""
+341    a = random.randint(0, int(max_rad * 100)) / 100
+342    b = round((180 * a) / math.pi, 2)
+343
+344    problem = f"Angle ${a}$ radians in degrees is: "
+345    solution = f'${b}$'
+346    return problem, solution
+
+ + +

Radians to Degrees

+
+ + +
+
+ +
+ + def + sector_area(max_radius=49, max_angle=359): + + + +
+ +
349def sector_area(max_radius=49, max_angle=359):
+350    """Area of a Sector
+351
+352    | Ex. Problem | Ex. Solution |
+353    | --- | --- |
+354    | What is the area of a sector with radius $42$ and angle $83$ degrees? | $1277.69$ |
+355    """
+356    r = random.randint(1, max_radius)
+357    a = random.randint(1, max_angle)
+358    secArea = float((a / 360) * math.pi * r * r)
+359    formatted_float = round(secArea, 2)
+360
+361    problem = f"What is the area of a sector with radius ${r}$ and angle ${a}$ degrees?"
+362    solution = f"${formatted_float}$"
+363    return problem, solution
+
+ + +

Area of a Sector

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the area of a sector with radius $42$ and angle $83$ degrees?$1277.69$
+
+ + +
+
+ +
+ + def + sum_of_polygon_angles(max_sides=12): + + + +
+ +
366def sum_of_polygon_angles(max_sides=12):
+367    """Sum of Angles of Polygon
+368
+369    | Ex. Problem | Ex. Solution |
+370    | --- | --- |
+371    | What is the sum of interior angles of a polygon with $8$ sides? | $1080$ |
+372    """
+373    side_count = random.randint(3, max_sides)
+374    sum = (side_count - 2) * 180
+375
+376    problem = f"What is the sum of interior angles of a polygon with ${side_count}$ sides?"
+377    return problem, f'${sum}$'
+
+ + +

Sum of Angles of Polygon

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
What is the sum of interior angles of a polygon with $8$ sides?$1080$
+
+ + +
+
+ +
+ + def + surface_area_cone(max_radius=20, max_height=50, unit='m'): + + + +
+ +
380def surface_area_cone(max_radius=20, max_height=50, unit='m'):
+381    """Surface area of a cone
+382
+383    | Ex. Problem | Ex. Solution |
+384    | --- | --- |
+385    | Surface area of cone with height $= 26m$ and radius $= 6m$ is | $616 m^2$ |
+386    """
+387    a = random.randint(1, max_height)
+388    b = random.randint(1, max_radius)
+389
+390    slopingHeight = math.sqrt(a**2 + b**2)
+391    ans = int(math.pi * b * slopingHeight + math.pi * b * b)
+392
+393    problem = f"Surface area of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+394    solution = f"${ans} {unit}^2$"
+395    return problem, solution
+
+ + +

Surface area of a cone

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of cone with height $= 26m$ and radius $= 6m$ is$616 m^2$
+
+ + +
+
+ +
+ + def + surface_area_cube(max_side=20, unit='m'): + + + +
+ +
398def surface_area_cube(max_side=20, unit='m'):
+399    """Surface area of a cube
+400
+401    | Ex. Problem | Ex. Solution |
+402    | --- | --- |
+403    | Surface area of cube with side $= 6m$ is | $216 m^2$ |
+404    """
+405    a = random.randint(1, max_side)
+406    ans = 6 * (a ** 2)
+407
+408    problem = f"Surface area of cube with side $= {a}{unit}$ is"
+409    solution = f"${ans} {unit}^2$"
+410    return problem, solution
+
+ + +

Surface area of a cube

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of cube with side $= 6m$ is$216 m^2$
+
+ + +
+
+ +
+ + def + surface_area_cuboid(max_side=20, unit='m'): + + + +
+ +
413def surface_area_cuboid(max_side=20, unit='m'):
+414    """Surface area of a cuboid
+415
+416    | Ex. Problem | Ex. Solution |
+417    | --- | --- |
+418    | Surface area of cuboid with sides of lengths: $11m, 20m, 8m$ is | $936 m^2$ |
+419    """
+420    a = random.randint(1, max_side)
+421    b = random.randint(1, max_side)
+422    c = random.randint(1, max_side)
+423    ans = 2 * (a * b + b * c + c * a)
+424
+425    problem = f"Surface area of cuboid with sides of lengths: ${a}{unit}, {b}{unit}, {c}{unit}$ is"
+426    solution = f"${ans} {unit}^2$"
+427    return problem, solution
+
+ + +

Surface area of a cuboid

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of cuboid with sides of lengths: $11m, 20m, 8m$ is$936 m^2$
+
+ + +
+
+ +
+ + def + surface_area_cylinder(max_radius=20, max_height=50, unit='m'): + + + +
+ +
430def surface_area_cylinder(max_radius=20, max_height=50, unit='m'):
+431    """Surface area of a cylinder
+432
+433    | Ex. Problem | Ex. Solution |
+434    | --- | --- |
+435    | Surface area of cylinder with height $= 26m$ and radius $= 15m$ is | $3864 m^2$ |
+436    """
+437    a = random.randint(1, max_height)
+438    b = random.randint(1, max_radius)
+439    ans = int(2 * math.pi * a * b + 2 * math.pi * b * b)
+440
+441    problem = f"Surface area of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+442    solution = f"${ans} {unit}^2$"
+443    return problem, solution
+
+ + +

Surface area of a cylinder

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of cylinder with height $= 26m$ and radius $= 15m$ is$3864 m^2$
+
+ + +
+
+ +
+ + def + surface_area_pyramid(unit='m'): + + + +
+ +
446def surface_area_pyramid(unit='m'):
+447    """Surface area of a pyramid
+448
+449    | Ex. Problem | Ex. Solution |
+450    | --- | --- |
+451    | Surface area of pyramid with base length $= 30m$, base width $= 40m$, and height $= 25m$ is | $2400 m^2$ |
+452    """
+453    # List of Pythagorean triplets
+454    _PYTHAGOREAN = [(3, 4, 5),
+455                    (6, 8, 10),
+456                    (9, 12, 15),
+457                    (12, 16, 20),
+458                    (15, 20, 25),
+459                    (5, 12, 13),
+460                    (10, 24, 26),
+461                    (7, 24, 25)]
+462
+463    # Generate first triplet
+464    height, half_width, triangle_height_1 = random.sample(
+465        random.choice(_PYTHAGOREAN), 3)
+466
+467    # Calculate first triangle's area
+468    triangle_1 = half_width * triangle_height_1
+469
+470    # Generate second triplet
+471    second_triplet = random.choice([i for i in _PYTHAGOREAN if height in i])
+472    half_length, triangle_height_2 = random.sample(
+473        tuple(i for i in second_triplet if i != height), 2)
+474
+475    # Calculate second triangle's area
+476    triangle_2 = half_length * triangle_height_2
+477
+478    # Calculate base area
+479    base = 4 * half_width * half_length
+480
+481    ans = base + 2 * triangle_1 + 2 * triangle_2
+482
+483    problem = f"Surface area of pyramid with base length $= {2*half_length}{unit}$, base width $= {2*half_width}{unit}$, and height $= {height}{unit}$ is"
+484    solution = f"${ans} {unit}^2$"
+485    return problem, solution
+
+ + +

Surface area of a pyramid

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of pyramid with base length $= 30m$, base width $= 40m$, and height $= 25m$ is$2400 m^2$
+
+ + +
+
+ +
+ + def + surface_area_sphere(max_side=20, unit='m'): + + + +
+ +
488def surface_area_sphere(max_side=20, unit='m'):
+489    """Surface area of a sphere
+490
+491    | Ex. Problem | Ex. Solution |
+492    | --- | --- |
+493    | Surface area of a sphere with radius $= 8m$ is | $804.25 m^2$ |
+494    """
+495    r = random.randint(1, max_side)
+496    ans = round(4 * math.pi * r * r, 2)
+497
+498    problem = f"Surface area of a sphere with radius $= {r}{unit}$ is"
+499    solution = f"${ans} {unit}^2$"
+500    return problem, solution
+
+ + +

Surface area of a sphere

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Surface area of a sphere with radius $= 8m$ is$804.25 m^2$
+
+ + +
+
+ +
+ + def + third_angle_of_triangle(max_angle=89): + + + +
+ +
503def third_angle_of_triangle(max_angle=89):
+504    """Third Angle of Triangle
+505
+506    | Ex. Problem | Ex. Solution |
+507    | --- | --- |
+508    | Third angle of triangle with angles $10$ and $22 =$ | $148$ |
+509    """
+510    angle1 = random.randint(1, max_angle)
+511    angle2 = random.randint(1, max_angle)
+512    angle3 = 180 - (angle1 + angle2)
+513
+514    problem = f"Third angle of triangle with angles ${angle1}$ and ${angle2} = $"
+515    return problem, f'${angle3}$'
+
+ + +

Third Angle of Triangle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Third angle of triangle with angles $10$ and $22 =$$148$
+
+ + +
+
+ +
+ + def + valid_triangle(max_side_length=50): + + + +
+ +
518def valid_triangle(max_side_length=50):
+519    """Valid Triangle
+520
+521    | Ex. Problem | Ex. Solution |
+522    | --- | --- |
+523    | Does triangel with sides $10, 31$ and $14$ exist? | No |
+524    """
+525    sideA = random.randint(1, max_side_length)
+526    sideB = random.randint(1, max_side_length)
+527    sideC = random.randint(1, max_side_length)
+528
+529    sideSums = [sideA + sideB, sideB + sideC, sideC + sideA]
+530    sides = [sideC, sideA, sideB]
+531
+532    exists = True & (sides[0] < sideSums[0]) & (sides[1] < sideSums[1]) & (
+533        sides[2] < sideSums[2])
+534
+535    problem = f"Does triangle with sides ${sideA}, {sideB}$ and ${sideC}$ exist?"
+536    solution = "Yes" if exists else "No"
+537    return problem, f'${solution}$'
+
+ + +

Valid Triangle

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Does triangel with sides $10, 31$ and $14$ exist?No
+
+ + +
+
+ +
+ + def + volume_cone(max_radius=20, max_height=50, unit='m'): + + + +
+ +
540def volume_cone(max_radius=20, max_height=50, unit='m'):
+541    """Volume of a cone
+542
+543    | Ex. Problem | Ex. Solution |
+544    | --- | --- |
+545    | Volume of cone with height $= 44m$ and radius $= 11m$ is | $5575 m^3$ |
+546    """
+547    a = random.randint(1, max_height)
+548    b = random.randint(1, max_radius)
+549    ans = int(math.pi * b * b * a * (1 / 3))
+550
+551    problem = f"Volume of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+552    solution = f"${ans} {unit}^3$"
+553    return problem, solution
+
+ + +

Volume of a cone

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of cone with height $= 44m$ and radius $= 11m$ is$5575 m^3$
+
+ + +
+
+ +
+ + def + volume_cube(max_side=20, unit='m'): + + + +
+ +
556def volume_cube(max_side=20, unit='m'):
+557    """Volume of a cube
+558    | Ex. Problem | Ex. Solution |
+559    | --- | --- |
+560    | Volume of a cube with a side length of $19m$ is | $6859 m^3$ |
+561    """
+562    a = random.randint(1, max_side)
+563    ans = a**3
+564
+565    problem = f"Volume of cube with a side length of ${a}{unit}$ is"
+566    solution = f"${ans} {unit}^3$"
+567    return problem, solution
+
+ + +

Volume of a cube +| Ex. Problem | Ex. Solution | +| --- | --- | +| Volume of a cube with a side length of $19m$ is | $6859 m^3$ |

+
+ + +
+
+ +
+ + def + volume_cuboid(max_side=20, unit='m'): + + + +
+ +
570def volume_cuboid(max_side=20, unit='m'):
+571    """Volume of a cuboid
+572
+573    | Ex. Problem | Ex. Solution |
+574    | --- | --- |
+575    | Volume of cuboid with sides = $17m, 11m, 13m$ is | $2431 m^3$ |
+576    """
+577    a = random.randint(1, max_side)
+578    b = random.randint(1, max_side)
+579    c = random.randint(1, max_side)
+580    ans = a * b * c
+581
+582    problem = f"Volume of cuboid with sides = ${a}{unit}, {b}{unit}, {c}{unit}$ is"
+583    solution = f"${ans} {unit}^3$"
+584    return problem, solution
+
+ + +

Volume of a cuboid

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of cuboid with sides = $17m, 11m, 13m$ is$2431 m^3$
+
+ + +
+
+ +
+ + def + volume_cylinder(max_radius=20, max_height=50, unit='m'): + + + +
+ +
587def volume_cylinder(max_radius=20, max_height=50, unit='m'):
+588    """Volume of a cylinder
+589
+590    | Ex. Problem | Ex. Solution |
+591    | --- | --- |
+592    | Volume of cylinder with height $= 3m$ and radius $= 10m$ is | $942 m^3$ |
+593    """
+594    a = random.randint(1, max_height)
+595    b = random.randint(1, max_radius)
+596    ans = int(math.pi * b * b * a)
+597
+598    problem = f"Volume of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is"
+599    solution = f"${ans} {unit}^3$"
+600    return problem, solution
+
+ + +

Volume of a cylinder

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of cylinder with height $= 3m$ and radius $= 10m$ is$942 m^3$
+
+ + +
+
+ +
+ + def + volume_cone_frustum(max_r1=20, max_r2=20, max_height=50, unit='m'): + + + +
+ +
603def volume_cone_frustum(max_r1=20, max_r2=20, max_height=50, unit='m'):
+604    """Volume of the frustum of a cone
+605
+606    | Ex. Problem | Ex. Solution |
+607    | --- | --- |
+608    | Volume of frustum with height $= 30m$ and $r1 = 20m$ is and $r2 = 8m$ is | $19603.54 m^3$ |
+609    """
+610    h = random.randint(1, max_height)
+611    r1 = random.randint(1, max_r1)
+612    r2 = random.randint(1, max_r2)
+613    ans = round(((math.pi * h) * (r1 ** 2 + r2 ** 2 + r1 * r2)) / 3, 2)
+614
+615    problem = f"Volume of frustum with height $= {h}{unit}$ and $r1 = {r1}{unit}$ is and $r2 = {r2}{unit}$ is "
+616    solution = f"${ans} {unit}^3$"
+617    return problem, solution
+
+ + +

Volume of the frustum of a cone

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of frustum with height $= 30m$ and $r1 = 20m$ is and $r2 = 8m$ is$19603.54 m^3$
+
+ + +
+
+ +
+ + def + volume_hemisphere(max_radius=100): + + + +
+ +
620def volume_hemisphere(max_radius=100):
+621    """Volume of a hemisphere
+622
+623    | Ex. Problem | Ex. Solution |
+624    | --- | --- |
+625    | Volume of hemisphere with radius $32m =$ | $68629.14 m^3$ |
+626    """
+627    r = random.randint(1, max_radius)
+628    ans = round((2 * math.pi / 3) * r**3, 2)
+629
+630    problem = f"Volume of hemisphere with radius ${r} m =$ "
+631    solution = f"${ans} m^3$"
+632    return problem, solution
+
+ + +

Volume of a hemisphere

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of hemisphere with radius $32m =$$68629.14 m^3$
+
+ + +
+
+ +
+ + def + volume_pyramid(max_length=20, max_width=20, max_height=50, unit='m'): + + + +
+ +
635def volume_pyramid(max_length=20, max_width=20, max_height=50, unit='m'):
+636    """Volume of a pyramid
+637
+638    | Ex. Problem | Ex. Solution |
+639    | --- | --- |
+640    | Volume of pyramid with base length $= 7 m$, base width $= 18 m$ and height $= 42 m$ is | $1764.0 m^3$ |
+641    """
+642    length = random.randint(1, max_length)
+643    width = random.randint(1, max_width)
+644    height = random.randint(1, max_height)
+645
+646    ans = round((length * width * height) / 3, 2)
+647
+648    problem = f"Volume of pyramid with base length $= {length} {unit}$, base width $= {width} {unit}$ and height $= {height} {unit}$ is"
+649    solution = f"${ans} {unit}^3$"
+650    return problem, solution
+
+ + +

Volume of a pyramid

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of pyramid with base length $= 7 m$, base width $= 18 m$ and height $= 42 m$ is$1764.0 m^3$
+
+ + +
+
+ +
+ + def + volume_sphere(max_radius=100): + + + +
+ +
653def volume_sphere(max_radius=100):
+654    """Volume of a sphere
+655
+656    | Ex. Problem | Ex. Solution |
+657    | --- | --- |
+658    | Volume of sphere with radius $30 m = $ | $113097.36 m^3$ |
+659    """
+660    r = random.randint(1, max_radius)
+661    ans = round((4 * math.pi / 3) * r**3, 2)
+662
+663    problem = f"Volume of sphere with radius ${r} m = $"
+664    solution = f"${ans} m^3$"
+665    return problem, solution
+
+ + +

Volume of a sphere

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Volume of sphere with radius $30 m = $$113097.36 m^3$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/misc.html b/docs/mathgenerator/misc.html new file mode 100644 index 0000000..3d52752 --- /dev/null +++ b/docs/mathgenerator/misc.html @@ -0,0 +1,2218 @@ + + + + + + + mathgenerator.misc API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.misc

+ + + + + + +
  1import random
+  2import math
+  3import numpy as np
+  4
+  5
+  6def arithmetic_progression_sum(max_d=100,
+  7                               max_a=100,
+  8                               max_n=100):
+  9    """Arithmetic Progression Sum
+ 10
+ 11    | Ex. Problem | Ex. Solution |
+ 12    | --- | --- |
+ 13    | Find the sum of first $44$ terms of the AP series: $49, 145, 241 ... $ | $92972.0$ |
+ 14    """
+ 15    d = random.randint(-1 * max_d, max_d)
+ 16    a1 = random.randint(-1 * max_a, max_a)
+ 17    a2 = a1 + d
+ 18    a3 = a1 + 2 * d
+ 19    n = random.randint(4, max_n)
+ 20    apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... '
+ 21    an = a1 + (n - 1) * d
+ 22    solution = n * (a1 + an) / 2
+ 23
+ 24    problem = f'Find the sum of first ${n}$ terms of the AP series: ${apString}$'
+ 25    return problem, f'${solution}$'
+ 26
+ 27
+ 28def arithmetic_progression_term(max_d=100,
+ 29                                max_a=100,
+ 30                                max_n=100):
+ 31    """Arithmetic Progression Term
+ 32
+ 33    | Ex. Problem | Ex. Solution |
+ 34    | --- | --- |
+ 35    | Find term number $12$ of the AP series: $-54, 24, 102 ... $ | $804$ |
+ 36    """
+ 37    d = random.randint(-1 * max_d, max_d)
+ 38    a1 = random.randint(-1 * max_a, max_a)
+ 39    a2 = a1 + d
+ 40    a3 = a2 + d
+ 41    n = random.randint(4, max_n)
+ 42    apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... '
+ 43    solution = a1 + ((n - 1) * d)
+ 44
+ 45    problem = f'Find term number ${n}$ of the AP series: ${apString}$'
+ 46    return problem, f'${solution}$'
+ 47
+ 48
+ 49def _fromBaseTenTo(n, to_base):
+ 50    """Converts a decimal number n to another base, to_base.
+ 51    Utility of base_conversion()
+ 52    """
+ 53    alpha = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ 54    assert type(
+ 55        to_base
+ 56    ) == int and to_base >= 2 and to_base <= 36, "to_base({}) must be >=2 and <=36"
+ 57    # trivial cases
+ 58    if to_base == 2:
+ 59        return bin(n)[2:]
+ 60    elif to_base == 8:
+ 61        return oct(n)[2:]
+ 62    elif to_base == 10:
+ 63        return str(n)
+ 64    elif to_base == 16:
+ 65        return hex(n)[2:].upper()
+ 66    res = alpha[n % to_base]
+ 67    n = n // to_base
+ 68    while n > 0:
+ 69        res = alpha[n % to_base] + res
+ 70        n = n // to_base
+ 71    return res
+ 72
+ 73
+ 74def base_conversion(max_num=60000, max_base=16):
+ 75    """Base Conversion
+ 76
+ 77    | Ex. Problem | Ex. Solution |
+ 78    | --- | --- |
+ 79    | Convert $45204$ from base $10$ to base $4$ | $23002110$ |
+ 80    """
+ 81    assert type(
+ 82        max_num
+ 83    ) == int and max_num >= 100 and max_num <= 65536, "max_num({}) must be >=100 and <=65536".format(
+ 84        max_num)
+ 85    assert type(
+ 86        max_base
+ 87    ) == int and max_base >= 2 and max_base <= 36, "max_base({}) must be >= 2 and <=36".format(
+ 88        max_base)
+ 89
+ 90    n = random.randint(40, max_num)
+ 91    dist = [10] * 10 + [2] * 5 + [16] * 5 + [i for i in range(2, max_base + 1)]
+ 92    # set this way since converting to/from bases 2,10,16 are more common -- can be changed if needed.
+ 93    bases = random.choices(dist, k=2)
+ 94    while bases[0] == bases[1]:
+ 95        bases = random.choices(dist, k=2)
+ 96
+ 97    problem = f"Convert ${_fromBaseTenTo(n, bases[0])}$ from base ${bases[0]}$ to base ${bases[1]}$."
+ 98    ans = _fromBaseTenTo(n, bases[1])
+ 99    return problem, f'${ans}$'
+100
+101
+102def _newton_symbol(n, k):
+103    """Utility of binomial_distribution()"""
+104    return math.factorial(n) / (math.factorial(k) * math.factorial(n - k))
+105
+106
+107def binomial_distribution():
+108    """Binomial distribution
+109
+110    | Ex. Problem | Ex. Solution |
+111    | --- | --- |
+112    | A manufacturer of metal pistons finds that, on average, $30.56$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $20$ pistons will contain no more than $2$ rejected pistons? | $3.17$ |
+113    """
+114    rejected_fraction = float(random.randint(30, 40)) + random.random()
+115    batch = random.randint(10, 20)
+116    rejections = random.randint(1, 9)
+117
+118    answer = 0
+119    rejected_fraction = round(rejected_fraction, 2)
+120    for i in range(0, rejections + 1):
+121        answer += _newton_symbol(float(batch), float(i)) * ((rejected_fraction / 100.) ** float(i)) * \
+122            ((1 - (rejected_fraction / 100.)) ** (float(batch) - float(i)))
+123
+124    answer = round(100 * answer, 2)
+125
+126    problem = "A manufacturer of metal pistons finds that, on average, ${0:}$% "\
+127        "of the pistons they manufacture are rejected because " \
+128        "they are incorrectly sized. What is the probability that a "\
+129        "batch of ${1:}$ pistons will contain no more than ${2:}$ " \
+130        "rejected pistons?".format(rejected_fraction, batch, rejections)
+131    return problem, f'${answer}$'
+132
+133
+134def celsius_to_fahrenheit(max_temp=100):
+135    """Celsius to Fahrenheit
+136
+137    | Ex. Problem | Ex. Solution |
+138    | --- | --- |
+139    | Convert $-46$ degrees Celsius to degrees Fahrenheit | $-50.8$ |
+140    """
+141    celsius = random.randint(-50, max_temp)
+142    fahrenheit = (celsius * (9 / 5)) + 32
+143
+144    problem = f"Convert ${celsius}$ degrees Celsius to degrees Fahrenheit"
+145    solution = f'${fahrenheit}$'
+146    return problem, solution
+147
+148
+149def common_factors(max_val=100):
+150    """Common Factors
+151
+152    | Ex. Problem | Ex. Solution |
+153    | --- | --- |
+154    | Common Factors of $100$ and $44 = $ | $[1, 2, 4]$ |
+155    """
+156    a = x = random.randint(1, max_val)
+157    b = y = random.randint(1, max_val)
+158
+159    if (x < y):
+160        min = x
+161    else:
+162        min = y
+163
+164    count = 0
+165    arr = []
+166
+167    for i in range(1, min + 1):
+168        if (x % i == 0):
+169            if (y % i == 0):
+170                count = count + 1
+171                arr.append(i)
+172
+173    problem = f"Common Factors of ${a}$ and ${b} = $"
+174    solution = f'${arr}$'
+175    return problem, solution
+176
+177
+178def complex_to_polar(min_real_imaginary_num=-20,
+179                     max_real_imaginary_num=20):
+180    r"""Complex to polar form
+181
+182    | Ex. Problem | Ex. Solution |
+183    | --- | --- |
+184    | $19.42(-19.0\theta + i-4.0\theta)$ | $-2.93$ |
+185    """
+186    num = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+187                  random.randint(min_real_imaginary_num, max_real_imaginary_num))
+188    a = num.real
+189    b = num.imag
+190    r = round(math.hypot(a, b), 2)
+191    theta = round(math.atan2(b, a), 2)
+192
+193    problem = rf'${r}({a}\theta + i{b}\theta)$'
+194    return problem, f'${theta}$'
+195
+196
+197def decimal_to_roman_numerals(max_decimal=4000):
+198    """Decimal to Roman Numerals
+199
+200    | Ex. Problem | Ex. Solution |
+201    | --- | --- |
+202    | The number $92$ in roman numerals is:  | $XCII$ |
+203    """
+204    x = random.randint(0, max_decimal)
+205    x_copy = x
+206    roman_dict = {
+207        1: "I",
+208        5: "V",
+209        10: "X",
+210        50: "L",
+211        100: "C",
+212        500: "D",
+213        1000: "M"
+214    }
+215    div = 1
+216    while x >= div:
+217        div *= 10
+218    div /= 10
+219    solution = ""
+220    while x:
+221        last_value = int(x / div)
+222        if last_value <= 3:
+223            solution += (roman_dict[div] * last_value)
+224        elif last_value == 4:
+225            solution += (roman_dict[div] + roman_dict[div * 5])
+226        elif 5 <= last_value <= 8:
+227            solution += (roman_dict[div * 5] + (roman_dict[div] * (last_value - 5)))
+228        elif last_value == 9:
+229            solution += (roman_dict[div] + roman_dict[div * 10])
+230        x = math.floor(x % div)
+231        div /= 10
+232
+233    problem = f"The number ${x_copy}$ in roman numerals is: "
+234    return problem, f'${solution}$'
+235
+236
+237def euclidian_norm(maxEltAmt=20):
+238    """Euclidian norm or L2 norm of a vector
+239
+240    | Ex. Problem | Ex. Solution |
+241    | --- | --- |
+242    | Euclidian norm or L2 norm of the vector $[659.9225071540442, 243.40887829281564, 128.79950053874424, 263.19226900031344]$ is: | $761.97$ |
+243    """
+244    vec = [
+245        random.uniform(0, 1000) for i in range(random.randint(2, maxEltAmt))
+246    ]
+247    solution = round(math.sqrt(sum([i**2 for i in vec])), 2)
+248
+249    problem = f"Euclidian norm or L2 norm of the vector ${vec}$ is:"
+250    return problem, f'${solution}$'
+251
+252
+253def factors(max_val=1000):
+254    """Factors of a number
+255
+256    | Ex. Problem | Ex. Solution |
+257    | --- | --- |
+258    | Factors of $176 = $ | $[1, 2, 4, 8, 11, 16, 22, 44, 88, 176]$ |
+259    """
+260    n = random.randint(1, max_val)
+261
+262    factors = []
+263
+264    for i in range(1, int(n**0.5) + 1):
+265        if i**2 == n:
+266            factors.append(i)
+267        elif n % i == 0:
+268            factors.append(i)
+269            factors.append(n // i)
+270        else:
+271            pass
+272
+273    factors.sort()
+274
+275    problem = f"Factors of ${n} = $"
+276    solution = factors
+277    return problem, f'${solution}$'
+278
+279
+280def geometric_mean(max_value=100, max_count=4):
+281    """Geometric Mean of N Numbers
+282
+283    | Ex. Problem | Ex. Solution |
+284    | --- | --- |
+285    | Geometric mean of $3$ numbers $[72, 21, 87] = $ | $50.86$ |
+286    """
+287    count = random.randint(2, max_count)
+288    nums = [random.randint(1, max_value) for i in range(count)]
+289    product = np.prod(nums)
+290
+291    ans = round(product ** (1 / count), 2)
+292    problem = f"Geometric mean of ${count}$ numbers ${nums} = $"
+293    # solution = rf"$({'*'.join(map(str, nums))}^{{\frac{{1}}{{{count}}}}} = {ans}$"
+294    solution = f"${ans}$"
+295    return problem, solution
+296
+297
+298def geometric_progression(number_values=6,
+299                          min_value=2,
+300                          max_value=12,
+301                          n_term=7,
+302                          sum_term=5):
+303    """Geometric Progression
+304
+305    | Ex. Problem | Ex. Solution |
+306    | --- | --- |
+307    | For the given GP $[11, 44, 176, 704, 2816, 11264]$. Find the value of a common ratio, 7th term value, sum upto 10th term | The value of a is $11$, common ratio is $4$ , 7th term is $45056$, sum upto 10th term is $3844775.0$ |
+308    """
+309    r = random.randint(min_value, max_value)
+310    a = random.randint(min_value, max_value)
+311    n_term = random.randint(number_values, number_values + 5)
+312    sum_term = random.randint(number_values, number_values + 5)
+313    GP = []
+314    for i in range(number_values):
+315        GP.append(a * (r**i))
+316    value_nth_term = a * (r**(n_term - 1))
+317    sum_till_nth_term = a * ((r**sum_term - 1) / (r - 1))
+318
+319    problem = f"For the given GP ${GP}$. Find the value of a common ratio, {n_term}th term value, sum upto {sum_term}th term"
+320    solution = "The value of a is ${}$, common ratio is ${}$ , {}th term is ${}$, sum upto {}th term is ${}$".format(
+321        a, r, n_term, value_nth_term, sum_term, sum_till_nth_term)
+322    return problem, solution
+323
+324
+325def harmonic_mean(max_value=100, max_count=4):
+326    """Harmonic Mean of N Numbers
+327
+328    | Ex. Problem | Ex. Solution |
+329    | --- | --- |
+330    | Harmonic mean of $4$ numbers $52, 56, 25, 57 = $ | $602.33$ |
+331    """
+332    count = random.randint(2, max_count)
+333    nums = [random.randint(1, max_value) for _ in range(count)]
+334    sum = 0
+335    for num in nums:
+336        sum += (1 / num)
+337    ans = round(num / sum, 2)
+338
+339    problem = f"Harmonic mean of ${count}$ numbers ${', '.join(map(str, nums))} = $"
+340    solution = f"${ans}$"
+341    return problem, solution
+342
+343
+344def is_leap_year(minNumber=1900, max_number=2099):
+345    """Is Leap Year or Not
+346
+347    | Ex. Problem | Ex. Solution |
+348    | --- | --- |
+349    | Is $2000$ a leap year? | $2000$ is a leap year |
+350    """
+351    year = random.randint(minNumber, max_number)
+352    problem = f"Is {year} a leap year?"
+353    if (year % 4) == 0:
+354        if (year % 100) == 0:
+355            if (year % 400) == 0:
+356                ans = True
+357            else:
+358                ans = False
+359        else:
+360            ans = True
+361    else:
+362        ans = False
+363
+364    solution = f"{year} is{' not' if not ans else ''} a leap year"
+365    return problem, solution
+366
+367
+368def lcm(max_val=20):
+369    """LCM (Least Common Multiple)
+370
+371    | Ex. Problem | Ex. Solution |
+372    | --- | --- |
+373    | LCM of $3$ and $18 = $ | $18$ |
+374    """
+375    a = random.randint(1, max_val)
+376    b = random.randint(1, max_val)
+377    c = a * b
+378    x, y = a, b
+379
+380    while y:
+381        x, y = y, x % y
+382    d = c // x
+383
+384    problem = f"LCM of ${a}$ and ${b} =$"
+385    solution = f'${d}$'
+386    return problem, solution
+387
+388
+389def minutes_to_hours(max_minutes=999):
+390    """Convert minutes to hours and minutes
+391
+392    | Ex. Problem | Ex. Solution |
+393    | --- | --- |
+394    | Convert $836$ minutes to hours & minutes | $13$ hours and $56$ minutes |
+395    """
+396    minutes = random.randint(1, max_minutes)
+397    ansHours = minutes // 60
+398    ansMinutes = minutes % 60
+399
+400    problem = f"Convert ${minutes}$ minutes to hours & minutes"
+401    solution = f"${ansHours}$ hours and ${ansMinutes}$ minutes"
+402    return problem, solution
+403
+404
+405def prime_factors(min_val=1, max_val=200):
+406    """Prime Factors
+407
+408    | Ex. Problem | Ex. Solution |
+409    | --- | --- |
+410    | Find prime factors of $30$ | $2, 3, 5$ |
+411    """
+412    a = random.randint(min_val, max_val)
+413    n = a
+414    i = 2
+415    factors = []
+416
+417    while i * i <= n:
+418        if n % i:
+419            i += 1
+420        else:
+421            n //= i
+422            factors.append(i)
+423
+424    if n > 1:
+425        factors.append(n)
+426
+427    problem = f"Find prime factors of ${a}$"
+428    solution = f"${', '.join(map(str, factors))}$"
+429    return problem, solution
+430
+431
+432def product_of_scientific_notations(min_exp_val=-100, max_exp_val=100):
+433    r"""Product of scientific notations
+434
+435    | Ex. Problem | Ex. Solution |
+436    | --- | --- |
+437    | Product of scientific notations $5.11 \times 10^{67}$ and $3.64 \times 10^{-59} = $ | $1.86 \times 10^{9}$ |
+438    """
+439    a = [round(random.uniform(1, 10), 2),
+440         random.randint(min_exp_val, max_exp_val)]
+441    b = [round(random.uniform(1, 10), 2),
+442         random.randint(min_exp_val, max_exp_val)]
+443    c = [a[0] * b[0], a[1] + b[1]]
+444
+445    if c[0] >= 10:
+446        c[0] /= 10
+447        c[1] += 1
+448
+449    problem = rf"Product of scientific notations ${a[0]} \times 10^{{{a[1]}}}$ and ${b[0]} \times 10^{{{b[1]}}} = $"
+450    solution = rf'${round(c[0], 2)} \times 10^{{{c[1]}}}$'
+451    return problem, solution
+452
+453
+454def profit_loss_percent(max_cp=1000, max_sp=1000):
+455    """Profit or Loss Percent
+456
+457    | Ex. Problem | Ex. Solution |
+458    | --- | --- |
+459    | Loss percent when $CP = 751$ and $SP = 290$ is: | $61.38$ |
+460    """
+461    cP = random.randint(1, max_cp)
+462    sP = random.randint(1, max_sp)
+463    diff = abs(sP - cP)
+464    if (sP - cP >= 0):
+465        profitOrLoss = "Profit"
+466    else:
+467        profitOrLoss = "Loss"
+468    percent = round(diff / cP * 100, 2)
+469
+470    problem = f"{profitOrLoss} percent when $CP = {cP}$ and $SP = {sP}$ is: "
+471    return problem, f'${percent}$'
+472
+473
+474def quotient_of_power_same_base(max_base=50, max_power=10):
+475    """Quotient of Powers with Same Base
+476
+477    | Ex. Problem | Ex. Solution |
+478    | --- | --- |
+479    | The Quotient of $5^{6}$ and $5^{8} = $5^{6-8} = 5^{-2}$ | $0.04$ |
+480    """
+481    base = random.randint(1, max_base)
+482    power1 = random.randint(1, max_power)
+483    power2 = random.randint(1, max_power)
+484    step = power1 - power2
+485    solution = base ** step
+486
+487    problem = f"The Quotient of ${base}^{{{power1}}}$ and ${base}^{{{power2}}} = " \
+488        f"${base}^{{{power1}-{power2}}} = {base}^{{{step}}}$"
+489    return problem, f'${solution}$'
+490
+491
+492def quotient_of_power_same_power(max_base=50, max_power=10):
+493    """Quotient of Powers with Same Power
+494
+495    | Ex. Problem | Ex. Solution |
+496    | --- | --- |
+497    | The quotient of $19^{8}$ and $10^{8} = (19/10)^8 = 1.9^{8}$ | $169.84$ |
+498    """
+499    base1 = random.randint(1, max_base)
+500    base2 = random.randint(1, max_base)
+501    power = random.randint(1, max_power)
+502    step = base1 / base2
+503    solution = round(step ** power, 2)
+504
+505    problem = f"The quotient of ${base1}^{{{power}}}$ and ${base2}^{{{power}}} = " \
+506        f"({base1}/{base2})^{power} = {step}^{{{power}}}$"
+507    return problem, f'${solution}$'
+508
+509
+510def set_operation(min_size=3, max_size=7):
+511    """Union, Intersection, Difference of Two Sets
+512
+513    | Ex. Problem | Ex. Solution |
+514    | --- | --- |
+515    | Given the two sets $a={1, 2, 4, 5}$, $b={8, 1, 2}. Find the Union, intersection, a-b, b-a, and symmetric difference | Union is ${1, 2, 4, 5, 8}$. Intersection is ${1, 2}$, a-b is ${4, 5}$, b-a is ${8}$. Symmetric difference is ${4, 5, 8}$. |
+516    """
+517    number_variables_a = random.randint(min_size, max_size)
+518    number_variables_b = random.randint(min_size, max_size)
+519    a = []
+520    b = []
+521    for _ in range(number_variables_a):
+522        a.append(random.randint(1, 10))
+523    for _ in range(number_variables_b):
+524        b.append(random.randint(1, 10))
+525    a = set(a)
+526    b = set(b)
+527
+528    problem = f"Given the two sets $a={a}$, $b={b}. " + \
+529        "Find the Union, intersection, a-b, b-a, and symmetric difference"
+530    solution = f"Union is ${a.union(b)}$. Intersection is ${a.intersection(b)}$" + \
+531        f", a-b is ${a.difference(b)}$, b-a is ${b.difference(a)}$." + \
+532        f" Symmetric difference is ${a.symmetric_difference(b)}$."
+533    return problem, solution
+534
+535
+536def signum_function(min=-999, max=999):
+537    """Signum Function
+538
+539    | Ex. Problem | Ex. Solution |
+540    | --- | --- |
+541    | Signum of $-229$ is = | $-1$ |
+542    """
+543    a = random.randint(min, max)
+544    b = 0
+545    if (a > 0):
+546        b = 1
+547    if (a < 0):
+548        b = -1
+549
+550    problem = f"Signum of ${a}$ is ="
+551    solution = f'${b}$'
+552    return problem, solution
+553
+554
+555def surds_comparison(max_value=100, max_root=10):
+556    r"""Comparing Surds
+557
+558    | Ex. Problem | Ex. Solution |
+559    | --- | --- |
+560    | Fill in the blanks $42^{\frac{1}{2}}$ _ $45^{\frac{1}{5}}$ | $>$ |
+561    """
+562    radicand1, radicand2 = tuple(random.sample(range(1, max_value), 2))
+563    degree1, degree2 = tuple(random.sample(range(1, max_root), 2))
+564    first = math.pow(radicand1, 1 / degree1)
+565    second = math.pow(radicand2, 1 / degree2)
+566
+567    solution = "="
+568    if first > second:
+569        solution = ">"
+570    elif first < second:
+571        solution = "<"
+572
+573    problem = rf"Fill in the blanks ${radicand1}^{{\frac{{1}}{{{degree1}}}}}$ _ ${radicand2}^{{\frac{{1}}{{{degree2}}}}}$"
+574    return problem, f'${solution}$'
+
+ + +
+
+ +
+ + def + arithmetic_progression_sum(max_d=100, max_a=100, max_n=100): + + + +
+ +
 7def arithmetic_progression_sum(max_d=100,
+ 8                               max_a=100,
+ 9                               max_n=100):
+10    """Arithmetic Progression Sum
+11
+12    | Ex. Problem | Ex. Solution |
+13    | --- | --- |
+14    | Find the sum of first $44$ terms of the AP series: $49, 145, 241 ... $ | $92972.0$ |
+15    """
+16    d = random.randint(-1 * max_d, max_d)
+17    a1 = random.randint(-1 * max_a, max_a)
+18    a2 = a1 + d
+19    a3 = a1 + 2 * d
+20    n = random.randint(4, max_n)
+21    apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... '
+22    an = a1 + (n - 1) * d
+23    solution = n * (a1 + an) / 2
+24
+25    problem = f'Find the sum of first ${n}$ terms of the AP series: ${apString}$'
+26    return problem, f'${solution}$'
+
+ + +

Arithmetic Progression Sum

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the sum of first $44$ terms of the AP series: $49, 145, 241 ... $$92972.0$
+
+ + +
+
+ +
+ + def + arithmetic_progression_term(max_d=100, max_a=100, max_n=100): + + + +
+ +
29def arithmetic_progression_term(max_d=100,
+30                                max_a=100,
+31                                max_n=100):
+32    """Arithmetic Progression Term
+33
+34    | Ex. Problem | Ex. Solution |
+35    | --- | --- |
+36    | Find term number $12$ of the AP series: $-54, 24, 102 ... $ | $804$ |
+37    """
+38    d = random.randint(-1 * max_d, max_d)
+39    a1 = random.randint(-1 * max_a, max_a)
+40    a2 = a1 + d
+41    a3 = a2 + d
+42    n = random.randint(4, max_n)
+43    apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... '
+44    solution = a1 + ((n - 1) * d)
+45
+46    problem = f'Find term number ${n}$ of the AP series: ${apString}$'
+47    return problem, f'${solution}$'
+
+ + +

Arithmetic Progression Term

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find term number $12$ of the AP series: $-54, 24, 102 ... $$804$
+
+ + +
+
+ +
+ + def + base_conversion(max_num=60000, max_base=16): + + + +
+ +
 75def base_conversion(max_num=60000, max_base=16):
+ 76    """Base Conversion
+ 77
+ 78    | Ex. Problem | Ex. Solution |
+ 79    | --- | --- |
+ 80    | Convert $45204$ from base $10$ to base $4$ | $23002110$ |
+ 81    """
+ 82    assert type(
+ 83        max_num
+ 84    ) == int and max_num >= 100 and max_num <= 65536, "max_num({}) must be >=100 and <=65536".format(
+ 85        max_num)
+ 86    assert type(
+ 87        max_base
+ 88    ) == int and max_base >= 2 and max_base <= 36, "max_base({}) must be >= 2 and <=36".format(
+ 89        max_base)
+ 90
+ 91    n = random.randint(40, max_num)
+ 92    dist = [10] * 10 + [2] * 5 + [16] * 5 + [i for i in range(2, max_base + 1)]
+ 93    # set this way since converting to/from bases 2,10,16 are more common -- can be changed if needed.
+ 94    bases = random.choices(dist, k=2)
+ 95    while bases[0] == bases[1]:
+ 96        bases = random.choices(dist, k=2)
+ 97
+ 98    problem = f"Convert ${_fromBaseTenTo(n, bases[0])}$ from base ${bases[0]}$ to base ${bases[1]}$."
+ 99    ans = _fromBaseTenTo(n, bases[1])
+100    return problem, f'${ans}$'
+
+ + +

Base Conversion

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Convert $45204$ from base $10$ to base $4$$23002110$
+
+ + +
+
+ +
+ + def + binomial_distribution(): + + + +
+ +
108def binomial_distribution():
+109    """Binomial distribution
+110
+111    | Ex. Problem | Ex. Solution |
+112    | --- | --- |
+113    | A manufacturer of metal pistons finds that, on average, $30.56$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $20$ pistons will contain no more than $2$ rejected pistons? | $3.17$ |
+114    """
+115    rejected_fraction = float(random.randint(30, 40)) + random.random()
+116    batch = random.randint(10, 20)
+117    rejections = random.randint(1, 9)
+118
+119    answer = 0
+120    rejected_fraction = round(rejected_fraction, 2)
+121    for i in range(0, rejections + 1):
+122        answer += _newton_symbol(float(batch), float(i)) * ((rejected_fraction / 100.) ** float(i)) * \
+123            ((1 - (rejected_fraction / 100.)) ** (float(batch) - float(i)))
+124
+125    answer = round(100 * answer, 2)
+126
+127    problem = "A manufacturer of metal pistons finds that, on average, ${0:}$% "\
+128        "of the pistons they manufacture are rejected because " \
+129        "they are incorrectly sized. What is the probability that a "\
+130        "batch of ${1:}$ pistons will contain no more than ${2:}$ " \
+131        "rejected pistons?".format(rejected_fraction, batch, rejections)
+132    return problem, f'${answer}$'
+
+ + +

Binomial distribution

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
A manufacturer of metal pistons finds that, on average, $30.56$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $20$ pistons will contain no more than $2$ rejected pistons?$3.17$
+
+ + +
+
+ +
+ + def + celsius_to_fahrenheit(max_temp=100): + + + +
+ +
135def celsius_to_fahrenheit(max_temp=100):
+136    """Celsius to Fahrenheit
+137
+138    | Ex. Problem | Ex. Solution |
+139    | --- | --- |
+140    | Convert $-46$ degrees Celsius to degrees Fahrenheit | $-50.8$ |
+141    """
+142    celsius = random.randint(-50, max_temp)
+143    fahrenheit = (celsius * (9 / 5)) + 32
+144
+145    problem = f"Convert ${celsius}$ degrees Celsius to degrees Fahrenheit"
+146    solution = f'${fahrenheit}$'
+147    return problem, solution
+
+ + +

Celsius to Fahrenheit

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Convert $-46$ degrees Celsius to degrees Fahrenheit$-50.8$
+
+ + +
+
+ +
+ + def + common_factors(max_val=100): + + + +
+ +
150def common_factors(max_val=100):
+151    """Common Factors
+152
+153    | Ex. Problem | Ex. Solution |
+154    | --- | --- |
+155    | Common Factors of $100$ and $44 = $ | $[1, 2, 4]$ |
+156    """
+157    a = x = random.randint(1, max_val)
+158    b = y = random.randint(1, max_val)
+159
+160    if (x < y):
+161        min = x
+162    else:
+163        min = y
+164
+165    count = 0
+166    arr = []
+167
+168    for i in range(1, min + 1):
+169        if (x % i == 0):
+170            if (y % i == 0):
+171                count = count + 1
+172                arr.append(i)
+173
+174    problem = f"Common Factors of ${a}$ and ${b} = $"
+175    solution = f'${arr}$'
+176    return problem, solution
+
+ + +

Common Factors

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Common Factors of $100$ and $44 = $$[1, 2, 4]$
+
+ + +
+
+ +
+ + def + complex_to_polar(min_real_imaginary_num=-20, max_real_imaginary_num=20): + + + +
+ +
179def complex_to_polar(min_real_imaginary_num=-20,
+180                     max_real_imaginary_num=20):
+181    r"""Complex to polar form
+182
+183    | Ex. Problem | Ex. Solution |
+184    | --- | --- |
+185    | $19.42(-19.0\theta + i-4.0\theta)$ | $-2.93$ |
+186    """
+187    num = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num),
+188                  random.randint(min_real_imaginary_num, max_real_imaginary_num))
+189    a = num.real
+190    b = num.imag
+191    r = round(math.hypot(a, b), 2)
+192    theta = round(math.atan2(b, a), 2)
+193
+194    problem = rf'${r}({a}\theta + i{b}\theta)$'
+195    return problem, f'${theta}$'
+
+ + +

Complex to polar form

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
$19.42(-19.0\theta + i-4.0\theta)$$-2.93$
+
+ + +
+
+ +
+ + def + decimal_to_roman_numerals(max_decimal=4000): + + + +
+ +
198def decimal_to_roman_numerals(max_decimal=4000):
+199    """Decimal to Roman Numerals
+200
+201    | Ex. Problem | Ex. Solution |
+202    | --- | --- |
+203    | The number $92$ in roman numerals is:  | $XCII$ |
+204    """
+205    x = random.randint(0, max_decimal)
+206    x_copy = x
+207    roman_dict = {
+208        1: "I",
+209        5: "V",
+210        10: "X",
+211        50: "L",
+212        100: "C",
+213        500: "D",
+214        1000: "M"
+215    }
+216    div = 1
+217    while x >= div:
+218        div *= 10
+219    div /= 10
+220    solution = ""
+221    while x:
+222        last_value = int(x / div)
+223        if last_value <= 3:
+224            solution += (roman_dict[div] * last_value)
+225        elif last_value == 4:
+226            solution += (roman_dict[div] + roman_dict[div * 5])
+227        elif 5 <= last_value <= 8:
+228            solution += (roman_dict[div * 5] + (roman_dict[div] * (last_value - 5)))
+229        elif last_value == 9:
+230            solution += (roman_dict[div] + roman_dict[div * 10])
+231        x = math.floor(x % div)
+232        div /= 10
+233
+234    problem = f"The number ${x_copy}$ in roman numerals is: "
+235    return problem, f'${solution}$'
+
+ + +

Decimal to Roman Numerals

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The number $92$ in roman numerals is:$XCII$
+
+ + +
+
+ +
+ + def + euclidian_norm(maxEltAmt=20): + + + +
+ +
238def euclidian_norm(maxEltAmt=20):
+239    """Euclidian norm or L2 norm of a vector
+240
+241    | Ex. Problem | Ex. Solution |
+242    | --- | --- |
+243    | Euclidian norm or L2 norm of the vector $[659.9225071540442, 243.40887829281564, 128.79950053874424, 263.19226900031344]$ is: | $761.97$ |
+244    """
+245    vec = [
+246        random.uniform(0, 1000) for i in range(random.randint(2, maxEltAmt))
+247    ]
+248    solution = round(math.sqrt(sum([i**2 for i in vec])), 2)
+249
+250    problem = f"Euclidian norm or L2 norm of the vector ${vec}$ is:"
+251    return problem, f'${solution}$'
+
+ + +

Euclidian norm or L2 norm of a vector

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Euclidian norm or L2 norm of the vector $[659.9225071540442, 243.40887829281564, 128.79950053874424, 263.19226900031344]$ is:$761.97$
+
+ + +
+
+ +
+ + def + factors(max_val=1000): + + + +
+ +
254def factors(max_val=1000):
+255    """Factors of a number
+256
+257    | Ex. Problem | Ex. Solution |
+258    | --- | --- |
+259    | Factors of $176 = $ | $[1, 2, 4, 8, 11, 16, 22, 44, 88, 176]$ |
+260    """
+261    n = random.randint(1, max_val)
+262
+263    factors = []
+264
+265    for i in range(1, int(n**0.5) + 1):
+266        if i**2 == n:
+267            factors.append(i)
+268        elif n % i == 0:
+269            factors.append(i)
+270            factors.append(n // i)
+271        else:
+272            pass
+273
+274    factors.sort()
+275
+276    problem = f"Factors of ${n} = $"
+277    solution = factors
+278    return problem, f'${solution}$'
+
+ + +

Factors of a number

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Factors of $176 = $$[1, 2, 4, 8, 11, 16, 22, 44, 88, 176]$
+
+ + +
+
+ +
+ + def + geometric_mean(max_value=100, max_count=4): + + + +
+ +
281def geometric_mean(max_value=100, max_count=4):
+282    """Geometric Mean of N Numbers
+283
+284    | Ex. Problem | Ex. Solution |
+285    | --- | --- |
+286    | Geometric mean of $3$ numbers $[72, 21, 87] = $ | $50.86$ |
+287    """
+288    count = random.randint(2, max_count)
+289    nums = [random.randint(1, max_value) for i in range(count)]
+290    product = np.prod(nums)
+291
+292    ans = round(product ** (1 / count), 2)
+293    problem = f"Geometric mean of ${count}$ numbers ${nums} = $"
+294    # solution = rf"$({'*'.join(map(str, nums))}^{{\frac{{1}}{{{count}}}}} = {ans}$"
+295    solution = f"${ans}$"
+296    return problem, solution
+
+ + +

Geometric Mean of N Numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Geometric mean of $3$ numbers $[72, 21, 87] = $$50.86$
+
+ + +
+
+ +
+ + def + geometric_progression(number_values=6, min_value=2, max_value=12, n_term=7, sum_term=5): + + + +
+ +
299def geometric_progression(number_values=6,
+300                          min_value=2,
+301                          max_value=12,
+302                          n_term=7,
+303                          sum_term=5):
+304    """Geometric Progression
+305
+306    | Ex. Problem | Ex. Solution |
+307    | --- | --- |
+308    | For the given GP $[11, 44, 176, 704, 2816, 11264]$. Find the value of a common ratio, 7th term value, sum upto 10th term | The value of a is $11$, common ratio is $4$ , 7th term is $45056$, sum upto 10th term is $3844775.0$ |
+309    """
+310    r = random.randint(min_value, max_value)
+311    a = random.randint(min_value, max_value)
+312    n_term = random.randint(number_values, number_values + 5)
+313    sum_term = random.randint(number_values, number_values + 5)
+314    GP = []
+315    for i in range(number_values):
+316        GP.append(a * (r**i))
+317    value_nth_term = a * (r**(n_term - 1))
+318    sum_till_nth_term = a * ((r**sum_term - 1) / (r - 1))
+319
+320    problem = f"For the given GP ${GP}$. Find the value of a common ratio, {n_term}th term value, sum upto {sum_term}th term"
+321    solution = "The value of a is ${}$, common ratio is ${}$ , {}th term is ${}$, sum upto {}th term is ${}$".format(
+322        a, r, n_term, value_nth_term, sum_term, sum_till_nth_term)
+323    return problem, solution
+
+ + +

Geometric Progression

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
For the given GP $[11, 44, 176, 704, 2816, 11264]$. Find the value of a common ratio, 7th term value, sum upto 10th termThe value of a is $11$, common ratio is $4$ , 7th term is $45056$, sum upto 10th term is $3844775.0$
+
+ + +
+
+ +
+ + def + harmonic_mean(max_value=100, max_count=4): + + + +
+ +
326def harmonic_mean(max_value=100, max_count=4):
+327    """Harmonic Mean of N Numbers
+328
+329    | Ex. Problem | Ex. Solution |
+330    | --- | --- |
+331    | Harmonic mean of $4$ numbers $52, 56, 25, 57 = $ | $602.33$ |
+332    """
+333    count = random.randint(2, max_count)
+334    nums = [random.randint(1, max_value) for _ in range(count)]
+335    sum = 0
+336    for num in nums:
+337        sum += (1 / num)
+338    ans = round(num / sum, 2)
+339
+340    problem = f"Harmonic mean of ${count}$ numbers ${', '.join(map(str, nums))} = $"
+341    solution = f"${ans}$"
+342    return problem, solution
+
+ + +

Harmonic Mean of N Numbers

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Harmonic mean of $4$ numbers $52, 56, 25, 57 = $$602.33$
+
+ + +
+
+ +
+ + def + is_leap_year(minNumber=1900, max_number=2099): + + + +
+ +
345def is_leap_year(minNumber=1900, max_number=2099):
+346    """Is Leap Year or Not
+347
+348    | Ex. Problem | Ex. Solution |
+349    | --- | --- |
+350    | Is $2000$ a leap year? | $2000$ is a leap year |
+351    """
+352    year = random.randint(minNumber, max_number)
+353    problem = f"Is {year} a leap year?"
+354    if (year % 4) == 0:
+355        if (year % 100) == 0:
+356            if (year % 400) == 0:
+357                ans = True
+358            else:
+359                ans = False
+360        else:
+361            ans = True
+362    else:
+363        ans = False
+364
+365    solution = f"{year} is{' not' if not ans else ''} a leap year"
+366    return problem, solution
+
+ + +

Is Leap Year or Not

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Is $2000$ a leap year?$2000$ is a leap year
+
+ + +
+
+ +
+ + def + lcm(max_val=20): + + + +
+ +
369def lcm(max_val=20):
+370    """LCM (Least Common Multiple)
+371
+372    | Ex. Problem | Ex. Solution |
+373    | --- | --- |
+374    | LCM of $3$ and $18 = $ | $18$ |
+375    """
+376    a = random.randint(1, max_val)
+377    b = random.randint(1, max_val)
+378    c = a * b
+379    x, y = a, b
+380
+381    while y:
+382        x, y = y, x % y
+383    d = c // x
+384
+385    problem = f"LCM of ${a}$ and ${b} =$"
+386    solution = f'${d}$'
+387    return problem, solution
+
+ + +

LCM (Least Common Multiple)

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
LCM of $3$ and $18 = $$18$
+
+ + +
+
+ +
+ + def + minutes_to_hours(max_minutes=999): + + + +
+ +
390def minutes_to_hours(max_minutes=999):
+391    """Convert minutes to hours and minutes
+392
+393    | Ex. Problem | Ex. Solution |
+394    | --- | --- |
+395    | Convert $836$ minutes to hours & minutes | $13$ hours and $56$ minutes |
+396    """
+397    minutes = random.randint(1, max_minutes)
+398    ansHours = minutes // 60
+399    ansMinutes = minutes % 60
+400
+401    problem = f"Convert ${minutes}$ minutes to hours & minutes"
+402    solution = f"${ansHours}$ hours and ${ansMinutes}$ minutes"
+403    return problem, solution
+
+ + +

Convert minutes to hours and minutes

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Convert $836$ minutes to hours & minutes$13$ hours and $56$ minutes
+
+ + +
+
+ +
+ + def + prime_factors(min_val=1, max_val=200): + + + +
+ +
406def prime_factors(min_val=1, max_val=200):
+407    """Prime Factors
+408
+409    | Ex. Problem | Ex. Solution |
+410    | --- | --- |
+411    | Find prime factors of $30$ | $2, 3, 5$ |
+412    """
+413    a = random.randint(min_val, max_val)
+414    n = a
+415    i = 2
+416    factors = []
+417
+418    while i * i <= n:
+419        if n % i:
+420            i += 1
+421        else:
+422            n //= i
+423            factors.append(i)
+424
+425    if n > 1:
+426        factors.append(n)
+427
+428    problem = f"Find prime factors of ${a}$"
+429    solution = f"${', '.join(map(str, factors))}$"
+430    return problem, solution
+
+ + +

Prime Factors

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find prime factors of $30$$2, 3, 5$
+
+ + +
+
+ +
+ + def + product_of_scientific_notations(min_exp_val=-100, max_exp_val=100): + + + +
+ +
433def product_of_scientific_notations(min_exp_val=-100, max_exp_val=100):
+434    r"""Product of scientific notations
+435
+436    | Ex. Problem | Ex. Solution |
+437    | --- | --- |
+438    | Product of scientific notations $5.11 \times 10^{67}$ and $3.64 \times 10^{-59} = $ | $1.86 \times 10^{9}$ |
+439    """
+440    a = [round(random.uniform(1, 10), 2),
+441         random.randint(min_exp_val, max_exp_val)]
+442    b = [round(random.uniform(1, 10), 2),
+443         random.randint(min_exp_val, max_exp_val)]
+444    c = [a[0] * b[0], a[1] + b[1]]
+445
+446    if c[0] >= 10:
+447        c[0] /= 10
+448        c[1] += 1
+449
+450    problem = rf"Product of scientific notations ${a[0]} \times 10^{{{a[1]}}}$ and ${b[0]} \times 10^{{{b[1]}}} = $"
+451    solution = rf'${round(c[0], 2)} \times 10^{{{c[1]}}}$'
+452    return problem, solution
+
+ + +

Product of scientific notations

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Product of scientific notations $5.11 \times 10^{67}$ and $3.64 \times 10^{-59} = $$1.86 \times 10^{9}$
+
+ + +
+
+ +
+ + def + profit_loss_percent(max_cp=1000, max_sp=1000): + + + +
+ +
455def profit_loss_percent(max_cp=1000, max_sp=1000):
+456    """Profit or Loss Percent
+457
+458    | Ex. Problem | Ex. Solution |
+459    | --- | --- |
+460    | Loss percent when $CP = 751$ and $SP = 290$ is: | $61.38$ |
+461    """
+462    cP = random.randint(1, max_cp)
+463    sP = random.randint(1, max_sp)
+464    diff = abs(sP - cP)
+465    if (sP - cP >= 0):
+466        profitOrLoss = "Profit"
+467    else:
+468        profitOrLoss = "Loss"
+469    percent = round(diff / cP * 100, 2)
+470
+471    problem = f"{profitOrLoss} percent when $CP = {cP}$ and $SP = {sP}$ is: "
+472    return problem, f'${percent}$'
+
+ + +

Profit or Loss Percent

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Loss percent when $CP = 751$ and $SP = 290$ is:$61.38$
+
+ + +
+
+ +
+ + def + quotient_of_power_same_base(max_base=50, max_power=10): + + + +
+ +
475def quotient_of_power_same_base(max_base=50, max_power=10):
+476    """Quotient of Powers with Same Base
+477
+478    | Ex. Problem | Ex. Solution |
+479    | --- | --- |
+480    | The Quotient of $5^{6}$ and $5^{8} = $5^{6-8} = 5^{-2}$ | $0.04$ |
+481    """
+482    base = random.randint(1, max_base)
+483    power1 = random.randint(1, max_power)
+484    power2 = random.randint(1, max_power)
+485    step = power1 - power2
+486    solution = base ** step
+487
+488    problem = f"The Quotient of ${base}^{{{power1}}}$ and ${base}^{{{power2}}} = " \
+489        f"${base}^{{{power1}-{power2}}} = {base}^{{{step}}}$"
+490    return problem, f'${solution}$'
+
+ + +

Quotient of Powers with Same Base

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The Quotient of $5^{6}$ and $5^{8} = $5^{6-8} = 5^{-2}$$0.04$
+
+ + +
+
+ +
+ + def + quotient_of_power_same_power(max_base=50, max_power=10): + + + +
+ +
493def quotient_of_power_same_power(max_base=50, max_power=10):
+494    """Quotient of Powers with Same Power
+495
+496    | Ex. Problem | Ex. Solution |
+497    | --- | --- |
+498    | The quotient of $19^{8}$ and $10^{8} = (19/10)^8 = 1.9^{8}$ | $169.84$ |
+499    """
+500    base1 = random.randint(1, max_base)
+501    base2 = random.randint(1, max_base)
+502    power = random.randint(1, max_power)
+503    step = base1 / base2
+504    solution = round(step ** power, 2)
+505
+506    problem = f"The quotient of ${base1}^{{{power}}}$ and ${base2}^{{{power}}} = " \
+507        f"({base1}/{base2})^{power} = {step}^{{{power}}}$"
+508    return problem, f'${solution}$'
+
+ + +

Quotient of Powers with Same Power

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The quotient of $19^{8}$ and $10^{8} = (19/10)^8 = 1.9^{8}$$169.84$
+
+ + +
+
+ +
+ + def + set_operation(min_size=3, max_size=7): + + + +
+ +
511def set_operation(min_size=3, max_size=7):
+512    """Union, Intersection, Difference of Two Sets
+513
+514    | Ex. Problem | Ex. Solution |
+515    | --- | --- |
+516    | Given the two sets $a={1, 2, 4, 5}$, $b={8, 1, 2}. Find the Union, intersection, a-b, b-a, and symmetric difference | Union is ${1, 2, 4, 5, 8}$. Intersection is ${1, 2}$, a-b is ${4, 5}$, b-a is ${8}$. Symmetric difference is ${4, 5, 8}$. |
+517    """
+518    number_variables_a = random.randint(min_size, max_size)
+519    number_variables_b = random.randint(min_size, max_size)
+520    a = []
+521    b = []
+522    for _ in range(number_variables_a):
+523        a.append(random.randint(1, 10))
+524    for _ in range(number_variables_b):
+525        b.append(random.randint(1, 10))
+526    a = set(a)
+527    b = set(b)
+528
+529    problem = f"Given the two sets $a={a}$, $b={b}. " + \
+530        "Find the Union, intersection, a-b, b-a, and symmetric difference"
+531    solution = f"Union is ${a.union(b)}$. Intersection is ${a.intersection(b)}$" + \
+532        f", a-b is ${a.difference(b)}$, b-a is ${b.difference(a)}$." + \
+533        f" Symmetric difference is ${a.symmetric_difference(b)}$."
+534    return problem, solution
+
+ + +

Union, Intersection, Difference of Two Sets

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Given the two sets $a={1, 2, 4, 5}$, $b={8, 1, 2}. Find the Union, intersection, a-b, b-a, and symmetric differenceUnion is ${1, 2, 4, 5, 8}$. Intersection is ${1, 2}$, a-b is ${4, 5}$, b-a is ${8}$. Symmetric difference is ${4, 5, 8}$.
+
+ + +
+
+ +
+ + def + signum_function(min=-999, max=999): + + + +
+ +
537def signum_function(min=-999, max=999):
+538    """Signum Function
+539
+540    | Ex. Problem | Ex. Solution |
+541    | --- | --- |
+542    | Signum of $-229$ is = | $-1$ |
+543    """
+544    a = random.randint(min, max)
+545    b = 0
+546    if (a > 0):
+547        b = 1
+548    if (a < 0):
+549        b = -1
+550
+551    problem = f"Signum of ${a}$ is ="
+552    solution = f'${b}$'
+553    return problem, solution
+
+ + +

Signum Function

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Signum of $-229$ is =$-1$
+
+ + +
+
+ +
+ + def + surds_comparison(max_value=100, max_root=10): + + + +
+ +
556def surds_comparison(max_value=100, max_root=10):
+557    r"""Comparing Surds
+558
+559    | Ex. Problem | Ex. Solution |
+560    | --- | --- |
+561    | Fill in the blanks $42^{\frac{1}{2}}$ _ $45^{\frac{1}{5}}$ | $>$ |
+562    """
+563    radicand1, radicand2 = tuple(random.sample(range(1, max_value), 2))
+564    degree1, degree2 = tuple(random.sample(range(1, max_root), 2))
+565    first = math.pow(radicand1, 1 / degree1)
+566    second = math.pow(radicand2, 1 / degree2)
+567
+568    solution = "="
+569    if first > second:
+570        solution = ">"
+571    elif first < second:
+572        solution = "<"
+573
+574    problem = rf"Fill in the blanks ${radicand1}^{{\frac{{1}}{{{degree1}}}}}$ _ ${radicand2}^{{\frac{{1}}{{{degree2}}}}}$"
+575    return problem, f'${solution}$'
+
+ + +

Comparing Surds

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Fill in the blanks $42^{\frac{1}{2}}$ _ $45^{\frac{1}{5}}$$>$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/mathgenerator/statistics.html b/docs/mathgenerator/statistics.html new file mode 100644 index 0000000..776dd12 --- /dev/null +++ b/docs/mathgenerator/statistics.html @@ -0,0 +1,866 @@ + + + + + + + mathgenerator.statistics API documentation + + + + + + + + + + + + + +
+
+

+mathgenerator.statistics

+ + + + + + +
  1import random
+  2import math
+  3
+  4
+  5def combinations(max_lengthgth=20):
+  6    """Combinations of Objects
+  7
+  8    | Ex. Problem | Ex. Solution |
+  9    | --- | --- |
+ 10    | Find the number of combinations from $19$ objects picked $6$ at a time. | $27132$ |
+ 11    """
+ 12    a = random.randint(10, max_lengthgth)
+ 13    b = random.randint(0, 9)
+ 14
+ 15    solution = int(math.factorial(
+ 16        a) / (math.factorial(b) * math.factorial(a - b)))
+ 17
+ 18    problem = f"Find the number of combinations from ${a}$ objects picked ${b}$ at a time."
+ 19    return problem, f'${solution}$'
+ 20
+ 21
+ 22def conditional_probability():
+ 23    """Conditional Probability
+ 24
+ 25    | Ex. Problem | Ex. Solution |
+ 26    | --- | --- |
+ 27    | Someone tested positive for a nasty disease which only $1.18$% of the population have. Test sensitivity (true positive) is equal to $SN=98.73$% whereas test specificity (true negative) $SP=99.99$%. What is the probability that this guy really has that disease? | $99.16$% |
+ 28    """
+ 29    P_disease = round(2. * random.random(), 2)
+ 30    true_positive = round(random.random() + float(random.randint(90, 99)), 2)
+ 31    true_negative = round(random.random() + float(random.randint(90, 99)), 2)
+ 32
+ 33    def BayesFormula(P_disease, true_positive, true_negative):
+ 34        P_notDisease = 100. - P_disease
+ 35        false_positive = 100. - true_negative
+ 36        P_plus = (P_disease) * (true_positive) + \
+ 37            (P_notDisease) * (false_positive)
+ 38        P_disease_plus = ((true_positive) * (100 * P_disease)) / P_plus
+ 39
+ 40        return P_disease_plus
+ 41
+ 42    answer = round(BayesFormula(P_disease, true_positive, true_negative), 2)
+ 43
+ 44    problem = "Someone tested positive for a nasty disease which only ${0:.2f}$% of the population have. " \
+ 45        "Test sensitivity (true positive) is equal to $SN={1:.2f}$% whereas test specificity (true negative) $SP={2:.2f}$%. " \
+ 46        "What is the probability that this guy really has that disease?".format(
+ 47            P_disease, true_positive, true_negative)
+ 48    solution = f'${answer}$%'
+ 49    return problem, solution
+ 50
+ 51
+ 52def confidence_interval():
+ 53    """Confidence interval For sample S
+ 54
+ 55    | Ex. Problem | Ex. Solution |
+ 56    | --- | --- |
+ 57    | The confidence interval for sample $[234, 223, 210, 203, 258, 299, 281, 208, 278, 252, 295, 245, 280, 235, 219, 297, 214, 267, 212, 256, 232, 221]$ with $99$% confidence is | $(263.31, 229.33)$ |
+ 58    """
+ 59    n = random.randint(20, 40)
+ 60    j = random.randint(0, 3)
+ 61
+ 62    lst = random.sample(range(200, 300), n)
+ 63    lst_per = [80, 90, 95, 99]
+ 64    lst_t = [1.282, 1.645, 1.960, 2.576]
+ 65
+ 66    mean = 0
+ 67    sd = 0
+ 68
+ 69    for i in lst:
+ 70        count = i + mean
+ 71        mean = count
+ 72
+ 73    mean = mean / n
+ 74
+ 75    for i in lst:
+ 76        x = (i - mean)**2 + sd
+ 77        sd = x
+ 78
+ 79    sd = sd / n
+ 80    standard_error = lst_t[j] * math.sqrt(sd / n)
+ 81    upper = round(mean + standard_error, 2)
+ 82    lower = round(mean - standard_error, 2)
+ 83
+ 84    problem = 'The confidence interval for sample ${}$ with ${}$% confidence is'.format(
+ 85        [x for x in lst], lst_per[j])
+ 86    solution = f'$({upper}, {lower})$'
+ 87    return problem, solution
+ 88
+ 89
+ 90def data_summary(number_values=15, min_val=5, max_val=50):
+ 91    """Mean, Standard Deviation and Variance
+ 92
+ 93    | Ex. Problem | Ex. Solution |
+ 94    | --- | --- |
+ 95    | Find the mean,standard deviation and variance for the data $9, 29, 46, 27, 46, 15, 10, 44, 19, 33, 38, 7, 34, 28, 8$ | The Mean is $26.2$, Standard Deviation is $186.29$, Variance is $13.65$ |
+ 96    """
+ 97    random_list = []
+ 98
+ 99    for i in range(number_values):
+100        n = random.randint(min_val, max_val)
+101        random_list.append(n)
+102
+103    a = sum(random_list)
+104    mean = round(a / number_values, 2)
+105
+106    var = 0
+107    for i in range(number_values):
+108        var += (random_list[i] - mean)**2
+109
+110    standardDeviation = round(var / number_values, 2)
+111    variance = round((var / number_values) ** 0.5, 2)
+112
+113    problem = f"Find the mean,standard deviation and variance for the data ${', '.join(map(str, random_list))}$"
+114    solution = f"The Mean is ${mean}$, Standard Deviation is ${standardDeviation}$, Variance is ${variance}$"
+115    return problem, solution
+116
+117
+118def dice_sum_probability(max_dice=3):
+119    """Probability of a certain sum appearing on faces of dice
+120
+121    | Ex. Problem | Ex. Solution |
+122    | --- | --- |
+123    | If $2$ dice are rolled at the same time, the probability of getting a sum of $5 =$ | $\frac{4}{36}$ |
+124    """
+125    a = random.randint(1, max_dice)
+126    b = random.randint(a, 6 * a)
+127
+128    count = 0
+129    for i in [1, 2, 3, 4, 5, 6]:
+130        if a == 1:
+131            if i == b:
+132                count = count + 1
+133        elif a == 2:
+134            for j in [1, 2, 3, 4, 5, 6]:
+135                if i + j == b:
+136                    count = count + 1
+137        elif a == 3:
+138            for j in [1, 2, 3, 4, 5, 6]:
+139                for k in [1, 2, 3, 4, 5, 6]:
+140                    if i + j + k == b:
+141                        count = count + 1
+142
+143    problem = f"If ${a}$ dice are rolled at the same time, the probability of getting a sum of ${b} =$"
+144    solution = rf"\frac{{{count}}}{{{6**a}}}"
+145    return problem, solution
+146
+147
+148def mean_median(max_length=10):
+149    """Mean and Median
+150
+151    | Ex. Problem | Ex. Solution |
+152    | --- | --- |
+153    | Given the series of numbers $[4, 19, 21, 22, 43, 44, 60, 81, 87, 92]$. Find the arithmatic mean and median of the series | Arithmetic mean of the series is $47.3$ and arithmetic median of this series is $43.5$ |
+154    """
+155    randomlist = random.sample(range(1, 99), max_length)
+156    total = 0
+157    for n in randomlist:
+158        total = total + n
+159    mean = total / 10
+160    randomlist.sort()
+161    median = (randomlist[4] + randomlist[5]) / 2
+162
+163    problem = f"Given the series of numbers ${randomlist}$. Find the arithmatic mean and median of the series"
+164    solution = f"Arithmetic mean of the series is ${mean}$ and arithmetic median of this series is ${median}$"
+165    return problem, solution
+166
+167
+168def permutation(max_lengthgth=20):
+169    """Permutations
+170
+171    | Ex. Problem | Ex. Solution |
+172    | --- | --- |
+173    | Number of Permutations from $18$ objects picked $5$ at a time is: | $1028160$ |
+174    """
+175    a = random.randint(10, max_lengthgth)
+176    b = random.randint(0, 9)
+177    solution = int(math.factorial(a) / (math.factorial(a - b)))
+178
+179    problem = f"Number of Permutations from ${a}$ objects picked ${b}$ at a time is: "
+180    return problem, f"${solution}$"
+
+ + +
+
+ +
+ + def + combinations(max_lengthgth=20): + + + +
+ +
 6def combinations(max_lengthgth=20):
+ 7    """Combinations of Objects
+ 8
+ 9    | Ex. Problem | Ex. Solution |
+10    | --- | --- |
+11    | Find the number of combinations from $19$ objects picked $6$ at a time. | $27132$ |
+12    """
+13    a = random.randint(10, max_lengthgth)
+14    b = random.randint(0, 9)
+15
+16    solution = int(math.factorial(
+17        a) / (math.factorial(b) * math.factorial(a - b)))
+18
+19    problem = f"Find the number of combinations from ${a}$ objects picked ${b}$ at a time."
+20    return problem, f'${solution}$'
+
+ + +

Combinations of Objects

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the number of combinations from $19$ objects picked $6$ at a time.$27132$
+
+ + +
+
+ +
+ + def + conditional_probability(): + + + +
+ +
23def conditional_probability():
+24    """Conditional Probability
+25
+26    | Ex. Problem | Ex. Solution |
+27    | --- | --- |
+28    | Someone tested positive for a nasty disease which only $1.18$% of the population have. Test sensitivity (true positive) is equal to $SN=98.73$% whereas test specificity (true negative) $SP=99.99$%. What is the probability that this guy really has that disease? | $99.16$% |
+29    """
+30    P_disease = round(2. * random.random(), 2)
+31    true_positive = round(random.random() + float(random.randint(90, 99)), 2)
+32    true_negative = round(random.random() + float(random.randint(90, 99)), 2)
+33
+34    def BayesFormula(P_disease, true_positive, true_negative):
+35        P_notDisease = 100. - P_disease
+36        false_positive = 100. - true_negative
+37        P_plus = (P_disease) * (true_positive) + \
+38            (P_notDisease) * (false_positive)
+39        P_disease_plus = ((true_positive) * (100 * P_disease)) / P_plus
+40
+41        return P_disease_plus
+42
+43    answer = round(BayesFormula(P_disease, true_positive, true_negative), 2)
+44
+45    problem = "Someone tested positive for a nasty disease which only ${0:.2f}$% of the population have. " \
+46        "Test sensitivity (true positive) is equal to $SN={1:.2f}$% whereas test specificity (true negative) $SP={2:.2f}$%. " \
+47        "What is the probability that this guy really has that disease?".format(
+48            P_disease, true_positive, true_negative)
+49    solution = f'${answer}$%'
+50    return problem, solution
+
+ + +

Conditional Probability

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Someone tested positive for a nasty disease which only $1.18$% of the population have. Test sensitivity (true positive) is equal to $SN=98.73$% whereas test specificity (true negative) $SP=99.99$%. What is the probability that this guy really has that disease?$99.16$%
+
+ + +
+
+ +
+ + def + confidence_interval(): + + + +
+ +
53def confidence_interval():
+54    """Confidence interval For sample S
+55
+56    | Ex. Problem | Ex. Solution |
+57    | --- | --- |
+58    | The confidence interval for sample $[234, 223, 210, 203, 258, 299, 281, 208, 278, 252, 295, 245, 280, 235, 219, 297, 214, 267, 212, 256, 232, 221]$ with $99$% confidence is | $(263.31, 229.33)$ |
+59    """
+60    n = random.randint(20, 40)
+61    j = random.randint(0, 3)
+62
+63    lst = random.sample(range(200, 300), n)
+64    lst_per = [80, 90, 95, 99]
+65    lst_t = [1.282, 1.645, 1.960, 2.576]
+66
+67    mean = 0
+68    sd = 0
+69
+70    for i in lst:
+71        count = i + mean
+72        mean = count
+73
+74    mean = mean / n
+75
+76    for i in lst:
+77        x = (i - mean)**2 + sd
+78        sd = x
+79
+80    sd = sd / n
+81    standard_error = lst_t[j] * math.sqrt(sd / n)
+82    upper = round(mean + standard_error, 2)
+83    lower = round(mean - standard_error, 2)
+84
+85    problem = 'The confidence interval for sample ${}$ with ${}$% confidence is'.format(
+86        [x for x in lst], lst_per[j])
+87    solution = f'$({upper}, {lower})$'
+88    return problem, solution
+
+ + +

Confidence interval For sample S

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
The confidence interval for sample $[234, 223, 210, 203, 258, 299, 281, 208, 278, 252, 295, 245, 280, 235, 219, 297, 214, 267, 212, 256, 232, 221]$ with $99$% confidence is$(263.31, 229.33)$
+
+ + +
+
+ +
+ + def + data_summary(number_values=15, min_val=5, max_val=50): + + + +
+ +
 91def data_summary(number_values=15, min_val=5, max_val=50):
+ 92    """Mean, Standard Deviation and Variance
+ 93
+ 94    | Ex. Problem | Ex. Solution |
+ 95    | --- | --- |
+ 96    | Find the mean,standard deviation and variance for the data $9, 29, 46, 27, 46, 15, 10, 44, 19, 33, 38, 7, 34, 28, 8$ | The Mean is $26.2$, Standard Deviation is $186.29$, Variance is $13.65$ |
+ 97    """
+ 98    random_list = []
+ 99
+100    for i in range(number_values):
+101        n = random.randint(min_val, max_val)
+102        random_list.append(n)
+103
+104    a = sum(random_list)
+105    mean = round(a / number_values, 2)
+106
+107    var = 0
+108    for i in range(number_values):
+109        var += (random_list[i] - mean)**2
+110
+111    standardDeviation = round(var / number_values, 2)
+112    variance = round((var / number_values) ** 0.5, 2)
+113
+114    problem = f"Find the mean,standard deviation and variance for the data ${', '.join(map(str, random_list))}$"
+115    solution = f"The Mean is ${mean}$, Standard Deviation is ${standardDeviation}$, Variance is ${variance}$"
+116    return problem, solution
+
+ + +

Mean, Standard Deviation and Variance

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Find the mean,standard deviation and variance for the data $9, 29, 46, 27, 46, 15, 10, 44, 19, 33, 38, 7, 34, 28, 8$The Mean is $26.2$, Standard Deviation is $186.29$, Variance is $13.65$
+
+ + +
+
+ +
+ + def + dice_sum_probability(max_dice=3): + + + +
+ +
119def dice_sum_probability(max_dice=3):
+120    """Probability of a certain sum appearing on faces of dice
+121
+122    | Ex. Problem | Ex. Solution |
+123    | --- | --- |
+124    | If $2$ dice are rolled at the same time, the probability of getting a sum of $5 =$ | $\frac{4}{36}$ |
+125    """
+126    a = random.randint(1, max_dice)
+127    b = random.randint(a, 6 * a)
+128
+129    count = 0
+130    for i in [1, 2, 3, 4, 5, 6]:
+131        if a == 1:
+132            if i == b:
+133                count = count + 1
+134        elif a == 2:
+135            for j in [1, 2, 3, 4, 5, 6]:
+136                if i + j == b:
+137                    count = count + 1
+138        elif a == 3:
+139            for j in [1, 2, 3, 4, 5, 6]:
+140                for k in [1, 2, 3, 4, 5, 6]:
+141                    if i + j + k == b:
+142                        count = count + 1
+143
+144    problem = f"If ${a}$ dice are rolled at the same time, the probability of getting a sum of ${b} =$"
+145    solution = rf"\frac{{{count}}}{{{6**a}}}"
+146    return problem, solution
+
+ + +

Probability of a certain sum appearing on faces of dice

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
If $2$ dice are rolled at the same time, the probability of getting a sum of $5 =$$ rac{4}{36}$
+
+ + +
+
+ +
+ + def + mean_median(max_length=10): + + + +
+ +
149def mean_median(max_length=10):
+150    """Mean and Median
+151
+152    | Ex. Problem | Ex. Solution |
+153    | --- | --- |
+154    | Given the series of numbers $[4, 19, 21, 22, 43, 44, 60, 81, 87, 92]$. Find the arithmatic mean and median of the series | Arithmetic mean of the series is $47.3$ and arithmetic median of this series is $43.5$ |
+155    """
+156    randomlist = random.sample(range(1, 99), max_length)
+157    total = 0
+158    for n in randomlist:
+159        total = total + n
+160    mean = total / 10
+161    randomlist.sort()
+162    median = (randomlist[4] + randomlist[5]) / 2
+163
+164    problem = f"Given the series of numbers ${randomlist}$. Find the arithmatic mean and median of the series"
+165    solution = f"Arithmetic mean of the series is ${mean}$ and arithmetic median of this series is ${median}$"
+166    return problem, solution
+
+ + +

Mean and Median

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Given the series of numbers $[4, 19, 21, 22, 43, 44, 60, 81, 87, 92]$. Find the arithmatic mean and median of the seriesArithmetic mean of the series is $47.3$ and arithmetic median of this series is $43.5$
+
+ + +
+
+ +
+ + def + permutation(max_lengthgth=20): + + + +
+ +
169def permutation(max_lengthgth=20):
+170    """Permutations
+171
+172    | Ex. Problem | Ex. Solution |
+173    | --- | --- |
+174    | Number of Permutations from $18$ objects picked $5$ at a time is: | $1028160$ |
+175    """
+176    a = random.randint(10, max_lengthgth)
+177    b = random.randint(0, 9)
+178    solution = int(math.factorial(a) / (math.factorial(a - b)))
+179
+180    problem = f"Number of Permutations from ${a}$ objects picked ${b}$ at a time is: "
+181    return problem, f"${solution}$"
+
+ + +

Permutations

+ + + + + + + + + + + + + + +
Ex. ProblemEx. Solution
Number of Permutations from $18$ objects picked $5$ at a time is:$1028160$
+
+ + +
+
+ + \ No newline at end of file diff --git a/docs/search.js b/docs/search.js new file mode 100644 index 0000000..c45dd86 --- /dev/null +++ b/docs/search.js @@ -0,0 +1,46 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();omathgenerator\n\n

A math problem generator, created for the purpose of giving teachers and students the means to easily get access to random math exercises to suit their needs.

\n\n

To try out generators, go to https://lukew3.github.io/mathgenerator

\n\n

See CONTRIBUTING.md for information about how to contribute.

\n\n

Table of Contents

\n\n\n\n

Installation

\n\n

The project can be install via pip

\n\n
\n
pip install mathgenerator\n
\n
\n\n

Usage

\n\n

Here is an example of how you would generate an addition problem:

\n\n
\n
import mathgenerator\n\n#generate an addition problem\nproblem, solution = mathgenerator.addition()\n\n#another way to generate an addition problem using genById()\nproblem, solution = mathgenerator.genById(0)\n
\n
\n\n

You may prefer to use import mathgenerator as mg and run functions like mg.addition() so that you don't have to type as much.\n\nProblem/solution pairs are generated with either:

\n\n
    \n
  • mathgenerator.<generator_name>() - generates a problem, solution set from the given generator name.
  • \n
  • mathgenerator.genById(id) - generates a problem, solution set with generator id provided by the id parameter
  • \n
\n\n

\nYou can also use getGenList() to return a list of all generators included in the library in the format:\n\n\n

[id, title, gen_func, funcname, subjectname, kwargs]\n
\n\n

Documentation

\n\n

Documentation can be found at https://lukew3.github.io/mathgenerator

\n"}, "mathgenerator.get_gen_list": {"fullname": "mathgenerator.get_gen_list", "modulename": "mathgenerator", "qualname": "get_gen_list", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "mathgenerator.gen_by_id": {"fullname": "mathgenerator.gen_by_id", "modulename": "mathgenerator", "qualname": "gen_by_id", "kind": "function", "doc": "

\n", "signature": "(id, *args, **kwargs):", "funcdef": "def"}, "mathgenerator.getGenList": {"fullname": "mathgenerator.getGenList", "modulename": "mathgenerator", "qualname": "getGenList", "kind": "function", "doc": "

\n", "signature": "():", "funcdef": "def"}, "mathgenerator.genById": {"fullname": "mathgenerator.genById", "modulename": "mathgenerator", "qualname": "genById", "kind": "function", "doc": "

\n", "signature": "(id, *args, **kwargs):", "funcdef": "def"}, "mathgenerator.algebra": {"fullname": "mathgenerator.algebra", "modulename": "mathgenerator.algebra", "kind": "module", "doc": "

\n"}, "mathgenerator.algebra.basic_algebra": {"fullname": "mathgenerator.algebra.basic_algebra", "modulename": "mathgenerator.algebra", "qualname": "basic_algebra", "kind": "function", "doc": "

Basic Algebra

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$1x + 5 = 5$$0$
\n", "signature": "(max_variable=10):", "funcdef": "def"}, "mathgenerator.algebra.combine_like_terms": {"fullname": "mathgenerator.algebra.combine_like_terms", "modulename": "mathgenerator.algebra", "qualname": "combine_like_terms", "kind": "function", "doc": "

Combine Like Terms

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$6x^{9} + 3x^{2} + 5x^{19} + 3x^{17}$$3x^{2} + 6x^{9} + 3x^{17} + 5x^{19}$
\n", "signature": "(max_coef=10, max_exp=20, max_terms=10):", "funcdef": "def"}, "mathgenerator.algebra.complex_quadratic": {"fullname": "mathgenerator.algebra.complex_quadratic", "modulename": "mathgenerator.algebra", "qualname": "complex_quadratic", "kind": "function", "doc": "

Complex Quadratic Equation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the roots of given Quadratic Equation $x^2 + 8x + 8 = 0$$((-1.172, -6.828)) = (\\frac{-8 + \\sqrt{32}}{21}, (\\frac{-8 - \\sqrt{32}}{21})$
\n", "signature": "(prob_type=0, max_range=10):", "funcdef": "def"}, "mathgenerator.algebra.compound_interest": {"fullname": "mathgenerator.algebra.compound_interest", "modulename": "mathgenerator.algebra", "qualname": "compound_interest", "kind": "function", "doc": "

Compound Interest

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Compound interest for a principle amount of $2679$ dollars, $9$% rate of interest and for a time period of $3$ years is $=$$3469.38$
\n", "signature": "(max_principle=10000, max_rate=10, max_time=10):", "funcdef": "def"}, "mathgenerator.algebra.distance_two_points": {"fullname": "mathgenerator.algebra.distance_two_points", "modulename": "mathgenerator.algebra", "qualname": "distance_two_points", "kind": "function", "doc": "

Distance between 2 points

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the distance between $(-19, -6)$ and $(15, -16)$$\\sqrt{1256}$
\n", "signature": "(max_val_xy=20, min_val_xy=-20):", "funcdef": "def"}, "mathgenerator.algebra.expanding": {"fullname": "mathgenerator.algebra.expanding", "modulename": "mathgenerator.algebra", "qualname": "expanding", "kind": "function", "doc": "

Expanding Factored Binomial

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$(x-6)(-3x-3)$$x^2+18x+18$
\n", "signature": "(range_x1=10, range_x2=10, range_a=10, range_b=10):", "funcdef": "def"}, "mathgenerator.algebra.factoring": {"fullname": "mathgenerator.algebra.factoring", "modulename": "mathgenerator.algebra", "qualname": "factoring", "kind": "function", "doc": "

Factoring Quadratic\nGiven a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2)

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$x^2+2x-24$$(x-4)(x+6)$
\n", "signature": "(range_x1=10, range_x2=10):", "funcdef": "def"}, "mathgenerator.algebra.int_matrix_22_determinant": {"fullname": "mathgenerator.algebra.int_matrix_22_determinant", "modulename": "mathgenerator.algebra", "qualname": "int_matrix_22_determinant", "kind": "function", "doc": "

Determinant to 2x2 Matrix

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\det \\begin{bmatrix} 88 & 40 \\\\ 9 & 91 \\end{bmatrix}= $$7648$
\n", "signature": "(max_matrix_val=100):", "funcdef": "def"}, "mathgenerator.algebra.intersection_of_two_lines": {"fullname": "mathgenerator.algebra.intersection_of_two_lines", "modulename": "mathgenerator.algebra", "qualname": "intersection_of_two_lines", "kind": "function", "doc": "

Intersection of two lines

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the point of intersection of the two lines: $y = \\frac{-2}{6}x + 3$ and $y = \\frac{3}{6}x - 8$$(\\frac{66}{5}, \\frac{-7}{5})$
\n", "signature": "(\tmin_m=-10,\tmax_m=10,\tmin_b=-10,\tmax_b=10,\tmin_denominator=1,\tmax_denominator=6):", "funcdef": "def"}, "mathgenerator.algebra.invert_matrix": {"fullname": "mathgenerator.algebra.invert_matrix", "modulename": "mathgenerator.algebra", "qualname": "invert_matrix", "kind": "function", "doc": "

Invert Matrix

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Inverse of Matrix $\\begin{bmatrix} 4 & 1 & 4 \\\\ 5 & 1 & 5 \\\\ 12 & 3 & 13 \\end{bmatrix}$ is:$\\begin{bmatrix} 2 & 1 & -1 \\\\ 5 & -4 & 0 \\\\ -3 & 0 & 1 \\end{bmatrix}$
\n", "signature": "(\tsquare_matrix_dimension=3,\tmax_matrix_element=99,\tonly_integer_elements_in_inverted_matrixe=True):", "funcdef": "def"}, "mathgenerator.algebra.linear_equations": {"fullname": "mathgenerator.algebra.linear_equations", "modulename": "mathgenerator.algebra", "qualname": "linear_equations", "kind": "function", "doc": "

Linear Equations

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Given the equations $10x + -20y = 310$ and $-16x + -17y = 141$, solve for $x$ and $y$$x = 5$, $y = -13$
\n", "signature": "(n=2, var_range=20, coeff_range=20):", "funcdef": "def"}, "mathgenerator.algebra.log": {"fullname": "mathgenerator.algebra.log", "modulename": "mathgenerator.algebra", "qualname": "log", "kind": "function", "doc": "

Logarithm

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$log_{3}(243)=$$5$
\n", "signature": "(max_base=3, max_val=8):", "funcdef": "def"}, "mathgenerator.algebra.matrix_multiplication": {"fullname": "mathgenerator.algebra.matrix_multiplication", "modulename": "mathgenerator.algebra", "qualname": "matrix_multiplication", "kind": "function", "doc": "

Multiply Two Matrices

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Multiply $\\begin{bmatrix} 15 & 72 \\\\ 64 & -20 \\\\ 18 & 59 \\\\ -21 & -55 \\\\ 20 & -12 \\\\ -75 & -42 \\\\ 47 & 89 \\\\ -53 & 27 \\\\ -56 & 44 \\end{bmatrix}$ and $\\begin{bmatrix} 49 & -2 & 68 & -28 \\\\ 49 & 6 & 83 & 42 \\end{bmatrix}$$\\begin{bmatrix} 4263 & 402 & 6996 & 2604 \\\\ 2156 & -248 & 2692 & -2632 \\\\ 3773 & 318 & 6121 & 1974 \\\\ -3724 & -288 & -5993 & -1722 \\\\ 392 & -112 & 364 & -1064 \\\\ -5733 & -102 & -8586 & 336 \\\\ 6664 & 440 & 10583 & 2422 \\\\ -1274 & 268 & -1363 & 2618 \\\\ -588 & 376 & -156 & 3416 \\end{bmatrix}$
\n", "signature": "(max_val=100, max_dim=10):", "funcdef": "def"}, "mathgenerator.algebra.midpoint_of_two_points": {"fullname": "mathgenerator.algebra.midpoint_of_two_points", "modulename": "mathgenerator.algebra", "qualname": "midpoint_of_two_points", "kind": "function", "doc": "

Midpoint of two points

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The midpoint of $(-8,10)$ and $(18,0) = $$(5.0,5.0)$
\n", "signature": "(max_value=20):", "funcdef": "def"}, "mathgenerator.algebra.multiply_complex_numbers": {"fullname": "mathgenerator.algebra.multiply_complex_numbers", "modulename": "mathgenerator.algebra", "qualname": "multiply_complex_numbers", "kind": "function", "doc": "

Multiplication of 2 complex numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$(14+18j) * (14+15j) = $$(-74+462j)$
\n", "signature": "(min_real_imaginary_num=-20, max_real_imaginary_num=20):", "funcdef": "def"}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"fullname": "mathgenerator.algebra.multiply_int_to_22_matrix", "modulename": "mathgenerator.algebra", "qualname": "multiply_int_to_22_matrix", "kind": "function", "doc": "

Multiply Integer to 2x2 Matrix

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$5 * \\begin{bmatrix} 1 & 0 \\\\ 2 & 9 \\end{bmatrix} =$$\\begin{bmatrix} 5 & 0 \\\\ 10 & 45 \\end{bmatrix}$
\n", "signature": "(max_matrix_val=10, max_res=100):", "funcdef": "def"}, "mathgenerator.algebra.quadratic_equation": {"fullname": "mathgenerator.algebra.quadratic_equation", "modulename": "mathgenerator.algebra", "qualname": "quadratic_equation", "kind": "function", "doc": "

Quadratic Equation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What are the zeros of the quadratic equation $22x^2+137x+25=0$${-0.19, -6.04}$
\n", "signature": "(max_val=100):", "funcdef": "def"}, "mathgenerator.algebra.simple_interest": {"fullname": "mathgenerator.algebra.simple_interest", "modulename": "mathgenerator.algebra", "qualname": "simple_interest", "kind": "function", "doc": "

Simple Interest

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Simple interest for a principle amount of $7217$ dollars, $3$% rate of interest and for a time period of $10$ years is $=$$2165.1$
\n", "signature": "(max_principle=10000, max_rate=10, max_time=10):", "funcdef": "def"}, "mathgenerator.algebra.system_of_equations": {"fullname": "mathgenerator.algebra.system_of_equations", "modulename": "mathgenerator.algebra", "qualname": "system_of_equations", "kind": "function", "doc": "

Solve a System of Equations in R^2

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Given $-x + 5y = -28$ and $9x + 2y = 64$, solve for $x$ and $y$.$x = 8$, $y = -4$
\n", "signature": "(range_x=10, range_y=10, coeff_mult_range=10):", "funcdef": "def"}, "mathgenerator.algebra.vector_cross": {"fullname": "mathgenerator.algebra.vector_cross", "modulename": "mathgenerator.algebra", "qualname": "vector_cross", "kind": "function", "doc": "

Cross product of 2 vectors

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$[-1, -4, 10] \\times [-11, 1, -16] = $$[54, -126, -45]$
\n", "signature": "(min_val=-20, max_val=20):", "funcdef": "def"}, "mathgenerator.algebra.vector_dot": {"fullname": "mathgenerator.algebra.vector_dot", "modulename": "mathgenerator.algebra", "qualname": "vector_dot", "kind": "function", "doc": "

Dot product of 2 vectors

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$[12, -9, -8]\\cdot[-9, 8, 1]=$$-188$
\n", "signature": "(min_val=-20, max_val=20):", "funcdef": "def"}, "mathgenerator.basic_math": {"fullname": "mathgenerator.basic_math", "modulename": "mathgenerator.basic_math", "kind": "module", "doc": "

\n"}, "mathgenerator.basic_math.absolute_difference": {"fullname": "mathgenerator.basic_math.absolute_difference", "modulename": "mathgenerator.basic_math", "qualname": "absolute_difference", "kind": "function", "doc": "

Absolute difference between two numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n \n \n\n\n
Ex. ProblemEx. Solution
$22-34=$$12$
\n", "signature": "(max_a=100, max_b=100):", "funcdef": "def"}, "mathgenerator.basic_math.addition": {"fullname": "mathgenerator.basic_math.addition", "modulename": "mathgenerator.basic_math", "qualname": "addition", "kind": "function", "doc": "

Addition of two numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$22+34=$$56$
\n", "signature": "(max_sum=99, max_addend=50):", "funcdef": "def"}, "mathgenerator.basic_math.compare_fractions": {"fullname": "mathgenerator.basic_math.compare_fractions", "modulename": "mathgenerator.basic_math", "qualname": "compare_fractions", "kind": "function", "doc": "

Compare Fractions

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Which symbol represents the comparison between $\\frac{1}{2}$ and $\\frac{3}{4}$?$>$
\n", "signature": "(max_val=10):", "funcdef": "def"}, "mathgenerator.basic_math.cube_root": {"fullname": "mathgenerator.basic_math.cube_root", "modulename": "mathgenerator.basic_math", "qualname": "cube_root", "kind": "function", "doc": "

Cube Root

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the cube root of: $\\sqrt[3]{125}=$ to 2 decimal places?$5$
\n", "signature": "(min_no=1, max_no=1000):", "funcdef": "def"}, "mathgenerator.basic_math.divide_fractions": {"fullname": "mathgenerator.basic_math.divide_fractions", "modulename": "mathgenerator.basic_math", "qualname": "divide_fractions", "kind": "function", "doc": "

Divide Fractions

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\frac{7}{9}\\div\\frac{4}{1}=$$\\frac{7}{36}$
\n", "signature": "(max_val=10):", "funcdef": "def"}, "mathgenerator.basic_math.division": {"fullname": "mathgenerator.basic_math.division", "modulename": "mathgenerator.basic_math", "qualname": "division", "kind": "function", "doc": "

Division

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$216\\div24=$$9$
\n", "signature": "(max_a=25, max_b=25):", "funcdef": "def"}, "mathgenerator.basic_math.exponentiation": {"fullname": "mathgenerator.basic_math.exponentiation", "modulename": "mathgenerator.basic_math", "qualname": "exponentiation", "kind": "function", "doc": "

Exponentiation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$9^{5}=$$8$
\n", "signature": "(max_base=20, max_expo=10):", "funcdef": "def"}, "mathgenerator.basic_math.factorial": {"fullname": "mathgenerator.basic_math.factorial", "modulename": "mathgenerator.basic_math", "qualname": "factorial", "kind": "function", "doc": "

Factorial

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$4! =$$24$
\n", "signature": "(max_input=6):", "funcdef": "def"}, "mathgenerator.basic_math.fraction_multiplication": {"fullname": "mathgenerator.basic_math.fraction_multiplication", "modulename": "mathgenerator.basic_math", "qualname": "fraction_multiplication", "kind": "function", "doc": "

Fraction Multiplication

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\frac{3}{10}\\cdot\\frac{6}{7}=$$\\frac{9}{35}$
\n", "signature": "(max_val=10):", "funcdef": "def"}, "mathgenerator.basic_math.fraction_to_decimal": {"fullname": "mathgenerator.basic_math.fraction_to_decimal", "modulename": "mathgenerator.basic_math", "qualname": "fraction_to_decimal", "kind": "function", "doc": "

Fraction to Decimal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$83\\div80=$$1.04$
\n", "signature": "(max_res=99, max_divid=99):", "funcdef": "def"}, "mathgenerator.basic_math.greatest_common_divisor": {"fullname": "mathgenerator.basic_math.greatest_common_divisor", "modulename": "mathgenerator.basic_math", "qualname": "greatest_common_divisor", "kind": "function", "doc": "

Greatest Common Divisor of N Numbers ( GCD / HCF )

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$GCD(488075608, 75348096)=$$8$
\n", "signature": "(numbers_count=2, max_num=1000):", "funcdef": "def"}, "mathgenerator.basic_math.is_composite": {"fullname": "mathgenerator.basic_math.is_composite", "modulename": "mathgenerator.basic_math", "qualname": "is_composite", "kind": "function", "doc": "

Is Composite

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Is $171$ composite?Yes
\n", "signature": "(max_num=250):", "funcdef": "def"}, "mathgenerator.basic_math.is_prime": {"fullname": "mathgenerator.basic_math.is_prime", "modulename": "mathgenerator.basic_math", "qualname": "is_prime", "kind": "function", "doc": "

Is Prime

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Is $37$ prime?Yes
\n", "signature": "(max_num=100):", "funcdef": "def"}, "mathgenerator.basic_math.multiplication": {"fullname": "mathgenerator.basic_math.multiplication", "modulename": "mathgenerator.basic_math", "qualname": "multiplication", "kind": "function", "doc": "

Multiplication

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$10\\cdot9=$$90$
\n", "signature": "(max_multi=12):", "funcdef": "def"}, "mathgenerator.basic_math.percentage": {"fullname": "mathgenerator.basic_math.percentage", "modulename": "mathgenerator.basic_math", "qualname": "percentage", "kind": "function", "doc": "

Percentage of a number

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is $45$% of $39$?$17.55$
\n", "signature": "(max_value=99, max_percentage=99):", "funcdef": "def"}, "mathgenerator.basic_math.percentage_difference": {"fullname": "mathgenerator.basic_math.percentage_difference", "modulename": "mathgenerator.basic_math", "qualname": "percentage_difference", "kind": "function", "doc": "

Percentage difference between two numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the percentage difference between $2$ and $10$?$133.33$
\n", "signature": "(max_value=200, min_value=0):", "funcdef": "def"}, "mathgenerator.basic_math.percentage_error": {"fullname": "mathgenerator.basic_math.percentage_error", "modulename": "mathgenerator.basic_math", "qualname": "percentage_error", "kind": "function", "doc": "

Percentage error

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the percentage error when observed value equals $32$ and exact value equals $81$.$60.49$%
\n", "signature": "(max_value=100, min_value=-100):", "funcdef": "def"}, "mathgenerator.basic_math.power_of_powers": {"fullname": "mathgenerator.basic_math.power_of_powers", "modulename": "mathgenerator.basic_math", "qualname": "power_of_powers", "kind": "function", "doc": "

Power of Powers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Simplify $18^{10^{8}}$$18^{80}$
\n", "signature": "(max_base=50, max_power=10):", "funcdef": "def"}, "mathgenerator.basic_math.square": {"fullname": "mathgenerator.basic_math.square", "modulename": "mathgenerator.basic_math", "qualname": "square", "kind": "function", "doc": "

Square

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$17^2=$$289$
\n", "signature": "(max_square_num=20):", "funcdef": "def"}, "mathgenerator.basic_math.square_root": {"fullname": "mathgenerator.basic_math.square_root", "modulename": "mathgenerator.basic_math", "qualname": "square_root", "kind": "function", "doc": "

Square Root

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\sqrt{64}=$$8$
\n", "signature": "(min_no=1, max_no=12):", "funcdef": "def"}, "mathgenerator.basic_math.subtraction": {"fullname": "mathgenerator.basic_math.subtraction", "modulename": "mathgenerator.basic_math", "qualname": "subtraction", "kind": "function", "doc": "

Subtraction of two numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$54-22=$$32$
\n", "signature": "(max_minuend=99, max_diff=99):", "funcdef": "def"}, "mathgenerator.calculus": {"fullname": "mathgenerator.calculus", "modulename": "mathgenerator.calculus", "kind": "module", "doc": "

\n"}, "mathgenerator.calculus.definite_integral": {"fullname": "mathgenerator.calculus.definite_integral", "modulename": "mathgenerator.calculus", "qualname": "definite_integral", "kind": "function", "doc": "

Definite Integral of Quadratic Equation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The definite integral within limits $0$ to $1$ of the equation $28x^2 + 32x + 66 = $$91.33$
\n", "signature": "(max_coef=100):", "funcdef": "def"}, "mathgenerator.calculus.power_rule_differentiation": {"fullname": "mathgenerator.calculus.power_rule_differentiation", "modulename": "mathgenerator.calculus", "qualname": "power_rule_differentiation", "kind": "function", "doc": "

Power Rule Differentiation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Differentiate $1x^{5} + 4x^{7} + 4x^{4}$$5x^{4} + 28x^{6} + 16x^{3}$
\n", "signature": "(max_coef=10, max_exp=10, max_terms=5):", "funcdef": "def"}, "mathgenerator.calculus.power_rule_integration": {"fullname": "mathgenerator.calculus.power_rule_integration", "modulename": "mathgenerator.calculus", "qualname": "power_rule_integration", "kind": "function", "doc": "

Power Rule Integration

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Integrate $9x^{6} + 2x^{6} + 4x^{3}$$\\frac{9}{6}x^{7} + \\frac{2}{6}x^{7} + \\frac{4}{3}x^{4} + C$
\n", "signature": "(max_coef=10, max_exp=10, max_terms=5):", "funcdef": "def"}, "mathgenerator.calculus.stationary_points": {"fullname": "mathgenerator.calculus.stationary_points", "modulename": "mathgenerator.calculus", "qualname": "stationary_points", "kind": "function", "doc": "

Stationary Points

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$f(x)=6x^3 + 6x^2 + x + 8$${- \\frac{1}{3} - \\frac{\\sqrt{2}}{6}, - \\frac{1}{3} + \\frac{\\sqrt{2}}{6}}$
\n", "signature": "(max_exp=3, max_coef=10):", "funcdef": "def"}, "mathgenerator.calculus.trig_differentiation": {"fullname": "mathgenerator.calculus.trig_differentiation", "modulename": "mathgenerator.calculus", "qualname": "trig_differentiation", "kind": "function", "doc": "

Trigonometric Differentiation

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\frac{d}{dx}(\\csc)=$$-\\csc \\cdot \\cot$
\n", "signature": "():", "funcdef": "def"}, "mathgenerator.computer_science": {"fullname": "mathgenerator.computer_science", "modulename": "mathgenerator.computer_science", "kind": "module", "doc": "

\n"}, "mathgenerator.computer_science.bcd_to_decimal": {"fullname": "mathgenerator.computer_science.bcd_to_decimal", "modulename": "mathgenerator.computer_science", "qualname": "bcd_to_decimal", "kind": "function", "doc": "

Binary Coded Decimal to Integer

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Integer of Binary Coded Decimal $4 =$$17801$
\n", "signature": "(max_number=10000):", "funcdef": "def"}, "mathgenerator.computer_science.binary_2s_complement": {"fullname": "mathgenerator.computer_science.binary_2s_complement", "modulename": "mathgenerator.computer_science", "qualname": "binary_2s_complement", "kind": "function", "doc": "

Binary 2's Complement

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
2's complement of $1011 = $$101$
\n", "signature": "(maxDigits=10):", "funcdef": "def"}, "mathgenerator.computer_science.binary_complement_1s": {"fullname": "mathgenerator.computer_science.binary_complement_1s", "modulename": "mathgenerator.computer_science", "qualname": "binary_complement_1s", "kind": "function", "doc": "

Binary Complement 1s

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$1111001 = $$0000110$
\n", "signature": "(maxDigits=10):", "funcdef": "def"}, "mathgenerator.computer_science.binary_to_decimal": {"fullname": "mathgenerator.computer_science.binary_to_decimal", "modulename": "mathgenerator.computer_science", "qualname": "binary_to_decimal", "kind": "function", "doc": "

Binary to Decimal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$000110$$6$
\n", "signature": "(max_dig=10):", "funcdef": "def"}, "mathgenerator.computer_science.binary_to_hex": {"fullname": "mathgenerator.computer_science.binary_to_hex", "modulename": "mathgenerator.computer_science", "qualname": "binary_to_hex", "kind": "function", "doc": "

Binary to Hexidecimal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$010101$$0x15$
\n", "signature": "(max_dig=10):", "funcdef": "def"}, "mathgenerator.computer_science.decimal_to_bcd": {"fullname": "mathgenerator.computer_science.decimal_to_bcd", "modulename": "mathgenerator.computer_science", "qualname": "decimal_to_bcd", "kind": "function", "doc": "

Decimal to Binary Coded Decimal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
BCD of Decimal Number $6575 = $$191015$
\n", "signature": "(max_number=10000):", "funcdef": "def"}, "mathgenerator.computer_science.decimal_to_binary": {"fullname": "mathgenerator.computer_science.decimal_to_binary", "modulename": "mathgenerator.computer_science", "qualname": "decimal_to_binary", "kind": "function", "doc": "

Decimal to Binary

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Binary of $4 = $$100$
\n", "signature": "(max_dec=99):", "funcdef": "def"}, "mathgenerator.computer_science.decimal_to_hexadeci": {"fullname": "mathgenerator.computer_science.decimal_to_hexadeci", "modulename": "mathgenerator.computer_science", "qualname": "decimal_to_hexadeci", "kind": "function", "doc": "

Decimal to Hexadecimal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Hexadecimal of $410 = $$0x19a$
\n", "signature": "(max_dec=1000):", "funcdef": "def"}, "mathgenerator.computer_science.decimal_to_octal": {"fullname": "mathgenerator.computer_science.decimal_to_octal", "modulename": "mathgenerator.computer_science", "qualname": "decimal_to_octal", "kind": "function", "doc": "

Decimal to Octal

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The decimal number $3698$ in octal is:$0o7162$
\n", "signature": "(max_decimal=4096):", "funcdef": "def"}, "mathgenerator.computer_science.fibonacci_series": {"fullname": "mathgenerator.computer_science.fibonacci_series", "modulename": "mathgenerator.computer_science", "qualname": "fibonacci_series", "kind": "function", "doc": "

Fibonacci Series

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The Fibonacci Series of the first ${n}$ numbers is ?$0, 1, 1, 2, 3, 5, 8, 13, 21$
\n", "signature": "(min_no=1):", "funcdef": "def"}, "mathgenerator.computer_science.modulo_division": {"fullname": "mathgenerator.computer_science.modulo_division", "modulename": "mathgenerator.computer_science", "qualname": "modulo_division", "kind": "function", "doc": "

Modulo Division

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$43$ % $33 = $$10$
\n", "signature": "(max_res=99, max_modulo=99):", "funcdef": "def"}, "mathgenerator.computer_science.nth_fibonacci_number": {"fullname": "mathgenerator.computer_science.nth_fibonacci_number", "modulename": "mathgenerator.computer_science", "qualname": "nth_fibonacci_number", "kind": "function", "doc": "

nth Fibonacci number

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the 85th Fibonacci number?$259695496911123328$
\n", "signature": "(max_n=100):", "funcdef": "def"}, "mathgenerator.geometry": {"fullname": "mathgenerator.geometry", "modulename": "mathgenerator.geometry", "kind": "module", "doc": "

\n"}, "mathgenerator.geometry.angle_btw_vectors": {"fullname": "mathgenerator.geometry.angle_btw_vectors", "modulename": "mathgenerator.geometry", "qualname": "angle_btw_vectors", "kind": "function", "doc": "

Angle between 2 vectors

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
angle between the vectors $[363.84, 195.54, 997.08, 39.26, 60.14, 722.7, 888.57, 713.15, 436.22, 712.23, 349.23, 595.91, 191.8, 824.58, 861.56, 122.73, 815.14, 700.68, 506.5]$ and $[760.85, 934.67, 513.37, 796.93, 809.97, 423.54, 162.69, 758.96, 133.42, 478.14, 771.84, 824.88, 483.07, 134.41, 954.41, 893.42, 191.01, 453.97, 648.59]$ is:$0.81$ radians
\n", "signature": "(max_elt_amt=20):", "funcdef": "def"}, "mathgenerator.geometry.angle_regular_polygon": {"fullname": "mathgenerator.geometry.angle_regular_polygon", "modulename": "mathgenerator.geometry", "qualname": "angle_regular_polygon", "kind": "function", "doc": "

Angle of a Regular Polygon

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the angle of a regular polygon with $8$ sides$135.0$
\n", "signature": "(min_val=3, max_val=20):", "funcdef": "def"}, "mathgenerator.geometry.arc_length": {"fullname": "mathgenerator.geometry.arc_length", "modulename": "mathgenerator.geometry", "qualname": "arc_length", "kind": "function", "doc": "

Arc length of Angle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Given radius, $44$ and angle, $184$. Find the arc length of the angle.Arc length of the angle $= 141.30186$
\n", "signature": "(max_radius=49, max_angle=359):", "funcdef": "def"}, "mathgenerator.geometry.area_of_circle": {"fullname": "mathgenerator.geometry.area_of_circle", "modulename": "mathgenerator.geometry", "qualname": "area_of_circle", "kind": "function", "doc": "

Area of Circle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Area of circle with radius $29=$$2642.08$
\n", "signature": "(max_radius=100):", "funcdef": "def"}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"fullname": "mathgenerator.geometry.area_of_circle_given_center_and_point", "modulename": "mathgenerator.geometry", "qualname": "area_of_circle_given_center_and_point", "kind": "function", "doc": "

Area of Circle given center and a point on circle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Area of circle with center $(7,-6)$ and passing through $(1.0, -6.0)$ is$113.1$
\n", "signature": "(max_coordinate=10, max_radius=10):", "funcdef": "def"}, "mathgenerator.geometry.area_of_triangle": {"fullname": "mathgenerator.geometry.area_of_triangle", "modulename": "mathgenerator.geometry", "qualname": "area_of_triangle", "kind": "function", "doc": "

Area of Triangle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Area of triangle with side lengths: $8, 1, 8 = $$3.99$
\n", "signature": "(max_a=20, max_b=20):", "funcdef": "def"}, "mathgenerator.geometry.basic_trigonometry": {"fullname": "mathgenerator.geometry.basic_trigonometry", "modulename": "mathgenerator.geometry", "qualname": "basic_trigonometry", "kind": "function", "doc": "

Trigonometric Values

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$\\sin(30) = $$\\frac{1}{2}$
\n", "signature": "(angles=[0, 30, 45, 60, 90], functions=['sin', 'cos', 'tan']):", "funcdef": "def"}, "mathgenerator.geometry.circumference": {"fullname": "mathgenerator.geometry.circumference", "modulename": "mathgenerator.geometry", "qualname": "circumference", "kind": "function", "doc": "

Circumference of Circle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Circumference of circle with radius $56 = $$351.86$
\n", "signature": "(max_radius=100):", "funcdef": "def"}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"fullname": "mathgenerator.geometry.complementary_and_supplementary_angle", "modulename": "mathgenerator.geometry", "qualname": "complementary_and_supplementary_angle", "kind": "function", "doc": "

Complementary and Supplementary Angle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The complementary angle of $15 =$$75$
\n", "signature": "(max_supp=180, max_comp=90):", "funcdef": "def"}, "mathgenerator.geometry.curved_surface_area_cylinder": {"fullname": "mathgenerator.geometry.curved_surface_area_cylinder", "modulename": "mathgenerator.geometry", "qualname": "curved_surface_area_cylinder", "kind": "function", "doc": "

Curved surface area of a cylinder

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the curved surface area of a cylinder of radius, $44$ and height, $92$?$25434.33$
\n", "signature": "(max_radius=49, max_height=99):", "funcdef": "def"}, "mathgenerator.geometry.degree_to_rad": {"fullname": "mathgenerator.geometry.degree_to_rad", "modulename": "mathgenerator.geometry", "qualname": "degree_to_rad", "kind": "function", "doc": "

Degrees to Radians

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Angle $113$ degrees in radians is:$1.97$
\n", "signature": "(max_deg=360):", "funcdef": "def"}, "mathgenerator.geometry.equation_of_line_from_two_points": {"fullname": "mathgenerator.geometry.equation_of_line_from_two_points", "modulename": "mathgenerator.geometry", "qualname": "equation_of_line_from_two_points", "kind": "function", "doc": "

Equation of line from two points

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the equation of the line between points $(13,9)$ and $(6,-19)$ in slope-intercept form?$y = 4x -43$
\n", "signature": "(max_coordinate=20, min_coordinate=-20):", "funcdef": "def"}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"fullname": "mathgenerator.geometry.fourth_angle_of_quadrilateral", "modulename": "mathgenerator.geometry", "qualname": "fourth_angle_of_quadrilateral", "kind": "function", "doc": "

Fourth Angle of Quadrilateral

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Fourth angle of quadrilateral with angles $162 , 43, 78 =$$77$
\n", "signature": "(max_angle=180):", "funcdef": "def"}, "mathgenerator.geometry.perimeter_of_polygons": {"fullname": "mathgenerator.geometry.perimeter_of_polygons", "modulename": "mathgenerator.geometry", "qualname": "perimeter_of_polygons", "kind": "function", "doc": "

Perimeter of Polygons

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The perimeter of a $4$ sided polygon with lengths of $30, 105, 78, 106$cm is:$319$
\n", "signature": "(max_sides=12, max_length=120):", "funcdef": "def"}, "mathgenerator.geometry.pythagorean_theorem": {"fullname": "mathgenerator.geometry.pythagorean_theorem", "modulename": "mathgenerator.geometry", "qualname": "pythagorean_theorem", "kind": "function", "doc": "

Pythagorean Theorem

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the hypotenuse of a right triangle given the other two sides have lengths $9$ and $10$?$13.45$
\n", "signature": "(max_length=20):", "funcdef": "def"}, "mathgenerator.geometry.radian_to_deg": {"fullname": "mathgenerator.geometry.radian_to_deg", "modulename": "mathgenerator.geometry", "qualname": "radian_to_deg", "kind": "function", "doc": "

Radians to Degrees

\n", "signature": "(max_rad=6.28):", "funcdef": "def"}, "mathgenerator.geometry.sector_area": {"fullname": "mathgenerator.geometry.sector_area", "modulename": "mathgenerator.geometry", "qualname": "sector_area", "kind": "function", "doc": "

Area of a Sector

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the area of a sector with radius $42$ and angle $83$ degrees?$1277.69$
\n", "signature": "(max_radius=49, max_angle=359):", "funcdef": "def"}, "mathgenerator.geometry.sum_of_polygon_angles": {"fullname": "mathgenerator.geometry.sum_of_polygon_angles", "modulename": "mathgenerator.geometry", "qualname": "sum_of_polygon_angles", "kind": "function", "doc": "

Sum of Angles of Polygon

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
What is the sum of interior angles of a polygon with $8$ sides?$1080$
\n", "signature": "(max_sides=12):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_cone": {"fullname": "mathgenerator.geometry.surface_area_cone", "modulename": "mathgenerator.geometry", "qualname": "surface_area_cone", "kind": "function", "doc": "

Surface area of a cone

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of cone with height $= 26m$ and radius $= 6m$ is$616 m^2$
\n", "signature": "(max_radius=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_cube": {"fullname": "mathgenerator.geometry.surface_area_cube", "modulename": "mathgenerator.geometry", "qualname": "surface_area_cube", "kind": "function", "doc": "

Surface area of a cube

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of cube with side $= 6m$ is$216 m^2$
\n", "signature": "(max_side=20, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_cuboid": {"fullname": "mathgenerator.geometry.surface_area_cuboid", "modulename": "mathgenerator.geometry", "qualname": "surface_area_cuboid", "kind": "function", "doc": "

Surface area of a cuboid

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of cuboid with sides of lengths: $11m, 20m, 8m$ is$936 m^2$
\n", "signature": "(max_side=20, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_cylinder": {"fullname": "mathgenerator.geometry.surface_area_cylinder", "modulename": "mathgenerator.geometry", "qualname": "surface_area_cylinder", "kind": "function", "doc": "

Surface area of a cylinder

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of cylinder with height $= 26m$ and radius $= 15m$ is$3864 m^2$
\n", "signature": "(max_radius=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_pyramid": {"fullname": "mathgenerator.geometry.surface_area_pyramid", "modulename": "mathgenerator.geometry", "qualname": "surface_area_pyramid", "kind": "function", "doc": "

Surface area of a pyramid

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of pyramid with base length $= 30m$, base width $= 40m$, and height $= 25m$ is$2400 m^2$
\n", "signature": "(unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.surface_area_sphere": {"fullname": "mathgenerator.geometry.surface_area_sphere", "modulename": "mathgenerator.geometry", "qualname": "surface_area_sphere", "kind": "function", "doc": "

Surface area of a sphere

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Surface area of a sphere with radius $= 8m$ is$804.25 m^2$
\n", "signature": "(max_side=20, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.third_angle_of_triangle": {"fullname": "mathgenerator.geometry.third_angle_of_triangle", "modulename": "mathgenerator.geometry", "qualname": "third_angle_of_triangle", "kind": "function", "doc": "

Third Angle of Triangle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Third angle of triangle with angles $10$ and $22 =$$148$
\n", "signature": "(max_angle=89):", "funcdef": "def"}, "mathgenerator.geometry.valid_triangle": {"fullname": "mathgenerator.geometry.valid_triangle", "modulename": "mathgenerator.geometry", "qualname": "valid_triangle", "kind": "function", "doc": "

Valid Triangle

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Does triangel with sides $10, 31$ and $14$ exist?No
\n", "signature": "(max_side_length=50):", "funcdef": "def"}, "mathgenerator.geometry.volume_cone": {"fullname": "mathgenerator.geometry.volume_cone", "modulename": "mathgenerator.geometry", "qualname": "volume_cone", "kind": "function", "doc": "

Volume of a cone

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of cone with height $= 44m$ and radius $= 11m$ is$5575 m^3$
\n", "signature": "(max_radius=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_cube": {"fullname": "mathgenerator.geometry.volume_cube", "modulename": "mathgenerator.geometry", "qualname": "volume_cube", "kind": "function", "doc": "

Volume of a cube\n| Ex. Problem | Ex. Solution |\n| --- | --- |\n| Volume of a cube with a side length of $19m$ is | $6859 m^3$ |

\n", "signature": "(max_side=20, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_cuboid": {"fullname": "mathgenerator.geometry.volume_cuboid", "modulename": "mathgenerator.geometry", "qualname": "volume_cuboid", "kind": "function", "doc": "

Volume of a cuboid

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of cuboid with sides = $17m, 11m, 13m$ is$2431 m^3$
\n", "signature": "(max_side=20, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_cylinder": {"fullname": "mathgenerator.geometry.volume_cylinder", "modulename": "mathgenerator.geometry", "qualname": "volume_cylinder", "kind": "function", "doc": "

Volume of a cylinder

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of cylinder with height $= 3m$ and radius $= 10m$ is$942 m^3$
\n", "signature": "(max_radius=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_cone_frustum": {"fullname": "mathgenerator.geometry.volume_cone_frustum", "modulename": "mathgenerator.geometry", "qualname": "volume_cone_frustum", "kind": "function", "doc": "

Volume of the frustum of a cone

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of frustum with height $= 30m$ and $r1 = 20m$ is and $r2 = 8m$ is$19603.54 m^3$
\n", "signature": "(max_r1=20, max_r2=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_hemisphere": {"fullname": "mathgenerator.geometry.volume_hemisphere", "modulename": "mathgenerator.geometry", "qualname": "volume_hemisphere", "kind": "function", "doc": "

Volume of a hemisphere

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of hemisphere with radius $32m =$$68629.14 m^3$
\n", "signature": "(max_radius=100):", "funcdef": "def"}, "mathgenerator.geometry.volume_pyramid": {"fullname": "mathgenerator.geometry.volume_pyramid", "modulename": "mathgenerator.geometry", "qualname": "volume_pyramid", "kind": "function", "doc": "

Volume of a pyramid

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of pyramid with base length $= 7 m$, base width $= 18 m$ and height $= 42 m$ is$1764.0 m^3$
\n", "signature": "(max_length=20, max_width=20, max_height=50, unit='m'):", "funcdef": "def"}, "mathgenerator.geometry.volume_sphere": {"fullname": "mathgenerator.geometry.volume_sphere", "modulename": "mathgenerator.geometry", "qualname": "volume_sphere", "kind": "function", "doc": "

Volume of a sphere

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Volume of sphere with radius $30 m = $$113097.36 m^3$
\n", "signature": "(max_radius=100):", "funcdef": "def"}, "mathgenerator.misc": {"fullname": "mathgenerator.misc", "modulename": "mathgenerator.misc", "kind": "module", "doc": "

\n"}, "mathgenerator.misc.arithmetic_progression_sum": {"fullname": "mathgenerator.misc.arithmetic_progression_sum", "modulename": "mathgenerator.misc", "qualname": "arithmetic_progression_sum", "kind": "function", "doc": "

Arithmetic Progression Sum

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the sum of first $44$ terms of the AP series: $49, 145, 241 ... $$92972.0$
\n", "signature": "(max_d=100, max_a=100, max_n=100):", "funcdef": "def"}, "mathgenerator.misc.arithmetic_progression_term": {"fullname": "mathgenerator.misc.arithmetic_progression_term", "modulename": "mathgenerator.misc", "qualname": "arithmetic_progression_term", "kind": "function", "doc": "

Arithmetic Progression Term

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find term number $12$ of the AP series: $-54, 24, 102 ... $$804$
\n", "signature": "(max_d=100, max_a=100, max_n=100):", "funcdef": "def"}, "mathgenerator.misc.base_conversion": {"fullname": "mathgenerator.misc.base_conversion", "modulename": "mathgenerator.misc", "qualname": "base_conversion", "kind": "function", "doc": "

Base Conversion

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Convert $45204$ from base $10$ to base $4$$23002110$
\n", "signature": "(max_num=60000, max_base=16):", "funcdef": "def"}, "mathgenerator.misc.binomial_distribution": {"fullname": "mathgenerator.misc.binomial_distribution", "modulename": "mathgenerator.misc", "qualname": "binomial_distribution", "kind": "function", "doc": "

Binomial distribution

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
A manufacturer of metal pistons finds that, on average, $30.56$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $20$ pistons will contain no more than $2$ rejected pistons?$3.17$
\n", "signature": "():", "funcdef": "def"}, "mathgenerator.misc.celsius_to_fahrenheit": {"fullname": "mathgenerator.misc.celsius_to_fahrenheit", "modulename": "mathgenerator.misc", "qualname": "celsius_to_fahrenheit", "kind": "function", "doc": "

Celsius to Fahrenheit

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Convert $-46$ degrees Celsius to degrees Fahrenheit$-50.8$
\n", "signature": "(max_temp=100):", "funcdef": "def"}, "mathgenerator.misc.common_factors": {"fullname": "mathgenerator.misc.common_factors", "modulename": "mathgenerator.misc", "qualname": "common_factors", "kind": "function", "doc": "

Common Factors

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Common Factors of $100$ and $44 = $$[1, 2, 4]$
\n", "signature": "(max_val=100):", "funcdef": "def"}, "mathgenerator.misc.complex_to_polar": {"fullname": "mathgenerator.misc.complex_to_polar", "modulename": "mathgenerator.misc", "qualname": "complex_to_polar", "kind": "function", "doc": "

Complex to polar form

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
$19.42(-19.0\\theta + i-4.0\\theta)$$-2.93$
\n", "signature": "(min_real_imaginary_num=-20, max_real_imaginary_num=20):", "funcdef": "def"}, "mathgenerator.misc.decimal_to_roman_numerals": {"fullname": "mathgenerator.misc.decimal_to_roman_numerals", "modulename": "mathgenerator.misc", "qualname": "decimal_to_roman_numerals", "kind": "function", "doc": "

Decimal to Roman Numerals

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The number $92$ in roman numerals is:$XCII$
\n", "signature": "(max_decimal=4000):", "funcdef": "def"}, "mathgenerator.misc.euclidian_norm": {"fullname": "mathgenerator.misc.euclidian_norm", "modulename": "mathgenerator.misc", "qualname": "euclidian_norm", "kind": "function", "doc": "

Euclidian norm or L2 norm of a vector

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Euclidian norm or L2 norm of the vector $[659.9225071540442, 243.40887829281564, 128.79950053874424, 263.19226900031344]$ is:$761.97$
\n", "signature": "(maxEltAmt=20):", "funcdef": "def"}, "mathgenerator.misc.factors": {"fullname": "mathgenerator.misc.factors", "modulename": "mathgenerator.misc", "qualname": "factors", "kind": "function", "doc": "

Factors of a number

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Factors of $176 = $$[1, 2, 4, 8, 11, 16, 22, 44, 88, 176]$
\n", "signature": "(max_val=1000):", "funcdef": "def"}, "mathgenerator.misc.geometric_mean": {"fullname": "mathgenerator.misc.geometric_mean", "modulename": "mathgenerator.misc", "qualname": "geometric_mean", "kind": "function", "doc": "

Geometric Mean of N Numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Geometric mean of $3$ numbers $[72, 21, 87] = $$50.86$
\n", "signature": "(max_value=100, max_count=4):", "funcdef": "def"}, "mathgenerator.misc.geometric_progression": {"fullname": "mathgenerator.misc.geometric_progression", "modulename": "mathgenerator.misc", "qualname": "geometric_progression", "kind": "function", "doc": "

Geometric Progression

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
For the given GP $[11, 44, 176, 704, 2816, 11264]$. Find the value of a common ratio, 7th term value, sum upto 10th termThe value of a is $11$, common ratio is $4$ , 7th term is $45056$, sum upto 10th term is $3844775.0$
\n", "signature": "(number_values=6, min_value=2, max_value=12, n_term=7, sum_term=5):", "funcdef": "def"}, "mathgenerator.misc.harmonic_mean": {"fullname": "mathgenerator.misc.harmonic_mean", "modulename": "mathgenerator.misc", "qualname": "harmonic_mean", "kind": "function", "doc": "

Harmonic Mean of N Numbers

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Harmonic mean of $4$ numbers $52, 56, 25, 57 = $$602.33$
\n", "signature": "(max_value=100, max_count=4):", "funcdef": "def"}, "mathgenerator.misc.is_leap_year": {"fullname": "mathgenerator.misc.is_leap_year", "modulename": "mathgenerator.misc", "qualname": "is_leap_year", "kind": "function", "doc": "

Is Leap Year or Not

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Is $2000$ a leap year?$2000$ is a leap year
\n", "signature": "(minNumber=1900, max_number=2099):", "funcdef": "def"}, "mathgenerator.misc.lcm": {"fullname": "mathgenerator.misc.lcm", "modulename": "mathgenerator.misc", "qualname": "lcm", "kind": "function", "doc": "

LCM (Least Common Multiple)

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
LCM of $3$ and $18 = $$18$
\n", "signature": "(max_val=20):", "funcdef": "def"}, "mathgenerator.misc.minutes_to_hours": {"fullname": "mathgenerator.misc.minutes_to_hours", "modulename": "mathgenerator.misc", "qualname": "minutes_to_hours", "kind": "function", "doc": "

Convert minutes to hours and minutes

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Convert $836$ minutes to hours & minutes$13$ hours and $56$ minutes
\n", "signature": "(max_minutes=999):", "funcdef": "def"}, "mathgenerator.misc.prime_factors": {"fullname": "mathgenerator.misc.prime_factors", "modulename": "mathgenerator.misc", "qualname": "prime_factors", "kind": "function", "doc": "

Prime Factors

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find prime factors of $30$$2, 3, 5$
\n", "signature": "(min_val=1, max_val=200):", "funcdef": "def"}, "mathgenerator.misc.product_of_scientific_notations": {"fullname": "mathgenerator.misc.product_of_scientific_notations", "modulename": "mathgenerator.misc", "qualname": "product_of_scientific_notations", "kind": "function", "doc": "

Product of scientific notations

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Product of scientific notations $5.11 \\times 10^{67}$ and $3.64 \\times 10^{-59} = $$1.86 \\times 10^{9}$
\n", "signature": "(min_exp_val=-100, max_exp_val=100):", "funcdef": "def"}, "mathgenerator.misc.profit_loss_percent": {"fullname": "mathgenerator.misc.profit_loss_percent", "modulename": "mathgenerator.misc", "qualname": "profit_loss_percent", "kind": "function", "doc": "

Profit or Loss Percent

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Loss percent when $CP = 751$ and $SP = 290$ is:$61.38$
\n", "signature": "(max_cp=1000, max_sp=1000):", "funcdef": "def"}, "mathgenerator.misc.quotient_of_power_same_base": {"fullname": "mathgenerator.misc.quotient_of_power_same_base", "modulename": "mathgenerator.misc", "qualname": "quotient_of_power_same_base", "kind": "function", "doc": "

Quotient of Powers with Same Base

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The Quotient of $5^{6}$ and $5^{8} = $5^{6-8} = 5^{-2}$$0.04$
\n", "signature": "(max_base=50, max_power=10):", "funcdef": "def"}, "mathgenerator.misc.quotient_of_power_same_power": {"fullname": "mathgenerator.misc.quotient_of_power_same_power", "modulename": "mathgenerator.misc", "qualname": "quotient_of_power_same_power", "kind": "function", "doc": "

Quotient of Powers with Same Power

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The quotient of $19^{8}$ and $10^{8} = (19/10)^8 = 1.9^{8}$$169.84$
\n", "signature": "(max_base=50, max_power=10):", "funcdef": "def"}, "mathgenerator.misc.set_operation": {"fullname": "mathgenerator.misc.set_operation", "modulename": "mathgenerator.misc", "qualname": "set_operation", "kind": "function", "doc": "

Union, Intersection, Difference of Two Sets

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Given the two sets $a={1, 2, 4, 5}$, $b={8, 1, 2}. Find the Union, intersection, a-b, b-a, and symmetric differenceUnion is ${1, 2, 4, 5, 8}$. Intersection is ${1, 2}$, a-b is ${4, 5}$, b-a is ${8}$. Symmetric difference is ${4, 5, 8}$.
\n", "signature": "(min_size=3, max_size=7):", "funcdef": "def"}, "mathgenerator.misc.signum_function": {"fullname": "mathgenerator.misc.signum_function", "modulename": "mathgenerator.misc", "qualname": "signum_function", "kind": "function", "doc": "

Signum Function

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Signum of $-229$ is =$-1$
\n", "signature": "(min=-999, max=999):", "funcdef": "def"}, "mathgenerator.misc.surds_comparison": {"fullname": "mathgenerator.misc.surds_comparison", "modulename": "mathgenerator.misc", "qualname": "surds_comparison", "kind": "function", "doc": "

Comparing Surds

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Fill in the blanks $42^{\\frac{1}{2}}$ _ $45^{\\frac{1}{5}}$$>$
\n", "signature": "(max_value=100, max_root=10):", "funcdef": "def"}, "mathgenerator.statistics": {"fullname": "mathgenerator.statistics", "modulename": "mathgenerator.statistics", "kind": "module", "doc": "

\n"}, "mathgenerator.statistics.combinations": {"fullname": "mathgenerator.statistics.combinations", "modulename": "mathgenerator.statistics", "qualname": "combinations", "kind": "function", "doc": "

Combinations of Objects

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the number of combinations from $19$ objects picked $6$ at a time.$27132$
\n", "signature": "(max_lengthgth=20):", "funcdef": "def"}, "mathgenerator.statistics.conditional_probability": {"fullname": "mathgenerator.statistics.conditional_probability", "modulename": "mathgenerator.statistics", "qualname": "conditional_probability", "kind": "function", "doc": "

Conditional Probability

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Someone tested positive for a nasty disease which only $1.18$% of the population have. Test sensitivity (true positive) is equal to $SN=98.73$% whereas test specificity (true negative) $SP=99.99$%. What is the probability that this guy really has that disease?$99.16$%
\n", "signature": "():", "funcdef": "def"}, "mathgenerator.statistics.confidence_interval": {"fullname": "mathgenerator.statistics.confidence_interval", "modulename": "mathgenerator.statistics", "qualname": "confidence_interval", "kind": "function", "doc": "

Confidence interval For sample S

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
The confidence interval for sample $[234, 223, 210, 203, 258, 299, 281, 208, 278, 252, 295, 245, 280, 235, 219, 297, 214, 267, 212, 256, 232, 221]$ with $99$% confidence is$(263.31, 229.33)$
\n", "signature": "():", "funcdef": "def"}, "mathgenerator.statistics.data_summary": {"fullname": "mathgenerator.statistics.data_summary", "modulename": "mathgenerator.statistics", "qualname": "data_summary", "kind": "function", "doc": "

Mean, Standard Deviation and Variance

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Find the mean,standard deviation and variance for the data $9, 29, 46, 27, 46, 15, 10, 44, 19, 33, 38, 7, 34, 28, 8$The Mean is $26.2$, Standard Deviation is $186.29$, Variance is $13.65$
\n", "signature": "(number_values=15, min_val=5, max_val=50):", "funcdef": "def"}, "mathgenerator.statistics.dice_sum_probability": {"fullname": "mathgenerator.statistics.dice_sum_probability", "modulename": "mathgenerator.statistics", "qualname": "dice_sum_probability", "kind": "function", "doc": "

Probability of a certain sum appearing on faces of dice

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
If $2$ dice are rolled at the same time, the probability of getting a sum of $5 =$$\frac{4}{36}$
\n", "signature": "(max_dice=3):", "funcdef": "def"}, "mathgenerator.statistics.mean_median": {"fullname": "mathgenerator.statistics.mean_median", "modulename": "mathgenerator.statistics", "qualname": "mean_median", "kind": "function", "doc": "

Mean and Median

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Given the series of numbers $[4, 19, 21, 22, 43, 44, 60, 81, 87, 92]$. Find the arithmatic mean and median of the seriesArithmetic mean of the series is $47.3$ and arithmetic median of this series is $43.5$
\n", "signature": "(max_length=10):", "funcdef": "def"}, "mathgenerator.statistics.permutation": {"fullname": "mathgenerator.statistics.permutation", "modulename": "mathgenerator.statistics", "qualname": "permutation", "kind": "function", "doc": "

Permutations

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
Ex. ProblemEx. Solution
Number of Permutations from $18$ objects picked $5$ at a time is:$1028160$
\n", "signature": "(max_lengthgth=20):", "funcdef": "def"}}, "docInfo": {"mathgenerator": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 567}, "mathgenerator.get_gen_list": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "mathgenerator.gen_by_id": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 3}, "mathgenerator.getGenList": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "mathgenerator.genById": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 3}, "mathgenerator.algebra": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.algebra.basic_algebra": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 41}, "mathgenerator.algebra.combine_like_terms": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 51}, "mathgenerator.algebra.complex_quadratic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 65}, "mathgenerator.algebra.compound_interest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 62}, "mathgenerator.algebra.distance_two_points": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 30, "bases": 0, "doc": 52}, "mathgenerator.algebra.expanding": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 50, "bases": 0, "doc": 44}, "mathgenerator.algebra.factoring": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 66}, "mathgenerator.algebra.int_matrix_22_determinant": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 50}, "mathgenerator.algebra.intersection_of_two_lines": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 78, "bases": 0, "doc": 61}, "mathgenerator.algebra.invert_matrix": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 48, "bases": 0, "doc": 78}, "mathgenerator.algebra.linear_equations": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 58}, "mathgenerator.algebra.log": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 40}, "mathgenerator.algebra.matrix_multiplication": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 166}, "mathgenerator.algebra.midpoint_of_two_points": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 56}, "mathgenerator.algebra.multiply_complex_numbers": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 47}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 60}, "mathgenerator.algebra.quadratic_equation": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 51}, "mathgenerator.algebra.simple_interest": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 62}, "mathgenerator.algebra.system_of_equations": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 62}, "mathgenerator.algebra.vector_cross": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 52}, "mathgenerator.algebra.vector_dot": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 48}, "mathgenerator.basic_math": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.basic_math.absolute_difference": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 49}, "mathgenerator.basic_math.addition": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 41}, "mathgenerator.basic_math.compare_fractions": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 48}, "mathgenerator.basic_math.cube_root": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 49}, "mathgenerator.basic_math.divide_fractions": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 39}, "mathgenerator.basic_math.division": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 38}, "mathgenerator.basic_math.exponentiation": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 38}, "mathgenerator.basic_math.factorial": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 38}, "mathgenerator.basic_math.fraction_multiplication": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 39}, "mathgenerator.basic_math.fraction_to_decimal": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 41}, "mathgenerator.basic_math.greatest_common_divisor": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 49}, "mathgenerator.basic_math.is_composite": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 40}, "mathgenerator.basic_math.is_prime": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 40}, "mathgenerator.basic_math.multiplication": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 38}, "mathgenerator.basic_math.percentage": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 45}, "mathgenerator.basic_math.percentage_difference": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 50}, "mathgenerator.basic_math.percentage_error": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 53}, "mathgenerator.basic_math.power_of_powers": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 40}, "mathgenerator.basic_math.square": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 38}, "mathgenerator.basic_math.square_root": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 39}, "mathgenerator.basic_math.subtraction": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 42}, "mathgenerator.calculus": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.calculus.definite_integral": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 58}, "mathgenerator.calculus.power_rule_differentiation": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 48}, "mathgenerator.calculus.power_rule_integration": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 50}, "mathgenerator.calculus.stationary_points": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 53}, "mathgenerator.calculus.trig_differentiation": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 43}, "mathgenerator.computer_science": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.computer_science.bcd_to_decimal": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 47}, "mathgenerator.computer_science.binary_2s_complement": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 45}, "mathgenerator.computer_science.binary_complement_1s": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 40}, "mathgenerator.computer_science.binary_to_decimal": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 39}, "mathgenerator.computer_science.binary_to_hex": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 39}, "mathgenerator.computer_science.decimal_to_bcd": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.computer_science.decimal_to_binary": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 42}, "mathgenerator.computer_science.decimal_to_hexadeci": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 42}, "mathgenerator.computer_science.decimal_to_octal": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 45}, "mathgenerator.computer_science.fibonacci_series": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 55}, "mathgenerator.computer_science.modulo_division": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 41}, "mathgenerator.computer_science.nth_fibonacci_number": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 44}, "mathgenerator.geometry": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.geometry.angle_btw_vectors": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 123}, "mathgenerator.geometry.angle_regular_polygon": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 51}, "mathgenerator.geometry.arc_length": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 60}, "mathgenerator.geometry.area_of_circle": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"qualname": 7, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 65}, "mathgenerator.geometry.area_of_triangle": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 49}, "mathgenerator.geometry.basic_trigonometry": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 82, "bases": 0, "doc": 40}, "mathgenerator.geometry.circumference": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 45}, "mathgenerator.geometry.curved_surface_area_cylinder": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 57}, "mathgenerator.geometry.degree_to_rad": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 45}, "mathgenerator.geometry.equation_of_line_from_two_points": {"qualname": 6, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 65}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 49}, "mathgenerator.geometry.perimeter_of_polygons": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 53}, "mathgenerator.geometry.pythagorean_theorem": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 56}, "mathgenerator.geometry.radian_to_deg": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 5}, "mathgenerator.geometry.sector_area": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 54}, "mathgenerator.geometry.sum_of_polygon_angles": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 53}, "mathgenerator.geometry.surface_area_cone": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 54}, "mathgenerator.geometry.surface_area_cube": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 50}, "mathgenerator.geometry.surface_area_cuboid": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 53}, "mathgenerator.geometry.surface_area_cylinder": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 54}, "mathgenerator.geometry.surface_area_pyramid": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 20, "bases": 0, "doc": 59}, "mathgenerator.geometry.surface_area_sphere": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 52}, "mathgenerator.geometry.third_angle_of_triangle": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 49}, "mathgenerator.geometry.valid_triangle": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 46}, "mathgenerator.geometry.volume_cone": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 52}, "mathgenerator.geometry.volume_cube": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 32}, "mathgenerator.geometry.volume_cuboid": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 31, "bases": 0, "doc": 49}, "mathgenerator.geometry.volume_cylinder": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 42, "bases": 0, "doc": 52}, "mathgenerator.geometry.volume_cone_frustum": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 53, "bases": 0, "doc": 59}, "mathgenerator.geometry.volume_hemisphere": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 48}, "mathgenerator.geometry.volume_pyramid": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 53, "bases": 0, "doc": 61}, "mathgenerator.geometry.volume_sphere": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 49}, "mathgenerator.misc": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.misc.arithmetic_progression_sum": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 54}, "mathgenerator.misc.arithmetic_progression_term": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 51}, "mathgenerator.misc.base_conversion": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 45}, "mathgenerator.misc.binomial_distribution": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 79}, "mathgenerator.misc.celsius_to_fahrenheit": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 48}, "mathgenerator.misc.common_factors": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.misc.complex_to_polar": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 50}, "mathgenerator.misc.decimal_to_roman_numerals": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.misc.euclidian_norm": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 61}, "mathgenerator.misc.factors": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 52}, "mathgenerator.misc.geometric_mean": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 50}, "mathgenerator.misc.geometric_progression": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 61, "bases": 0, "doc": 81}, "mathgenerator.misc.harmonic_mean": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 51}, "mathgenerator.misc.is_leap_year": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 49}, "mathgenerator.misc.lcm": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 46}, "mathgenerator.misc.minutes_to_hours": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 52}, "mathgenerator.misc.prime_factors": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 44}, "mathgenerator.misc.product_of_scientific_notations": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 30, "bases": 0, "doc": 57}, "mathgenerator.misc.profit_loss_percent": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 49}, "mathgenerator.misc.quotient_of_power_same_base": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 52}, "mathgenerator.misc.quotient_of_power_same_power": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 52}, "mathgenerator.misc.set_operation": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 91}, "mathgenerator.misc.signum_function": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 44}, "mathgenerator.misc.surds_comparison": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 45}, "mathgenerator.statistics": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "mathgenerator.statistics.combinations": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 52}, "mathgenerator.statistics.conditional_probability": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 82}, "mathgenerator.statistics.confidence_interval": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 76}, "mathgenerator.statistics.data_summary": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 78}, "mathgenerator.statistics.dice_sum_probability": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 64}, "mathgenerator.statistics.mean_median": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 78}, "mathgenerator.statistics.permutation": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 48}}, "length": 136, "save": true}, "index": {"qualname": {"root": {"1": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 1}}, "2": {"2": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.getGenList": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}, "mathgenerator.gen_by_id": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.genById": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.log": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.lcm": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 2}}, "e": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}}, "df": 5}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 3}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 5, "s": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}}, "df": 11}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 3}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 3}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}}, "df": 3}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.circumference": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}}, "df": 3}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 4}}, "o": {"docs": {"mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 15}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 2}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 8}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 4}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 3}}}}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 2}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 3}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.permutation": {"tf": 1}}, "df": 1}}}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.exponentiation": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.factorial": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 3}}}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 4}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 3}}}}}}}, "y": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 15}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}}, "df": 7}}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}, "m": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 2}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 8}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_hemisphere": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}}}}}}, "fullname": {"root": {"1": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 1}}, "2": {"2": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.basic_math": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 22, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.get_gen_list": {"tf": 1}, "mathgenerator.gen_by_id": {"tf": 1}, "mathgenerator.getGenList": {"tf": 1}, "mathgenerator.genById": {"tf": 1}, "mathgenerator.algebra": {"tf": 1}, "mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.calculus": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}, "mathgenerator.computer_science": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}, "mathgenerator.statistics": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 136}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 4}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 3}}}}}}}, "y": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 25}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.getGenList": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}, "mathgenerator.gen_by_id": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.genById": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 35}, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.get_gen_list": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.log": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.lcm": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.basic_math": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 24}}, "e": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}}, "df": 5}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 3}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.algebra": {"tf": 1}, "mathgenerator.algebra.basic_algebra": {"tf": 1.4142135623730951}, "mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 22}}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 5, "s": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}}, "df": 11}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 3}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.computer_science": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 13}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 3}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}}, "df": 3}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.calculus": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 6}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.circumference": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}}, "df": 3}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 4}}, "o": {"docs": {"mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 15}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 2}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 8}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 4}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 3}}}}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 2}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 3}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.permutation": {"tf": 1}}, "df": 1}}}}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.exponentiation": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.factorial": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 3}}}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 15}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}}, "df": 7}}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}, "m": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 8}}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.computer_science": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 13}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 2}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 8}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_hemisphere": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"0": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 3}, "1": {"0": {"0": {"0": {"0": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 4}, "docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1.4142135623730951}}, "df": 5}, "docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.7320508075688772}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1.7320508075688772}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}, "mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 21}, "docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.expanding": {"tf": 2}, "mathgenerator.algebra.factoring": {"tf": 1.4142135623730951}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 2}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1.7320508075688772}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1.4142135623730951}, "mathgenerator.calculus.power_rule_integration": {"tf": 1.4142135623730951}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 28}, "2": {"0": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 5}, "5": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}, "6": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}, "8": {"0": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "9": {"0": {"0": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 5}, "2": {"0": {"0": {"docs": {"mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 2}, "9": {"9": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_cross": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_dot": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 30}, "5": {"0": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.division": {"tf": 1.4142135623730951}}, "df": 1}, "8": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 3}, "3": {"0": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "5": {"9": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "6": {"0": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 2.449489742783178}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}}, "df": 13}, "docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 6}, "4": {"0": {"0": {"0": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"6": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 3}, "docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 2}, "5": {"0": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 12}, "docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 4}, "6": {"0": {"0": {"0": {"0": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 4}, "7": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}}, "df": 2}, "8": {"9": {"docs": {"mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.log": {"tf": 1}}, "df": 1}, "9": {"0": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 2}, "9": {"9": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.subtraction": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1.4142135623730951}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {"mathgenerator.get_gen_list": {"tf": 2.6457513110645907}, "mathgenerator.gen_by_id": {"tf": 4.69041575982343}, "mathgenerator.getGenList": {"tf": 2.6457513110645907}, "mathgenerator.genById": {"tf": 4.69041575982343}, "mathgenerator.algebra.basic_algebra": {"tf": 3.7416573867739413}, "mathgenerator.algebra.combine_like_terms": {"tf": 5.477225575051661}, "mathgenerator.algebra.complex_quadratic": {"tf": 4.69041575982343}, "mathgenerator.algebra.compound_interest": {"tf": 5.477225575051661}, "mathgenerator.algebra.distance_two_points": {"tf": 4.69041575982343}, "mathgenerator.algebra.expanding": {"tf": 6.164414002968976}, "mathgenerator.algebra.factoring": {"tf": 4.69041575982343}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 3.7416573867739413}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 7.745966692414834}, "mathgenerator.algebra.invert_matrix": {"tf": 5.744562646538029}, "mathgenerator.algebra.linear_equations": {"tf": 5.477225575051661}, "mathgenerator.algebra.log": {"tf": 4.69041575982343}, "mathgenerator.algebra.matrix_multiplication": {"tf": 4.69041575982343}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 3.7416573867739413}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 4.69041575982343}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 4.69041575982343}, "mathgenerator.algebra.quadratic_equation": {"tf": 3.7416573867739413}, "mathgenerator.algebra.simple_interest": {"tf": 5.477225575051661}, "mathgenerator.algebra.system_of_equations": {"tf": 5.477225575051661}, "mathgenerator.algebra.vector_cross": {"tf": 4.69041575982343}, "mathgenerator.algebra.vector_dot": {"tf": 4.69041575982343}, "mathgenerator.basic_math.absolute_difference": {"tf": 4.69041575982343}, "mathgenerator.basic_math.addition": {"tf": 4.69041575982343}, "mathgenerator.basic_math.compare_fractions": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.cube_root": {"tf": 4.69041575982343}, "mathgenerator.basic_math.divide_fractions": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.division": {"tf": 4.69041575982343}, "mathgenerator.basic_math.exponentiation": {"tf": 4.69041575982343}, "mathgenerator.basic_math.factorial": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 4.69041575982343}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 4.69041575982343}, "mathgenerator.basic_math.is_composite": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.is_prime": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.multiplication": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.percentage": {"tf": 4.69041575982343}, "mathgenerator.basic_math.percentage_difference": {"tf": 4.69041575982343}, "mathgenerator.basic_math.percentage_error": {"tf": 4.69041575982343}, "mathgenerator.basic_math.power_of_powers": {"tf": 4.69041575982343}, "mathgenerator.basic_math.square": {"tf": 3.7416573867739413}, "mathgenerator.basic_math.square_root": {"tf": 4.69041575982343}, "mathgenerator.basic_math.subtraction": {"tf": 4.69041575982343}, "mathgenerator.calculus.definite_integral": {"tf": 3.7416573867739413}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 5.477225575051661}, "mathgenerator.calculus.power_rule_integration": {"tf": 5.477225575051661}, "mathgenerator.calculus.stationary_points": {"tf": 4.69041575982343}, "mathgenerator.calculus.trig_differentiation": {"tf": 2.6457513110645907}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.binary_to_hex": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.fibonacci_series": {"tf": 3.7416573867739413}, "mathgenerator.computer_science.modulo_division": {"tf": 4.69041575982343}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 3.7416573867739413}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 3.7416573867739413}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 4.69041575982343}, "mathgenerator.geometry.arc_length": {"tf": 4.69041575982343}, "mathgenerator.geometry.area_of_circle": {"tf": 3.7416573867739413}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 4.69041575982343}, "mathgenerator.geometry.area_of_triangle": {"tf": 4.69041575982343}, "mathgenerator.geometry.basic_trigonometry": {"tf": 8.12403840463596}, "mathgenerator.geometry.circumference": {"tf": 3.7416573867739413}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 4.69041575982343}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 4.69041575982343}, "mathgenerator.geometry.degree_to_rad": {"tf": 3.7416573867739413}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 4.69041575982343}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 3.7416573867739413}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 4.69041575982343}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 3.7416573867739413}, "mathgenerator.geometry.radian_to_deg": {"tf": 3.7416573867739413}, "mathgenerator.geometry.sector_area": {"tf": 4.69041575982343}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 3.7416573867739413}, "mathgenerator.geometry.surface_area_cone": {"tf": 5.656854249492381}, "mathgenerator.geometry.surface_area_cube": {"tf": 4.898979485566356}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 4.898979485566356}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 5.656854249492381}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 4}, "mathgenerator.geometry.surface_area_sphere": {"tf": 4.898979485566356}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 3.7416573867739413}, "mathgenerator.geometry.valid_triangle": {"tf": 3.7416573867739413}, "mathgenerator.geometry.volume_cone": {"tf": 5.656854249492381}, "mathgenerator.geometry.volume_cube": {"tf": 4.898979485566356}, "mathgenerator.geometry.volume_cuboid": {"tf": 4.898979485566356}, "mathgenerator.geometry.volume_cylinder": {"tf": 5.656854249492381}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 6.324555320336759}, "mathgenerator.geometry.volume_hemisphere": {"tf": 3.7416573867739413}, "mathgenerator.geometry.volume_pyramid": {"tf": 6.324555320336759}, "mathgenerator.geometry.volume_sphere": {"tf": 3.7416573867739413}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 5.477225575051661}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 5.477225575051661}, "mathgenerator.misc.base_conversion": {"tf": 4.69041575982343}, "mathgenerator.misc.binomial_distribution": {"tf": 2.6457513110645907}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 3.7416573867739413}, "mathgenerator.misc.common_factors": {"tf": 3.7416573867739413}, "mathgenerator.misc.complex_to_polar": {"tf": 4.69041575982343}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 3.7416573867739413}, "mathgenerator.misc.euclidian_norm": {"tf": 3.7416573867739413}, "mathgenerator.misc.factors": {"tf": 3.7416573867739413}, "mathgenerator.misc.geometric_mean": {"tf": 4.69041575982343}, "mathgenerator.misc.geometric_progression": {"tf": 6.782329983125268}, "mathgenerator.misc.harmonic_mean": {"tf": 4.69041575982343}, "mathgenerator.misc.is_leap_year": {"tf": 4.69041575982343}, "mathgenerator.misc.lcm": {"tf": 3.7416573867739413}, "mathgenerator.misc.minutes_to_hours": {"tf": 3.7416573867739413}, "mathgenerator.misc.prime_factors": {"tf": 4.69041575982343}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 4.69041575982343}, "mathgenerator.misc.profit_loss_percent": {"tf": 4.69041575982343}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 4.69041575982343}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 4.69041575982343}, "mathgenerator.misc.set_operation": {"tf": 4.69041575982343}, "mathgenerator.misc.signum_function": {"tf": 4.69041575982343}, "mathgenerator.misc.surds_comparison": {"tf": 4.69041575982343}, "mathgenerator.statistics.combinations": {"tf": 3.7416573867739413}, "mathgenerator.statistics.conditional_probability": {"tf": 2.6457513110645907}, "mathgenerator.statistics.confidence_interval": {"tf": 2.6457513110645907}, "mathgenerator.statistics.data_summary": {"tf": 5.477225575051661}, "mathgenerator.statistics.dice_sum_probability": {"tf": 3.7416573867739413}, "mathgenerator.statistics.mean_median": {"tf": 3.7416573867739413}, "mathgenerator.statistics.permutation": {"tf": 3.7416573867739413}}, "df": 128, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}, "mathgenerator.genById": {"tf": 1}}, "df": 2}, "n": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.factorial": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1.4142135623730951}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}, "a": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 6, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}, "mathgenerator.genById": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 4, "s": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.gen_by_id": {"tf": 1}, "mathgenerator.genById": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 13, "a": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1.7320508075688772}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1.7320508075688772}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.7320508075688772}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1.7320508075688772}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.addition": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.exponentiation": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1.7320508075688772}, "mathgenerator.calculus.power_rule_integration": {"tf": 1.7320508075688772}, "mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1.4142135623730951}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.7320508075688772}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1.7320508075688772}, "mathgenerator.misc.base_conversion": {"tf": 1.4142135623730951}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1.4142135623730951}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 110, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 3, "e": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.7320508075688772}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 19, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1, "i": {"docs": {"mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_dot": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}, "mathgenerator.statistics.data_summary": {"tf": 1.4142135623730951}}, "df": 18, "u": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 8, "s": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 2}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 5, "f": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "s": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}, "p": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}}, "df": 5, "o": {"docs": {"mathgenerator.basic_math.exponentiation": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 3}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.percentage": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 3}}}}}, "r": {"1": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}, "2": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 2}, "mathgenerator.algebra.factoring": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1.7320508075688772}}, "df": 5}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}, "d": {"docs": {"mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 12}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1.4142135623730951}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}}, "df": 2}}, "s": {"docs": {"mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 3}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}}, "x": {"1": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}}, "df": 2}, "2": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1, "y": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}}, "df": 1}}, "b": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}}, "df": 5, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 6}}}}, "d": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "c": {"docs": {"mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 1}}, "g": {"docs": {"mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 2}, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}}, "df": 2}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 2}, "p": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 6, "s": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 2}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}}, "df": 1}}}, "p": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 5, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}}, "df": 7, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 5, "s": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.square_root": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}}, "df": 3}}, "y": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 7}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 5, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 2}}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 12}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 1}}}}}}}, "bases": {"root": {"docs": {}, "df": 0}}, "doc": {"root": {"0": {"0": {"0": {"0": {"1": {"1": {"0": {"docs": {"mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"1": {"0": {"docs": {"mathgenerator.computer_science.binary_to_decimal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"0": {"1": {"0": {"1": {"docs": {"mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 3}, "7": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator": {"tf": 1.7320508075688772}, "mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1.7320508075688772}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.quadratic_equation": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 16, "x": {"1": {"5": {"docs": {"mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 1}, "9": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "o": {"7": {"1": {"6": {"2": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "\\": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "1": {"0": {"0": {"docs": {"mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}}, "df": 2}, "1": {"1": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1}}, "df": 1}, "2": {"8": {"1": {"6": {"0": {"docs": {"mathgenerator.statistics.permutation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2}, "5": {"8": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}, "6": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "$": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}, "8": {"0": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 13, "x": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"9": {"docs": {"mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "m": {"docs": {"mathgenerator.geometry.volume_cylinder": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}}, "df": 1}}, "^": {"docs": {}, "df": 0, "{": {"6": {"7": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "8": {"docs": {"mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "1": {"1": {"1": {"0": {"0": {"1": {"docs": {"mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"6": {"4": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "3": {"0": {"9": {"7": {"docs": {"mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 4, "m": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 3}}, "2": {"2": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "6": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}}, "df": 1}, "7": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "7": {"docs": {"mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "8": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 5}, "3": {"3": {"docs": {"mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 2}, "4": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "5": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}}, "df": 1}, "6": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 7, "m": {"docs": {"mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 1}}, "4": {"1": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 2}, "5": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.7320508075688772}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}}, "df": 3, "+": {"1": {"5": {"docs": {}, "df": 0, "j": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}}, "df": 1}}, "8": {"docs": {}, "df": 0, "j": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "5": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 5, "m": {"docs": {"mathgenerator.geometry.surface_area_cylinder": {"tf": 1}}, "df": 1}}, "6": {"2": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 2}, "9": {"docs": {"mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 4, "x": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"3": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "7": {"1": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}}, "df": 1}, "2": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}}, "df": 1}, "6": {"4": {"docs": {"mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.misc.factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 2}, "8": {"0": {"1": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 2, "y": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}, "^": {"2": {"docs": {"mathgenerator.basic_math.square": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "m": {"docs": {"mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 1}}, "8": {"4": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}, "6": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 6, "^": {"docs": {}, "df": 0, "{": {"1": {"0": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"8": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "8": {"0": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "9": {"1": {"0": {"1": {"5": {"docs": {"mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}}, "df": 1}, "2": {"2": {"6": {"9": {"0": {"0": {"0": {"3": {"1": {"3": {"4": {"4": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "6": {"0": {"3": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "7": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 7, "m": {"docs": {"mathgenerator.geometry.volume_cube": {"tf": 1}}, "df": 1}, "^": {"docs": {}, "df": 0, "{": {"8": {"docs": {"mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "/": {"1": {"0": {"docs": {"mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {"mathgenerator": {"tf": 1.7320508075688772}, "mathgenerator.algebra.complex_quadratic": {"tf": 1.7320508075688772}, "mathgenerator.algebra.invert_matrix": {"tf": 2.23606797749979}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 20, "x": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"5": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "s": {"docs": {"mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 1}}, "2": {"0": {"0": {"0": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "3": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 2, "y": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}, "m": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 2}}, "1": {"0": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "2": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "5": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"5": {"docs": {"mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.surface_area_cube": {"tf": 1}}, "df": 1, "\\": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"2": {"4": {"docs": {"mathgenerator.basic_math.division": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "9": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 4}, "2": {"1": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "3": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 6, "x": {"docs": {}, "df": 0, "^": {"2": {"docs": {}, "df": 0, "+": {"1": {"3": {"7": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "+": {"2": {"5": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}, "+": {"3": {"4": {"docs": {"mathgenerator.basic_math.addition": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "3": {"0": {"0": {"2": {"1": {"1": {"0": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "5": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}}, "df": 1}, "4": {"0": {"0": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 1}, "2": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"1": {"docs": {"mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 2}, "5": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 3}, "5": {"2": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "4": {"3": {"4": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "9": {"6": {"9": {"5": {"4": {"9": {"6": {"9": {"1": {"1": {"1": {"2": {"3": {"3": {"2": {"8": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 2, "m": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}}, "df": 1}}, "6": {"0": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 2}, "4": {"2": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "7": {"9": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "9": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 2, "m": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}}, "df": 2}}, "7": {"1": {"3": {"2": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 2}, "8": {"0": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "1": {"6": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.basic_math.square": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 3, "x": {"docs": {}, "df": 0, "^": {"2": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "{": {"6": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "9": {"0": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}, "5": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "7": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 21, "x": {"2": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"6": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "}": {"docs": {}, "df": 0, "{": {"6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}}, "y": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}}, "3": {"0": {"1": {"8": {"6": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}}, "df": 5, "m": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 2}}, "1": {"0": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "9": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 2}, "2": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 2, "x": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}, "m": {"docs": {"mathgenerator.geometry.volume_hemisphere": {"tf": 1}}, "df": 1}}, "3": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 7}, "4": {"1": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"9": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 2}, "5": {"1": {"docs": {"mathgenerator.geometry.circumference": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "9": {"8": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 1}, "7": {"2": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "7": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 2}, "8": {"4": {"4": {"7": {"7": {"5": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"4": {"docs": {"mathgenerator.geometry.surface_area_cylinder": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 3}, "9": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 14, "x": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"1": {"7": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "2": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "m": {"docs": {"mathgenerator.geometry.volume_cylinder": {"tf": 1}}, "df": 1}}, "4": {"0": {"2": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "8": {"8": {"7": {"8": {"2": {"9": {"2": {"8": {"1": {"5": {"6": {"4": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1, "m": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}}, "df": 1}}, "1": {"0": {"docs": {"mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}}, "df": 1}, "2": {"3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "6": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 5, "^": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"2": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}}}}}}}, "3": {"6": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1.4142135623730951}}, "df": 4}, "4": {"0": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 9, "m": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1}}, "df": 1}}, "5": {"0": {"5": {"6": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"0": {"4": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 4, "^": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"5": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}}}}}}}, "6": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1.4142135623730951}}, "df": 2}, "7": {"8": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 2}, "8": {"3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "8": {"0": {"7": {"5": {"6": {"0": {"8": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 3}, "docs": {"mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.7320508075688772}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 16, "x": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"3": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "7": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "5": {"0": {"6": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}}, "df": 2}, "1": {"3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"docs": {"mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 1}, "3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 5}, "5": {"7": {"5": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}}, "df": 2}, "6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 7}, "7": {"3": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 2}, "8": {"8": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "9": {"5": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "9": {"3": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 3}, "docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1.4142135623730951}, "mathgenerator.algebra.invert_matrix": {"tf": 1.7320508075688772}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 16, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"1": {"9": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "4": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}, "^": {"docs": {}, "df": 0, "{": {"6": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1.4142135623730951}}, "df": 1}, "8": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "6": {"0": {"2": {"docs": {"mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}, "1": {"2": {"1": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}, "4": {"8": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 3}, "5": {"7": {"5": {"docs": {"mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 1}, "6": {"6": {"4": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}, "7": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "8": {"5": {"9": {"docs": {"mathgenerator.geometry.volume_cube": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"2": {"9": {"docs": {"mathgenerator.geometry.volume_hemisphere": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 2}, "9": {"9": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 2}, "docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}}, "df": 10, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"9": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "m": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}}, "df": 2}}, "7": {"0": {"0": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "4": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"2": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"1": {"7": {"docs": {"mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}}, "df": 2}, "3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 2}, "4": {"docs": {}, "df": 0, "+": {"4": {"6": {"2": {"docs": {}, "df": 0, "j": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "5": {"1": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}, "3": {"4": {"8": {"0": {"9": {"6": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 2}, "6": {"0": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "1": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "4": {"8": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "7": {"1": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 2}, "9": {"6": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "9": {"5": {"0": {"0": {"5": {"3": {"8": {"7": {"4": {"4": {"2": {"4": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 4, "}": {"docs": {}, "df": 0, "{": {"5": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}}, "df": 1}}}, "8": {"0": {"4": {"docs": {"mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2}, "9": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"5": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}, "2": {"4": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}}, "df": 1}, "8": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "3": {"6": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}}, "df": 2, "\\": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"8": {"0": {"docs": {"mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "4": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 2}, "5": {"8": {"6": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1}}}, "6": {"1": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}}, "df": 3}, "7": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 2}, "8": {"8": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}}, "df": 3}, "9": {"3": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1.7320508075688772}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 20, "x": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}}, "df": 1}, "]": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 3}}, "9": {"0": {"docs": {"mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 1}, "1": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 3}, "2": {"2": {"5": {"0": {"7": {"1": {"5": {"4": {"0": {"4": {"4": {"2": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"7": {"2": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}, "3": {"4": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "6": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 2}, "4": {"2": {"docs": {"mathgenerator.geometry.volume_cylinder": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"4": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "7": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}}, "df": 3}, "8": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}, "9": {"7": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1.7320508075688772}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 3}, "docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 8, "x": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"6": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "^": {"docs": {}, "df": 0, "{": {"5": {"docs": {"mathgenerator.basic_math.exponentiation": {"tf": 1}}, "df": 1}, "8": {"docs": {"mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {"mathgenerator": {"tf": 14.106735979665885}, "mathgenerator.get_gen_list": {"tf": 1.7320508075688772}, "mathgenerator.gen_by_id": {"tf": 1.7320508075688772}, "mathgenerator.getGenList": {"tf": 1.7320508075688772}, "mathgenerator.genById": {"tf": 1.7320508075688772}, "mathgenerator.algebra": {"tf": 1.7320508075688772}, "mathgenerator.algebra.basic_algebra": {"tf": 5.5677643628300215}, "mathgenerator.algebra.combine_like_terms": {"tf": 6}, "mathgenerator.algebra.complex_quadratic": {"tf": 5.916079783099616}, "mathgenerator.algebra.compound_interest": {"tf": 5.656854249492381}, "mathgenerator.algebra.distance_two_points": {"tf": 5.830951894845301}, "mathgenerator.algebra.expanding": {"tf": 5.656854249492381}, "mathgenerator.algebra.factoring": {"tf": 5.916079783099616}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 5.656854249492381}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 5.744562646538029}, "mathgenerator.algebra.invert_matrix": {"tf": 5.830951894845301}, "mathgenerator.algebra.linear_equations": {"tf": 5.744562646538029}, "mathgenerator.algebra.log": {"tf": 5.5677643628300215}, "mathgenerator.algebra.matrix_multiplication": {"tf": 6.855654600401044}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 6}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 5.916079783099616}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 5.830951894845301}, "mathgenerator.algebra.quadratic_equation": {"tf": 5.5677643628300215}, "mathgenerator.algebra.simple_interest": {"tf": 5.656854249492381}, "mathgenerator.algebra.system_of_equations": {"tf": 5.830951894845301}, "mathgenerator.algebra.vector_cross": {"tf": 5.744562646538029}, "mathgenerator.algebra.vector_dot": {"tf": 5.656854249492381}, "mathgenerator.basic_math": {"tf": 1.7320508075688772}, "mathgenerator.basic_math.absolute_difference": {"tf": 6.082762530298219}, "mathgenerator.basic_math.addition": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.compare_fractions": {"tf": 5.656854249492381}, "mathgenerator.basic_math.cube_root": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.divide_fractions": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.division": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.exponentiation": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.factorial": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 5.744562646538029}, "mathgenerator.basic_math.is_composite": {"tf": 5.477225575051661}, "mathgenerator.basic_math.is_prime": {"tf": 5.477225575051661}, "mathgenerator.basic_math.multiplication": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.percentage": {"tf": 5.477225575051661}, "mathgenerator.basic_math.percentage_difference": {"tf": 5.477225575051661}, "mathgenerator.basic_math.percentage_error": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.power_of_powers": {"tf": 5.477225575051661}, "mathgenerator.basic_math.square": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.square_root": {"tf": 5.5677643628300215}, "mathgenerator.basic_math.subtraction": {"tf": 5.5677643628300215}, "mathgenerator.calculus": {"tf": 1.7320508075688772}, "mathgenerator.calculus.definite_integral": {"tf": 5.744562646538029}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 5.830951894845301}, "mathgenerator.calculus.power_rule_integration": {"tf": 5.916079783099616}, "mathgenerator.calculus.stationary_points": {"tf": 5.916079783099616}, "mathgenerator.calculus.trig_differentiation": {"tf": 5.656854249492381}, "mathgenerator.computer_science": {"tf": 1.7320508075688772}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 5.477225575051661}, "mathgenerator.computer_science.binary_to_hex": {"tf": 5.477225575051661}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 5.477225575051661}, "mathgenerator.computer_science.fibonacci_series": {"tf": 5.5677643628300215}, "mathgenerator.computer_science.modulo_division": {"tf": 5.656854249492381}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 5.477225575051661}, "mathgenerator.geometry": {"tf": 1.7320508075688772}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 5.477225575051661}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 5.477225575051661}, "mathgenerator.geometry.arc_length": {"tf": 5.656854249492381}, "mathgenerator.geometry.area_of_circle": {"tf": 5.5677643628300215}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 5.830951894845301}, "mathgenerator.geometry.area_of_triangle": {"tf": 5.5677643628300215}, "mathgenerator.geometry.basic_trigonometry": {"tf": 5.5677643628300215}, "mathgenerator.geometry.circumference": {"tf": 5.5677643628300215}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 5.5677643628300215}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 5.477225575051661}, "mathgenerator.geometry.degree_to_rad": {"tf": 5.477225575051661}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 5.830951894845301}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 5.5677643628300215}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 5.477225575051661}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 5.477225575051661}, "mathgenerator.geometry.radian_to_deg": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 5.477225575051661}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 5.477225575051661}, "mathgenerator.geometry.surface_area_cone": {"tf": 5.656854249492381}, "mathgenerator.geometry.surface_area_cube": {"tf": 5.5677643628300215}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 5.477225575051661}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 5.656854249492381}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 5.744562646538029}, "mathgenerator.geometry.surface_area_sphere": {"tf": 5.5677643628300215}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 5.5677643628300215}, "mathgenerator.geometry.valid_triangle": {"tf": 5.477225575051661}, "mathgenerator.geometry.volume_cone": {"tf": 5.656854249492381}, "mathgenerator.geometry.volume_cube": {"tf": 3.3166247903554}, "mathgenerator.geometry.volume_cuboid": {"tf": 5.477225575051661}, "mathgenerator.geometry.volume_cylinder": {"tf": 5.656854249492381}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 5.5677643628300215}, "mathgenerator.geometry.volume_hemisphere": {"tf": 5.5677643628300215}, "mathgenerator.geometry.volume_pyramid": {"tf": 5.744562646538029}, "mathgenerator.geometry.volume_sphere": {"tf": 5.5677643628300215}, "mathgenerator.misc": {"tf": 1.7320508075688772}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 5.5677643628300215}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 5.656854249492381}, "mathgenerator.misc.base_conversion": {"tf": 5.477225575051661}, "mathgenerator.misc.binomial_distribution": {"tf": 5.477225575051661}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 5.656854249492381}, "mathgenerator.misc.common_factors": {"tf": 5.5677643628300215}, "mathgenerator.misc.complex_to_polar": {"tf": 5.744562646538029}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 5.477225575051661}, "mathgenerator.misc.euclidian_norm": {"tf": 5.477225575051661}, "mathgenerator.misc.factors": {"tf": 5.5677643628300215}, "mathgenerator.misc.geometric_mean": {"tf": 5.5677643628300215}, "mathgenerator.misc.geometric_progression": {"tf": 5.477225575051661}, "mathgenerator.misc.harmonic_mean": {"tf": 5.5677643628300215}, "mathgenerator.misc.is_leap_year": {"tf": 5.477225575051661}, "mathgenerator.misc.lcm": {"tf": 5.656854249492381}, "mathgenerator.misc.minutes_to_hours": {"tf": 5.477225575051661}, "mathgenerator.misc.prime_factors": {"tf": 5.477225575051661}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 5.5677643628300215}, "mathgenerator.misc.profit_loss_percent": {"tf": 5.477225575051661}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 5.477225575051661}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 5.477225575051661}, "mathgenerator.misc.set_operation": {"tf": 5.5677643628300215}, "mathgenerator.misc.signum_function": {"tf": 5.744562646538029}, "mathgenerator.misc.surds_comparison": {"tf": 5.656854249492381}, "mathgenerator.statistics": {"tf": 1.7320508075688772}, "mathgenerator.statistics.combinations": {"tf": 5.5677643628300215}, "mathgenerator.statistics.conditional_probability": {"tf": 5.477225575051661}, "mathgenerator.statistics.confidence_interval": {"tf": 5.656854249492381}, "mathgenerator.statistics.data_summary": {"tf": 5.477225575051661}, "mathgenerator.statistics.dice_sum_probability": {"tf": 5.656854249492381}, "mathgenerator.statistics.mean_median": {"tf": 5.477225575051661}, "mathgenerator.statistics.permutation": {"tf": 5.477225575051661}}, "df": 136, "m": {"docs": {"mathgenerator.geometry.volume_pyramid": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 3}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 3}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1, "r": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}, "mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}, "mathgenerator.statistics.mean_median": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.mean_median": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "g": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}}, "df": 3}}}}}}}, "e": {"docs": {"mathgenerator.misc.lcm": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.midpoint_of_two_points": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 2.23606797749979}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}, "^": {"2": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}}, "df": 6}, "3": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}}, "a": {"docs": {"mathgenerator": {"tf": 3}, "mathgenerator.algebra.compound_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.is_leap_year": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 2.23606797749979}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 37, "n": {"docs": {"mathgenerator": {"tf": 2.449489742783178}}, "df": 1, "d": {"docs": {"mathgenerator": {"tf": 2.23606797749979}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1.4142135623730951}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1.4142135623730951}, "mathgenerator.statistics.mean_median": {"tf": 1.7320508075688772}}, "df": 39}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.geometry.arc_length": {"tf": 2}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1.4142135623730951}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}}, "df": 3}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 2.23606797749979}, "mathgenerator.basic_math.addition": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 4, "a": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}}, "df": 11}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "c": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1.7320508075688772}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1.4142135623730951}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 4}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "l": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1.4142135623730951}, "mathgenerator.algebra.invert_matrix": {"tf": 3.4641016151377544}, "mathgenerator.algebra.matrix_multiplication": {"tf": 6.48074069840786}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 2}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}}, "df": 5}}, "p": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator": {"tf": 3.605551275463989}, "mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 124, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}}, "df": 3}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 3}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_prime": {"tf": 1.4142135623730951}, "mathgenerator.misc.prime_factors": {"tf": 1.4142135623730951}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 2}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.permutation": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}}, "df": 4}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 4, "s": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 2.8284271247461903}}, "df": 1, "s": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1, "d": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}, "s": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "b": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 2}}, "df": 1}}}}}, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 11}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "o": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "t": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 3}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}, "c": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 3}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1.4142135623730951}}, "df": 3}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 3}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.computer_science.binary_2s_complement": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.lcm": {"tf": 1}}, "df": 4}}}}, "t": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 2}}, "df": 1}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1.4142135623730951}}, "df": 3}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.surface_area_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cuboid": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1.4142135623730951}}, "df": 1}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_circle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.7320508075688772}, "mathgenerator.geometry.circumference": {"tf": 1.4142135623730951}}, "df": 3}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.circumference": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}, "p": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 1}}, "f": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 2.23606797749979}, "mathgenerator.algebra.compound_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1.4142135623730951}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 9, "m": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 2.449489742783178}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 5}}, "a": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1.4142135623730951}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}}, "df": 2, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"2": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 2}, "3": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"7": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "docs": {}, "df": 0}}}, "3": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"1": {"0": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "{": {"6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"7": {"docs": {"mathgenerator.basic_math.fraction_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}}}}}}}}}}}, "docs": {}, "df": 0}, "4": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}, "6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}}}, "4": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"3": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"4": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "docs": {}, "df": 0}}}, "6": {"6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"5": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"3": {"6": {"docs": {"mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "{": {"4": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"1": {"docs": {"mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}}}}}}}}}}, "docs": {}, "df": 0}}}, "9": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"3": {"5": {"docs": {"mathgenerator.basic_math.fraction_multiplication": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"7": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"6": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}}, "docs": {}, "df": 0}}}}}}, "d": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 14, "s": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.factorial": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"mathgenerator.misc.common_factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.prime_factors": {"tf": 1.4142135623730951}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "t": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1, "h": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 4}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1.7320508075688772}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1.7320508075688772}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}, "mathgenerator.misc.surds_comparison": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.mean_median": {"tf": 2}}, "df": 43, "i": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}}, "df": 3}, "n": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 3}, "r": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.third_angle_of_triangle": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.arithmetic_progression_term": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 2}}, "df": 2, "s": {"docs": {"mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {"mathgenerator": {"tf": 4}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1.4142135623730951}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 21}, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.calculus.trig_differentiation": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 2}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 4}}, "e": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 5, "s": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.7320508075688772}}, "df": 2}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}}, "df": 10}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator": {"tf": 2.449489742783178}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1.7320508075688772}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.7320508075688772}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1.7320508075688772}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.geometry.arc_length": {"tf": 1.7320508075688772}, "mathgenerator.geometry.area_of_circle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.circumference": {"tf": 1.4142135623730951}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.7320508075688772}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1.4142135623730951}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1.7320508075688772}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 2}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1.7320508075688772}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.7320508075688772}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_sphere": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1.7320508075688772}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}, "mathgenerator.misc.factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 2}, "mathgenerator.statistics.mean_median": {"tf": 2}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 75}, "u": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 1}}}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.combinations": {"tf": 1.4142135623730951}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 2}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.decimal_to_octal": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {"mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 3}}, "s": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1.4142135623730951}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.subtraction": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}}, "df": 7}}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}, "m": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}}, "df": 4}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}}, "df": 1}}}}, "t": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.computer_science.fibonacci_series": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 2}}, "df": 4}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}}}, "o": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 2.449489742783178}, "mathgenerator.algebra.basic_algebra": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1}, "mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.distance_two_points": {"tf": 1}, "mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.log": {"tf": 1}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.divide_fractions": {"tf": 1}, "mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.basic_math.exponentiation": {"tf": 1}, "mathgenerator.basic_math.factorial": {"tf": 1}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}, "mathgenerator.basic_math.multiplication": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.basic_math.power_of_powers": {"tf": 1}, "mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.calculus.definite_integral": {"tf": 1}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.base_conversion": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1}, "mathgenerator.misc.common_factors": {"tf": 1}, "mathgenerator.misc.complex_to_polar": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}, "mathgenerator.misc.is_leap_year": {"tf": 1}, "mathgenerator.misc.lcm": {"tf": 1}, "mathgenerator.misc.minutes_to_hours": {"tf": 1}, "mathgenerator.misc.prime_factors": {"tf": 1}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 1}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}, "mathgenerator.statistics.mean_median": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 124}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1.4142135623730951}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_sphere": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "q": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "{": {"1": {"2": {"5": {"6": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "3": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"2": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}}, "docs": {}, "df": 0}, "6": {"4": {"docs": {"mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "[": {"3": {"docs": {}, "df": 0, "]": {"docs": {}, "df": 0, "{": {"1": {"2": {"5": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.square": {"tf": 1}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.simple_interest": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.basic_math.power_of_powers": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}}, "df": 3, "s": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}}, "df": 6}, "d": {"docs": {"mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.signum_function": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 3}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "n": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "x": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1.4142135623730951}, "mathgenerator.algebra.combine_like_terms": {"tf": 1.4142135623730951}, "mathgenerator.algebra.complex_quadratic": {"tf": 1.4142135623730951}, "mathgenerator.algebra.compound_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.expanding": {"tf": 1.4142135623730951}, "mathgenerator.algebra.factoring": {"tf": 1.4142135623730951}, "mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1.4142135623730951}, "mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.log": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.algebra.midpoint_of_two_points": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_complex_numbers": {"tf": 1.4142135623730951}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.quadratic_equation": {"tf": 1.4142135623730951}, "mathgenerator.algebra.simple_interest": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_cross": {"tf": 1.4142135623730951}, "mathgenerator.algebra.vector_dot": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.absolute_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.addition": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.compare_fractions": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.cube_root": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.divide_fractions": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.division": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.exponentiation": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.factorial": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.fraction_multiplication": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.is_composite": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.is_prime": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.multiplication": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_difference": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.power_of_powers": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.square": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.square_root": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.subtraction": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}, "mathgenerator.calculus.power_rule_differentiation": {"tf": 1.4142135623730951}, "mathgenerator.calculus.power_rule_integration": {"tf": 1.4142135623730951}, "mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}, "mathgenerator.calculus.trig_differentiation": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.modulo_division": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1.4142135623730951}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}, "mathgenerator.geometry.arc_length": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1.4142135623730951}, "mathgenerator.geometry.area_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.basic_trigonometry": {"tf": 1.4142135623730951}, "mathgenerator.geometry.circumference": {"tf": 1.4142135623730951}, "mathgenerator.geometry.complementary_and_supplementary_angle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.degree_to_rad": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1.4142135623730951}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1.4142135623730951}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sector_area": {"tf": 1.4142135623730951}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.valid_triangle": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_sphere": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_sum": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1.4142135623730951}, "mathgenerator.misc.base_conversion": {"tf": 1.4142135623730951}, "mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1.4142135623730951}, "mathgenerator.misc.common_factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.complex_to_polar": {"tf": 1.4142135623730951}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1.4142135623730951}, "mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}, "mathgenerator.misc.factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}, "mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.is_leap_year": {"tf": 1.4142135623730951}, "mathgenerator.misc.lcm": {"tf": 1.4142135623730951}, "mathgenerator.misc.minutes_to_hours": {"tf": 1.4142135623730951}, "mathgenerator.misc.prime_factors": {"tf": 1.4142135623730951}, "mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}, "mathgenerator.misc.profit_loss_percent": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 1.4142135623730951}, "mathgenerator.misc.signum_function": {"tf": 1.4142135623730951}, "mathgenerator.misc.surds_comparison": {"tf": 1.4142135623730951}, "mathgenerator.statistics.combinations": {"tf": 1.4142135623730951}, "mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.confidence_interval": {"tf": 1.4142135623730951}, "mathgenerator.statistics.data_summary": {"tf": 1.4142135623730951}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.mean_median": {"tf": 1.4142135623730951}, "mathgenerator.statistics.permutation": {"tf": 1.4142135623730951}}, "df": 123, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.exponentiation": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1.7320508075688772}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1.4142135623730951}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.quadratic_equation": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "r": {"1": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}, "2": {"docs": {"mathgenerator.geometry.volume_cone_frustum": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "w": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1.4142135623730951}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}}, "df": 12}}}}, "c": {"docs": {}, "df": 0, "{": {"4": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"3": {"6": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.angle_regular_polygon": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.square_root": {"tf": 1}}, "df": 2, "s": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1.4142135623730951}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 1}}}}}, "^": {"2": {"docs": {"mathgenerator.algebra.system_of_equations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1}, "mathgenerator.misc.harmonic_mean": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 2, "t": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.misc.is_leap_year": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.product_of_scientific_notations": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 2}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1.4142135623730951}, "mathgenerator.misc.arithmetic_progression_term": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.factors": {"tf": 1}, "mathgenerator.statistics.combinations": {"tf": 1}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 9, "s": {"docs": {"mathgenerator.algebra.multiply_complex_numbers": {"tf": 1}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.addition": {"tf": 1}, "mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.basic_math.subtraction": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.misc.geometric_mean": {"tf": 1.4142135623730951}, "mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}, "mathgenerator.statistics.mean_median": {"tf": 1}}, "df": 10}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"3": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.minutes_to_hours": {"tf": 1.7320508075688772}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.binary_to_hex": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 8}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_hemisphere": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 3}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.misc.harmonic_mean": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "s": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "f": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.pythagorean_theorem": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {"mathgenerator.misc.complex_to_polar": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}}}}, "n": {"docs": {"mathgenerator": {"tf": 2.23606797749979}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.algebra.system_of_equations": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 8, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator": {"tf": 2}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1.7320508075688772}, "mathgenerator.algebra.simple_interest": {"tf": 1.7320508075688772}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.statistics.confidence_interval": {"tf": 1.4142135623730951}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1.4142135623730951}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"mathgenerator.calculus.power_rule_integration": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.invert_matrix": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"mathgenerator": {"tf": 2}, "mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.is_composite": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.is_prime": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1}, "mathgenerator.computer_science.fibonacci_series": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.degree_to_rad": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}, "mathgenerator.misc.euclidian_norm": {"tf": 1}, "mathgenerator.misc.geometric_progression": {"tf": 2}, "mathgenerator.misc.is_leap_year": {"tf": 1.7320508075688772}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}, "mathgenerator.misc.set_operation": {"tf": 2.23606797749979}, "mathgenerator.misc.signum_function": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}, "mathgenerator.statistics.confidence_interval": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}, "mathgenerator.statistics.mean_median": {"tf": 1.4142135623730951}, "mathgenerator.statistics.permutation": {"tf": 1}}, "df": 46}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 2}}, "df": 1}}}}}, "f": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}, "mathgenerator.statistics.dice_sum_probability": {"tf": 1}}, "df": 2}, "d": {"docs": {"mathgenerator": {"tf": 2.23606797749979}}, "df": 1}, "t": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1.4142135623730951}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.set_operation": {"tf": 1.7320508075688772}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"mathgenerator.misc.geometric_progression": {"tf": 1.4142135623730951}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}, "n": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"mathgenerator.algebra.vector_dot": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.fraction_to_decimal": {"tf": 1}, "mathgenerator.computer_science.bcd_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1.7320508075688772}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1}, "mathgenerator.computer_science.decimal_to_hexadeci": {"tf": 1}, "mathgenerator.computer_science.decimal_to_octal": {"tf": 1.4142135623730951}, "mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 9}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.geometry.degree_to_rad": {"tf": 1.4142135623730951}, "mathgenerator.geometry.radian_to_deg": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.misc.celsius_to_fahrenheit": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1.4142135623730951}, "mathgenerator.misc.set_operation": {"tf": 1.7320508075688772}}, "df": 3}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}, "mathgenerator.calculus.trig_differentiation": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"mathgenerator.calculus.power_rule_differentiation": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.basic_math.divide_fractions": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.division": {"tf": 1}, "mathgenerator.computer_science.modulo_division": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.basic_math.greatest_common_divisor": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.dice_sum_probability": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.statistics.data_summary": {"tf": 1}}, "df": 2}}}}, "b": {"docs": {"mathgenerator.misc.set_operation": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.algebra.distance_two_points": {"tf": 1.4142135623730951}, "mathgenerator.basic_math.absolute_difference": {"tf": 1}, "mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1.4142135623730951}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 6}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.int_matrix_22_determinant": {"tf": 1}, "mathgenerator.algebra.invert_matrix": {"tf": 1.4142135623730951}, "mathgenerator.algebra.matrix_multiplication": {"tf": 1.7320508075688772}, "mathgenerator.algebra.multiply_int_to_22_matrix": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.basic_algebra": {"tf": 1}}, "df": 1}}, "e": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.misc.base_conversion": {"tf": 1.7320508075688772}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}}, "df": 4}}, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator.computer_science.bcd_to_decimal": {"tf": 1.4142135623730951}, "mathgenerator.computer_science.binary_2s_complement": {"tf": 1}, "mathgenerator.computer_science.binary_complement_1s": {"tf": 1}, "mathgenerator.computer_science.binary_to_decimal": {"tf": 1}, "mathgenerator.computer_science.binary_to_hex": {"tf": 1}, "mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}, "mathgenerator.computer_science.decimal_to_binary": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "x": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.computer_science.decimal_to_bcd": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.surds_comparison": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.statistics.data_summary": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.basic_math.percentage_error": {"tf": 1.4142135623730951}, "mathgenerator.misc.geometric_progression": {"tf": 1.7320508075688772}}, "df": 3, "s": {"docs": {"mathgenerator.geometry.basic_trigonometry": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator.geometry.valid_triangle": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.vector_cross": {"tf": 1}, "mathgenerator.algebra.vector_dot": {"tf": 1}, "mathgenerator.geometry.angle_btw_vectors": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.volume_cone": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cube": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cuboid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cylinder": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_pyramid": {"tf": 1.4142135623730951}, "mathgenerator.geometry.volume_sphere": {"tf": 1.4142135623730951}}, "df": 8}}}}}}, "y": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1.4142135623730951}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}}, "df": 4, "o": {"docs": {}, "df": 0, "u": {"docs": {"mathgenerator": {"tf": 2.6457513110645907}}, "df": 1, "r": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.compound_interest": {"tf": 1}, "mathgenerator.algebra.simple_interest": {"tf": 1}}, "df": 2}}}, "s": {"docs": {"mathgenerator.basic_math.is_composite": {"tf": 1}, "mathgenerator.basic_math.is_prime": {"tf": 1}}, "df": 2}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 2.449489742783178}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator": {"tf": 2.23606797749979}, "mathgenerator.geometry.angle_regular_polygon": {"tf": 1}, "mathgenerator.geometry.area_of_circle": {"tf": 1}, "mathgenerator.geometry.area_of_circle_given_center_and_point": {"tf": 1}, "mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.circumference": {"tf": 1}, "mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.geometry.surface_area_cone": {"tf": 1}, "mathgenerator.geometry.surface_area_cube": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}, "mathgenerator.geometry.surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.surface_area_sphere": {"tf": 1}, "mathgenerator.geometry.third_angle_of_triangle": {"tf": 1}, "mathgenerator.geometry.valid_triangle": {"tf": 1}, "mathgenerator.geometry.volume_cone": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_cuboid": {"tf": 1}, "mathgenerator.geometry.volume_cylinder": {"tf": 1}, "mathgenerator.geometry.volume_cone_frustum": {"tf": 1}, "mathgenerator.geometry.volume_hemisphere": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_sphere": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_base": {"tf": 1}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1}, "mathgenerator.statistics.confidence_interval": {"tf": 1}}, "df": 29, "i": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}, "mathgenerator.misc.binomial_distribution": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "s": {"docs": {"mathgenerator": {"tf": 2.23606797749979}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}, "mathgenerator.basic_math.cube_root": {"tf": 1}, "mathgenerator.basic_math.percentage": {"tf": 1}, "mathgenerator.basic_math.percentage_difference": {"tf": 1}, "mathgenerator.computer_science.nth_fibonacci_number": {"tf": 1}, "mathgenerator.geometry.curved_surface_area_cylinder": {"tf": 1}, "mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.sector_area": {"tf": 1}, "mathgenerator.geometry.sum_of_polygon_angles": {"tf": 1}, "mathgenerator.misc.binomial_distribution": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.basic_math.compare_fractions": {"tf": 1}, "mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"mathgenerator.basic_math.percentage_error": {"tf": 1}, "mathgenerator.misc.profit_loss_percent": {"tf": 1}}, "df": 2}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.statistics.conditional_probability": {"tf": 1}}, "df": 1}}}}}}}, "l": {"2": {"docs": {"mathgenerator.misc.euclidian_norm": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator": {"tf": 1}, "mathgenerator.algebra.combine_like_terms": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"mathgenerator.geometry.equation_of_line_from_two_points": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"mathgenerator.algebra.intersection_of_two_lines": {"tf": 1.4142135623730951}}, "df": 1}, "a": {"docs": {}, "df": 0, "r": {"docs": {"mathgenerator.algebra.linear_equations": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator": {"tf": 2}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator.algebra.log": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.algebra.log": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.misc.profit_loss_percent": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"mathgenerator.geometry.arc_length": {"tf": 1.7320508075688772}, "mathgenerator.geometry.surface_area_pyramid": {"tf": 1}, "mathgenerator.geometry.volume_cube": {"tf": 1}, "mathgenerator.geometry.volume_pyramid": {"tf": 1}}, "df": 4, "s": {"docs": {"mathgenerator.geometry.area_of_triangle": {"tf": 1}, "mathgenerator.geometry.perimeter_of_polygons": {"tf": 1}, "mathgenerator.geometry.pythagorean_theorem": {"tf": 1}, "mathgenerator.geometry.surface_area_cuboid": {"tf": 1}}, "df": 4}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {"mathgenerator.misc.is_leap_year": {"tf": 1.7320508075688772}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.lcm": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "m": {"docs": {"mathgenerator.misc.lcm": {"tf": 1.4142135623730951}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {"mathgenerator": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1.4142135623730951}, "mathgenerator.algebra.factoring": {"tf": 1.4142135623730951}, "mathgenerator.algebra.quadratic_equation": {"tf": 1.4142135623730951}, "mathgenerator.calculus.definite_integral": {"tf": 1}}, "df": 4}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"mathgenerator.geometry.fourth_angle_of_quadrilateral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"mathgenerator.misc.quotient_of_power_same_base": {"tf": 1.4142135623730951}, "mathgenerator.misc.quotient_of_power_same_power": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "x": {"1": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}, "2": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}, "docs": {"mathgenerator.algebra.expanding": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1.7320508075688772}, "mathgenerator.algebra.linear_equations": {"tf": 1.4142135623730951}, "mathgenerator.algebra.system_of_equations": {"tf": 1.7320508075688772}, "mathgenerator.calculus.stationary_points": {"tf": 1.4142135623730951}}, "df": 5, "^": {"2": {"docs": {"mathgenerator.algebra.complex_quadratic": {"tf": 1}, "mathgenerator.algebra.factoring": {"tf": 1}, "mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 3, "+": {"1": {"8": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "+": {"1": {"8": {"docs": {"mathgenerator.algebra.expanding": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "x": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}}, "3": {"docs": {"mathgenerator.calculus.stationary_points": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "+": {"6": {"docs": {"mathgenerator.algebra.factoring": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "i": {"docs": {"mathgenerator.misc.decimal_to_roman_numerals": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"mathgenerator.algebra.quadratic_equation": {"tf": 1}}, "df": 1}}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/makedocs.sh b/makedocs.sh new file mode 100755 index 0000000..78f42a7 --- /dev/null +++ b/makedocs.sh @@ -0,0 +1,2 @@ +pdoc mathgenerator !mathgenerator.mathgen --math -o docs +python -m http.server -d docs \ No newline at end of file diff --git a/mathgenerator/__init__.py b/mathgenerator/__init__.py index 57eca79..eebc530 100644 --- a/mathgenerator/__init__.py +++ b/mathgenerator/__init__.py @@ -1,9 +1,31 @@ -from .funcs import * -from .generator import getGenList +""" +.. include:: ../README.md +""" -genList = getGenList() +from .algebra import * +from .basic_math import * +from .calculus import * +from .computer_science import * +from .geometry import * +from .misc import * +from .statistics import * + +from ._gen_list import gen_list + + +# [funcname, subjectname] +def get_gen_list(): + return gen_list + + +def gen_by_id(id, *args, **kwargs): + return globals()[gen_list[id][0]](*args, **kwargs) + + +# Legacy Functions +def getGenList(): + return gen_list def genById(id, *args, **kwargs): - generator = genList[id][2] - return (generator(*args, **kwargs)) + return globals()[gen_list[id][0]](*args, **kwargs) diff --git a/mathgenerator/_gen_list.py b/mathgenerator/_gen_list.py new file mode 100644 index 0000000..c168db7 --- /dev/null +++ b/mathgenerator/_gen_list.py @@ -0,0 +1,128 @@ +gen_list = [ + ("addition", "basic_math"), + ("subtraction", "basic_math"), + ("multiplication", "basic_math"), + ("division", "basic_math"), + ("binary_complement_1s", "computer_science"), + ("modulo_division", "computer_science"), + ("square_root", "basic_math"), + ("power_rule_differentiation", "calculus"), + ("square", "basic_math"), + ("lcm", "misc"), + ("DELETED", "DELETED"), + ("basic_algebra", "algebra"), + ("log", "algebra"), + ("fraction_to_decimal", "basic_math"), + ("decimal_to_binary", "computer_science"), + ("binary_to_decimal", "computer_science"), + ("divide_fractions", "basic_math"), + ("multiply_int_to_22_matrix", "algebra"), + ("area_of_triangle", "geometry"), + ("valid_triangle", "geometry"), + ("midpoint_of_two_points", "algebra"), + ("factoring", "algebra"), + ("third_angle_of_triangle", "geometry"), + ("system_of_equations", "algebra"), + ("distance_two_points", "algebra"), + ("pythagorean_theorem", "geometry"), + ("linear_equations", "algebra"), + ("prime_factors", "misc"), + ("fraction_multiplication", "basic_math"), + ("angle_regular_polygon", "geometry"), + ("combinations", "statistics"), + ("factorial", "basic_math"), + ("surface_area_cube", "geometry"), + ("surface_area_cuboid", "geometry"), + ("surface_area_cylinder", "geometry"), + ("volume_cube", "geometry"), + ("volume_cuboid", "geometry"), + ("volume_cylinder", "geometry"), + ("surface_area_cone", "geometry"), + ("volume_cone", "geometry"), + ("common_factors", "misc"), + ("intersection_of_two_lines", "algebra"), + ("permutation", "statistics"), + ("vector_cross", "algebra"), + ("compare_fractions", "basic_math"), + ("simple_interest", "algebra"), + ("matrix_multiplication", "algebra"), + ("cube_root", "basic_math"), + ("power_rule_integration", "calculus"), + ("fourth_angle_of_quadrilateral", "geometry"), + ("quadratic_equation", "algebra"), + ("DELETED", "DELETED"), + ("dice_sum_probability", "statistics"), + ("exponentiation", "basic_math"), + ("confidence_interval", "statistics"), + ("surds_comparison", "misc"), + ("fibonacci_series", "computer_science"), + ("basic_trigonometry", "geometry"), + ("sum_of_polygon_angles", "geometry"), + ("data_summary", "statistics"), + ("surface_area_sphere", "geometry"), + ("volume_sphere", "geometry"), + ("nth_fibonacci_number", "computer_science"), + ("profit_loss_percent", "misc"), + ("binary_to_hex", "computer_science"), + ("multiply_complex_numbers", "algebra"), + ("geometric_progression", "misc"), + ("geometric_mean", "misc"), + ("harmonic_mean", "misc"), + ("euclidian_norm", "misc"), + ("angle_btw_vectors", "geometry"), + ("absolute_difference", "basic_math"), + ("vector_dot", "algebra"), + ("binary_2s_complement", "computer_science"), + ("invert_matrix", "algebra"), + ("sector_area", "geometry"), + ("mean_median", "statistics"), + ("int_matrix_22_determinant", "algebra"), + ("compound_interest", "algebra"), + ("decimal_to_hexadeci", "computer_science"), + ("percentage", "basic_math"), + ("celsius_to_fahrenheit", "misc"), + ("arithmetic_progression_term", "misc"), + ("arithmetic_progression_sum", "misc"), + ("decimal_to_octal", "computer_science"), + ("decimal_to_roman_numerals", "misc"), + ("degree_to_rad", "geometry"), + ("radian_to_deg", "geometry"), + ("trig_differentiation", "calculus"), + ("definite_integral", "calculus"), + ("is_prime", "basic_math"), + ("bcd_to_decimal", "computer_science"), + ("complex_to_polar", "misc"), + ("set_operation", "misc"), + ("base_conversion", "misc"), + ("curved_surface_area_cylinder", "geometry"), + ("perimeter_of_polygons", "geometry"), + ("power_of_powers", "basic_math"), + ("quotient_of_power_same_base", "misc"), + ("quotient_of_power_same_power", "misc"), + ("complex_quadratic", "algebra"), + ("is_leap_year", "misc"), + ("minutes_to_hours", "misc"), + ("decimal_to_bcd", "computer_science"), + ("circumference", "geometry"), + ("combine_like_terms", "algebra"), + ("signum_function", "misc"), + ("conditional_probability", "statistics"), + ("arc_length", "geometry"), + ("binomial_distribution", "misc"), + ("stationary_points", "calculus"), + ("expanding", "algebra"), + ("area_of_circle", "geometry"), + ("volume_cone_frustum", "geometry"), + ("equation_of_line_from_two_points", "geometry"), + ("area_of_circle_given_center_and_point", "geometry"), + ("factors", "misc"), + ("volume_hemisphere", "geometry"), + ("percentage_difference", "basic_math"), + ("percentage_error", "basic_math"), + ("greatest_common_divisor", "basic_math"), + ("product_of_scientific_notations", "misc"), + ("volume_pyramid", "geometry"), + ("surface_area_pyramid", "geometry"), + ("is_composite", "basic_math"), + ("complementary_and_supplementary_angle", "geometry"), +] diff --git a/mathgenerator/latexBuilder.py b/mathgenerator/_latexBuilder.py similarity index 58% rename from mathgenerator/latexBuilder.py rename to mathgenerator/_latexBuilder.py index 5a208cd..3753860 100644 --- a/mathgenerator/latexBuilder.py +++ b/mathgenerator/_latexBuilder.py @@ -1,13 +1,13 @@ def frac(num, den): - return f'\\frac{{{num}}}{{{den}}}' + return rf'\frac{{{num}}}{{{den}}}' def bmatrix(lst): """Turns 2d matrix into a bmatrix""" - out = '\\begin{bmatrix} ' + out = r'\begin{bmatrix} ' lst = [' & '.join(map(str, row)) for row in lst] - out += ' \\\\ '.join(lst) - return out + ' \\end{bmatrix}' + out += r' \\\ '.join(lst) + return out + r' \end{bmatrix}' def exp(base, exp): diff --git a/mathgenerator/algebra.py b/mathgenerator/algebra.py new file mode 100644 index 0000000..3edd2ff --- /dev/null +++ b/mathgenerator/algebra.py @@ -0,0 +1,725 @@ +from ._latexBuilder import bmatrix +import random +import math +import fractions +import sympy + + +def basic_algebra(max_variable=10): + r"""Basic Algebra + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $1x + 5 = 5$ | $0$ | + """ + a = random.randint(1, max_variable) + b = random.randint(1, max_variable) + c = random.randint(b, max_variable) + + # calculate gcd + def calculate_gcd(x, y): + while (y): + x, y = y, x % y + return x + + i = calculate_gcd((c - b), a) + x = f"{(c - b)//i}/{a//i}" + + if (c - b == 0): + x = "0" + elif a == 1 or a == i: + x = f"{c - b}" + + problem = f"${a}x + {b} = {c}$" + solution = f"${x}$" + return problem, solution + + +def combine_like_terms(max_coef=10, max_exp=20, max_terms=10): + r"""Combine Like Terms + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $6x^{9} + 3x^{2} + 5x^{19} + 3x^{17}$ | $3x^{2} + 6x^{9} + 3x^{17} + 5x^{19}$ | + """ + numTerms = random.randint(1, max_terms) + + coefs = [random.randint(1, max_coef) for _ in range(numTerms)] + exponents = [random.randint(1, max(max_exp - 1, 2)) + for _ in range(numTerms)] + + problem = " + ".join([f"{coefs[i]}x^{{{exponents[i]}}}" for i in range(numTerms)]) + d = {} + for i in range(numTerms): + if exponents[i] in d: + d[exponents[i]] += coefs[i] + else: + d[exponents[i]] = coefs[i] + solution = " + ".join([f"{d[k]}x^{{{k}}}" for k in sorted(d)]) + + return f'${problem}$', f'${solution}$' + + +def complex_quadratic(prob_type=0, max_range=10): + r"""Complex Quadratic Equation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the roots of given Quadratic Equation $x^2 + 8x + 8 = 0$ | $((-1.172, -6.828)) = (\frac{-8 + \sqrt{32}}{2*1}, (\frac{-8 - \sqrt{32}}{2*1})$ | + """ + if prob_type < 0 or prob_type > 1: + print("prob_type not supported") + print("prob_type = 0 for real roots problems ") + print("prob_tpye = 1 for imaginary roots problems") + return None + if prob_type == 0: + d = -1 + while d < 0: + a = random.randrange(1, max_range) + b = random.randrange(1, max_range) + c = random.randrange(1, max_range) + + d = (b**2 - 4 * a * c) + else: + d = 0 + while d >= 0: + a = random.randrange(1, max_range) + b = random.randrange(1, max_range) + c = random.randrange(1, max_range) + + d = (b**2 - 4 * a * c) + + eq = '' + + if a == 1: + eq += 'x^2 + ' + else: + eq += str(a) + 'x^2 + ' + + if b == 1: + eq += 'x + ' + else: + eq += str(b) + 'x + ' + + eq += str(c) + ' = 0' + + problem = f'Find the roots of given Quadratic Equation ${eq}$' + + if d < 0: + sqrt_d = (-d)**0.5 + + if sqrt_d - int(sqrt_d) == 0: + sqrt_d = int(sqrt_d) + solution = rf'(\frac{{{-b} + {sqrt_d}i}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}i}}{{2*{a}}})' + else: + solution = rf'(\frac{{{-b} + \sqrt{{{-d}}}i}}{{2*{a}}}, \frac{{{-b} - \sqrt{{{-d}}}i}}{{2*{a}}})' + + return problem, solution + + else: + s_root1 = round((-b + (d)**0.5) / (2 * a), 3) + s_root2 = round((-b - (d)**0.5) / (2 * a), 3) + + sqrt_d = (d)**0.5 + + if sqrt_d - int(sqrt_d) == 0: + sqrt_d = int(sqrt_d) + g_sol = rf'(\frac{{{-b} + {sqrt_d}}}{{2*{a}}}, \frac{{{-b} - {sqrt_d}}}{{2*{a}}})' + else: + g_sol = rf'(\frac{{{-b} + \sqrt{{{d}}}}}{{2*{a}}}, (\frac{{{-b} - \sqrt{{{d}}}}}{{2*{a}}})' + + solution = f'$({s_root1, s_root2}) = {g_sol}$' + + return problem, solution + + +def compound_interest(max_principle=10000, + max_rate=10, + max_time=10): + r"""Compound Interest + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Compound interest for a principle amount of $2679$ dollars, $9$% rate of interest and for a time period of $3$ years is $=$ | $3469.38$ | + """ + p = random.randint(1000, max_principle) + r = random.randint(1, max_rate) + n = random.randint(1, max_time) + a = round(p * (1 + r / 100)**n, 2) + + problem = f"Compound interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${n}$ years is $=$" + return problem, f'${a}$' + + +def distance_two_points(max_val_xy=20, min_val_xy=-20): + r"""Distance between 2 points + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the distance between $(-19, -6)$ and $(15, -16)$ | $\sqrt{1256}$ | + """ + point1X = random.randint(min_val_xy, max_val_xy + 1) + point1Y = random.randint(min_val_xy, max_val_xy + 1) + point2X = random.randint(min_val_xy, max_val_xy + 1) + point2Y = random.randint(min_val_xy, max_val_xy + 1) + + distanceSq = (point1X - point2X) ** 2 + (point1Y - point2Y) ** 2 + + solution = rf"$\sqrt{{{distanceSq}}}$" + problem = f"Find the distance between $({point1X}, {point1Y})$ and $({point2X}, {point2Y})$" + return problem, solution + + +def expanding(range_x1=10, + range_x2=10, + range_a=10, + range_b=10): + r"""Expanding Factored Binomial + + | Ex. Problem | Ex. Solution | + | --- | --- | + |$(x-6)(-3x-3)$ | $x^2+18x+18$ | + """ + x1 = random.randint(-range_x1, range_x1) + x2 = random.randint(-range_x2, range_x2) + a = random.randint(-range_a, range_a) + b = random.randint(-range_b, range_b) + + def intParser(z): + if (z > 0): + return f"+{z}" + elif (z < 0): + return f"-{abs(z)}" + else: + return "" + + c1 = intParser(a * b) + c2 = intParser((a * x2) + (b * x1)) + c3 = intParser(x1 * x2) + + p1 = intParser(a) + p2 = intParser(x1) + p3 = intParser(b) + p4 = intParser(x2) + + if p1 == "+1": + p1 = "" + elif len(p1) > 0 and p1[0] == "+": + p1 = p1[1:] + if p3 == "+1": + p3 = "" + elif p3[0] == "+": + p3 = p3[1:] + + if c1 == "+1": + c1 = "" + elif len(c1) > 0 and c1[0] == "+": + c1 = c1[1:] # Cuts off the plus for readability + if c2 == "+1": + c2 = "" + + problem = f"$({p1}x{p2})({p3}x{p4})$" + solution = f"${c1}x^2{c2}x{c3}$" + return problem, solution + + +def factoring(range_x1=10, range_x2=10): + r"""Factoring Quadratic + Given a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2) + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $x^2+2x-24$ | $(x-4)(x+6)$ | + """ + x1 = random.randint(-range_x1, range_x1) + x2 = random.randint(-range_x2, range_x2) + + def intParser(z): + if (z > 0): + return f"+{z}" + elif (z < 0): + return f"-{abs(z)}" + else: + return "" + + b = intParser(x1 + x2) + c = intParser(x1 * x2) + + if b == "+1": + b = "+" + if b == "": + problem = f"x^2{c}" + else: + problem = f"x^2{b}x{c}" + + x1 = intParser(x1) + x2 = intParser(x2) + solution = f"$(x{x1})(x{x2})$" + return f"${problem}$", solution + + +def int_matrix_22_determinant(max_matrix_val=100): + r"""Determinant to 2x2 Matrix + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\det \begin{bmatrix} 88 & 40 \\\ 9 & 91 \end{bmatrix}= $ | $7648$ | + """ + a = random.randint(0, max_matrix_val) + b = random.randint(0, max_matrix_val) + c = random.randint(0, max_matrix_val) + d = random.randint(0, max_matrix_val) + + determinant = a * d - b * c + lst = [[a, b], [c, d]] + + problem = rf"$\det {bmatrix(lst)}= $" + solution = f"${determinant}$" + return problem, solution + + +def intersection_of_two_lines(min_m=-10, + max_m=10, + min_b=-10, + max_b=10, + min_denominator=1, + max_denominator=6): + r"""Intersection of two lines + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the point of intersection of the two lines: $y = \frac{-2}{6}x + 3$ and $y = \frac{3}{6}x - 8$ | $(\frac{66}{5}, \frac{-7}{5})$ | + """ + def generateEquationString(m, b): + """ + Generates an equation given the slope and intercept. + It handles cases where m is fractional. + It also ensures that we don't have weird signs such as y = mx + -b. + """ + if m[0] == 0: + m = 0 + elif abs(m[0]) == abs(m[1]): + m = m[0] // m[1] + elif m[1] == 1: + m = m[0] + else: + m = rf"\frac{{{m[0]}}}{{{m[1]}}}" + base = "y =" + if m != 0: + if m == 1: + base = f"{base} x" + elif m == -1: + base = f"{base} -x" + else: + base = f"{base} {m}x" + if b > 0: + if m == 0: + return f"{base} {b}" + else: + return f"{base} + {b}" + elif b < 0: + if m == 0: + return f"{base} -{b * -1}" + else: + return f"{base} - {b * -1}" + else: + if m == 0: + return f"{base} 0" + else: + return base + + def fractionToString(x): + """ + Converts the given fractions.Fraction into a string. + """ + if x.denominator == 1: + x = x.numerator + else: + x = rf"\frac{{{x.numerator}}}{{{x.denominator}}}" + return x + + m1 = (random.randint(min_m, + max_m), random.randint(min_denominator, max_denominator)) + m2 = (random.randint(min_m, + max_m), random.randint(min_denominator, max_denominator)) + + b1 = random.randint(min_b, max_b) + b2 = random.randint(min_b, max_b) + + eq1 = generateEquationString(m1, b1) + eq2 = generateEquationString(m2, b2) + + problem = f"Find the point of intersection of the two lines: ${eq1}$ and ${eq2}$" + + m1 = fractions.Fraction(*m1) + m2 = fractions.Fraction(*m2) + # if m1 == m2 then the slopes are equal + # This can happen if both line are the same + # Or if they are parallel + # In either case there is no intersection + + if m1 == m2: + solution = "No Solution" + else: + intersection_x = (b1 - b2) / (m2 - m1) + intersection_y = ((m2 * b1) - (m1 * b2)) / (m2 - m1) + solution = f"$({fractionToString(intersection_x)}, {fractionToString(intersection_y)})$" + + return problem, solution + + +def invert_matrix(square_matrix_dimension=3, + max_matrix_element=99, + only_integer_elements_in_inverted_matrixe=True): + r"""Invert Matrix + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Inverse of Matrix $\begin{bmatrix} 4 & 1 & 4 \\\ 5 & 1 & 5 \\\ 12 & 3 & 13 \end{bmatrix}$ is: | $\begin{bmatrix} 2 & 1 & -1 \\\ 5 & -4 & 0 \\\ -3 & 0 & 1 \end{bmatrix}$ | + """ + if only_integer_elements_in_inverted_matrixe is True: + isItOk = False + Mat = list() + while (isItOk is False): + Mat = list() + for i in range(0, square_matrix_dimension): + z = list() + for j in range(0, square_matrix_dimension): + z.append(0) + z[i] = 1 + Mat.append(z) + MaxAllowedMatrixElement = math.ceil( + pow(max_matrix_element, 1 / (square_matrix_dimension))) + randomlist = random.sample(range(0, MaxAllowedMatrixElement + 1), + square_matrix_dimension) + + for i in range(0, square_matrix_dimension): + if i == square_matrix_dimension - 1: + Mat[0] = [ + j + (k * randomlist[i]) + for j, k in zip(Mat[0], Mat[i]) + ] + else: + Mat[i + 1] = [ + j + (k * randomlist[i]) + for j, k in zip(Mat[i + 1], Mat[i]) + ] + + for i in range(1, square_matrix_dimension - 1): + Mat[i] = [ + sum(i) for i in zip(Mat[square_matrix_dimension - 1], Mat[i]) + ] + + isItOk = True + for i in Mat: + for j in i: + if j > max_matrix_element: + isItOk = False + break + if isItOk is False: + break + + random.shuffle(Mat) + Mat = sympy.Matrix(Mat) + Mat = sympy.Matrix.transpose(Mat) + Mat = Mat.tolist() + random.shuffle(Mat) + Mat = sympy.Matrix(Mat) + Mat = sympy.Matrix.transpose(Mat) + + else: + randomlist = list(sympy.primerange(0, max_matrix_element + 1)) + plist = random.sample(randomlist, square_matrix_dimension) + randomlist = random.sample( + range(0, max_matrix_element + 1), + square_matrix_dimension * square_matrix_dimension) + randomlist = list(set(randomlist) - set(plist)) + n_list = random.sample( + randomlist, square_matrix_dimension * (square_matrix_dimension - 1)) + Mat = list() + for i in range(0, square_matrix_dimension): + z = list() + z.append(plist[i]) + for j in range(0, square_matrix_dimension - 1): + z.append(n_list[(i * square_matrix_dimension) + j - i]) + random.shuffle(z) + Mat.append(z) + Mat = sympy.Matrix(Mat) + + problem = 'Inverse of Matrix $' + bmatrix(Mat.tolist()) + '$ is:' + solution = f'${bmatrix(sympy.Matrix.inv(Mat).tolist())}$' + return problem, solution + + +def linear_equations(n=2, var_range=20, coeff_range=20): + r"""Linear Equations + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Given the equations $10x + -20y = 310$ and $-16x + -17y = 141$, solve for $x$ and $y$ | $x = 5$, $y = -13$ | + """ + if n > 10: + print("[!] n cannot be greater than 10") + return None, None + + vars = ['x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][:n] + soln = [random.randint(-var_range, var_range) for i in range(n)] + problem = list() + solution = "$, $".join( + ["{} = {}".format(vars[i], soln[i]) for i in range(n)]) + + for _ in range(n): + coeff = [random.randint(-coeff_range, coeff_range) for i in range(n)] + res = sum([coeff[i] * soln[i] for i in range(n)]) + prob = [ + "{}{}".format(coeff[i], vars[i]) if coeff[i] != 0 else "" + for i in range(n) + ] + + while "" in prob: + prob.remove("") + prob = " + ".join(prob) + " = " + str(res) + problem.append(prob) + + # problem = "\n".join(problem) + problem = "$ and $".join(problem) + + return f'Given the equations ${problem}$, solve for $x$ and $y$', f'${solution}$' + + +def log(max_base=3, max_val=8): + r"""Logarithm + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $log_{3}(243)=$ | $5$ | + """ + a = random.randint(1, max_val) + b = random.randint(2, max_base) + c = pow(b, a) + + problem = f'$log_{{{b}}}({c})=$' + solution = f'${a}$' + return problem, solution + + +def matrix_multiplication(max_val=100, max_dim=10): + r"""Multiply Two Matrices + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Multiply $\begin{bmatrix} 15 & 72 \\\ 64 & -20 \\\ 18 & 59 \\\ -21 & -55 \\\ 20 & -12 \\\ -75 & -42 \\\ 47 & 89 \\\ -53 & 27 \\\ -56 & 44 \end{bmatrix}$ and $\begin{bmatrix} 49 & -2 & 68 & -28 \\\ 49 & 6 & 83 & 42 \end{bmatrix}$ | $\begin{bmatrix} 4263 & 402 & 6996 & 2604 \\\ 2156 & -248 & 2692 & -2632 \\\ 3773 & 318 & 6121 & 1974 \\\ -3724 & -288 & -5993 & -1722 \\\ 392 & -112 & 364 & -1064 \\\ -5733 & -102 & -8586 & 336 \\\ 6664 & 440 & 10583 & 2422 \\\ -1274 & 268 & -1363 & 2618 \\\ -588 & 376 & -156 & 3416 \end{bmatrix}$ | + """ + m = random.randint(2, max_dim) + n = random.randint(2, max_dim) + k = random.randint(2, max_dim) + + # generate matrices a and b + a = [[random.randint(-max_val, max_val) for _ in range(n)] + for _ in range(m)] + b = [[random.randint(-max_val, max_val) for _ in range(k)] + for _ in range(n)] + + res = [] + for r in range(m): + res.append([]) + for c in range(k): + temp = 0 + for t in range(n): + temp += a[r][t] * b[t][c] + res[r].append(temp) + + problem = f"Multiply ${bmatrix(a)}$ and ${bmatrix(b)}$" + solution = f'${bmatrix(res)}$' + return problem, solution + + +def midpoint_of_two_points(max_value=20): + r"""Midpoint of two points + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The midpoint of $(-8,10)$ and $(18,0) = $ | $(5.0,5.0)$ | + """ + x1 = random.randint(-20, max_value) + y1 = random.randint(-20, max_value) + x2 = random.randint(-20, max_value) + y2 = random.randint(-20, max_value) + xm = (x1 + x2) / 2 + ym = (y1 + y2) / 2 + + problem = f"The midpoint of $({x1},{y1})$ and $({x2},{y2}) = $" + solution = f"$({xm},{ym})$" + return problem, solution + + +def multiply_complex_numbers(min_real_imaginary_num=-20, + max_real_imaginary_num=20): + r"""Multiplication of 2 complex numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $(14+18j) * (14+15j) = $ | $(-74+462j)$ | + """ + num1 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num), + random.randint(min_real_imaginary_num, max_real_imaginary_num)) + num2 = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num), + random.randint(min_real_imaginary_num, max_real_imaginary_num)) + product = num1 * num2 + + problem = f"${num1} * {num2} = $" + solution = f'${product}$' + return problem, solution + + +def multiply_int_to_22_matrix(max_matrix_val=10, max_res=100): + r"""Multiply Integer to 2x2 Matrix + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $5 * \begin{bmatrix} 1 & 0 \\\ 2 & 9 \end{bmatrix} =$ | $\begin{bmatrix} 5 & 0 \\\ 10 & 45 \end{bmatrix}$ | + """ + a = random.randint(0, max_matrix_val) + b = random.randint(0, max_matrix_val) + c = random.randint(0, max_matrix_val) + d = random.randint(0, max_matrix_val) + + constant = random.randint(0, int(max_res / max(a, b, c, d))) + + a1 = a * constant + b1 = b * constant + c1 = c * constant + d1 = d * constant + lst = [[a, b], [c, d]] + lst1 = [[a1, b1], [c1, d1]] + + problem = f'${constant} * {bmatrix(lst)} =$' + solution = f'${bmatrix(lst1)}$' + return problem, solution + + +def quadratic_equation(max_val=100): + r"""Quadratic Equation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What are the zeros of the quadratic equation $22x^2+137x+25=0$ | ${-0.19, -6.04}$ | + """ + a = random.randint(1, max_val) + c = random.randint(1, max_val) + b = random.randint( + round(math.sqrt(4 * a * c)) + 1, round(math.sqrt(4 * max_val * max_val))) + D = math.sqrt(b * b - 4 * a * c) + res = {round((-b + D) / (2 * a), 2), round((-b - D) / (2 * a), 2)} + + problem = f"What are the zeros of the quadratic equation ${a}x^2+{b}x+{c}=0$" + solution = f'${res}$' + return problem, solution + + +def simple_interest(max_principle=10000, + max_rate=10, + max_time=10): + r"""Simple Interest + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Simple interest for a principle amount of $7217$ dollars, $3$% rate of interest and for a time period of $10$ years is $=$ | $2165.1$ | + """ + p = random.randint(1000, max_principle) + r = random.randint(1, max_rate) + t = random.randint(1, max_time) + s = round((p * r * t) / 100, 2) + + problem = f"Simple interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${t}$ years is $=$ " + solution = f'${s}$' + return problem, solution + + +def system_of_equations(range_x=10, + range_y=10, + coeff_mult_range=10): + r"""Solve a System of Equations in R^2 + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Given $-x + 5y = -28$ and $9x + 2y = 64$, solve for $x$ and $y$. | $x = 8$, $y = -4$ | + """ + # Generate solution point first + x = random.randint(-range_x, range_x) + y = random.randint(-range_y, range_y) + # Start from reduced echelon form (coeffs 1) + c1 = [1, 0, x] + c2 = [0, 1, y] + + def randNonZero(): + return random.choice( + [i for i in range(-coeff_mult_range, coeff_mult_range) if i != 0]) + + # Add random (non-zero) multiple of equations (rows) to each other + c1_mult = randNonZero() + c2_mult = randNonZero() + new_c1 = [c1[i] + c1_mult * c2[i] for i in range(len(c1))] + new_c2 = [c2[i] + c2_mult * c1[i] for i in range(len(c2))] + # For extra randomness, now add random (non-zero) multiples of original rows + # to themselves + c1_mult = randNonZero() + c2_mult = randNonZero() + new_c1 = [new_c1[i] + c1_mult * c1[i] for i in range(len(c1))] + new_c2 = [new_c2[i] + c2_mult * c2[i] for i in range(len(c2))] + + def coeffToFuncString(coeffs): + # lots of edge cases for perfect formatting! + x_sign = '-' if coeffs[0] < 0 else '' + # No redundant 1s + x_coeff = str(abs(coeffs[0])) if abs(coeffs[0]) != 1 else '' + # If x coeff is 0, dont include x + x_str = f'{x_sign}{x_coeff}x' if coeffs[0] != 0 else '' + # if x isn't included and y is positive, dont include operator + op = ' - ' if coeffs[1] < 0 else (' + ' if x_str != '' else '') + # No redundant 1s + y_coeff = abs(coeffs[1]) if abs(coeffs[1]) != 1 else '' + # Don't include if 0, unless x is also 0 (probably never happens) + y_str = f'{y_coeff}y' if coeffs[1] != 0 else ( + '' if x_str != '' else '0') + return f'{x_str}{op}{y_str} = {coeffs[2]}' + + problem = f"Given ${coeffToFuncString(new_c1)}$ and ${coeffToFuncString(new_c2)}$, solve for $x$ and $y$." + solution = f"$x = {x}$, $y = {y}$" + return problem, solution + # Add random (non-zero) multiple of equations to each other + + +def vector_cross(min_val=-20, max_val=20): + r"""Cross product of 2 vectors + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $[-1, -4, 10] \times [-11, 1, -16] = $ | $[54, -126, -45]$ | + """ + a = [random.randint(min_val, max_val) for _ in range(3)] + b = [random.randint(min_val, max_val) for _ in range(3)] + c = [ + a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], + a[0] * b[1] - a[1] * b[0] + ] + + problem = rf"${a} \times {b} = $" + solution = f"${c}$" + return problem, solution + + +def vector_dot(min_val=-20, max_val=20): + r"""Dot product of 2 vectors + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $[12, -9, -8]\cdot[-9, 8, 1]=$ | $-188$ | + """ + a = [random.randint(min_val, max_val) for i in range(3)] + b = [random.randint(min_val, max_val) for i in range(3)] + c = a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + + problem = rf'${a}\cdot{b}=$' + solution = f'${c}$' + return problem, solution diff --git a/mathgenerator/basic_math.py b/mathgenerator/basic_math.py new file mode 100644 index 0000000..c23ccca --- /dev/null +++ b/mathgenerator/basic_math.py @@ -0,0 +1,405 @@ +import random + + +def absolute_difference(max_a=100, max_b=100): + r"""Absolute difference between two numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $|22-34|=$ | $12$ | + """ + a = random.randint(-1 * max_a, max_a) + b = random.randint(-1 * max_b, max_b) + absDiff = abs(a - b) + + return f'$|{a}-{b}|=$', f"${absDiff}$" + + +def addition(max_sum=99, max_addend=50): + r"""Addition of two numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $22+34=$ | $56$ | + """ + if max_addend > max_sum: + max_addend = max_sum + a = random.randint(0, max_addend) + # The highest value of b will be no higher than the max_sum minus the first number and no higher than the max_addend as well + b = random.randint(0, min((max_sum - a), max_addend)) + c = a + b + + problem = f'${a}+{b}=$' + solution = f'${c}$' + return problem, solution + + +def compare_fractions(max_val=10): + r"""Compare Fractions + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Which symbol represents the comparison between $\frac{1}{2}$ and $\frac{3}{4}$? | $>$ | + """ + a = random.randint(1, max_val) + b = random.randint(1, max_val) + c = random.randint(1, max_val) + d = random.randint(1, max_val) + + while (a == b): + b = random.randint(1, max_val) + while (c == d): + d = random.randint(1, max_val) + + first = a / b + second = c / d + + if (first > second): + solution = ">" + elif (first < second): + solution = "<" + else: + solution = "=" + + problem = rf"Which symbol represents the comparison between $\frac{{{a}}}{{{b}}}$ and $\frac{{{c}}}{{{d}}}$?" + return problem, solution + + +def cube_root(min_no=1, max_no=1000): + r"""Cube Root + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the cube root of: $\sqrt[3]{125}=$ to 2 decimal places? | $5$ | + """ + b = random.randint(min_no, max_no) + a = b**(1 / 3) + + return (rf"What is the cube root of: $\sqrt[3]{{{b}}}=$ to 2 decimal places?", f"${round(a, 2)}$") + + +def divide_fractions(max_val=10): + r"""Divide Fractions + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\frac{7}{9}\div\frac{4}{1}=$ | $\frac{7}{36}$ | + """ + a = random.randint(1, max_val) + b = random.randint(1, max_val) + + while (a == b): + b = random.randint(1, max_val) + + c = random.randint(1, max_val) + d = random.randint(1, max_val) + while (c == d): + d = random.randint(1, max_val) + + def calculate_gcd(x, y): + while (y): + x, y = y, x % y + return x + + tmp_n = a * d + tmp_d = b * c + + gcd = calculate_gcd(tmp_n, tmp_d) + sol_numerator = tmp_n // gcd + sol_denominator = tmp_d // gcd + + return rf'$\frac{{{a}}}{{{b}}}\div\frac{{{c}}}{{{d}}}=$', f'$\frac{{{sol_numerator}}}{{{sol_denominator}}}$' + + +def division(max_a=25, max_b=25): + r"""Division + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $216\div24=$ | $9$ | + """ + a = random.randint(1, max_a) + b = random.randint(1, max_b) + + divisor = a * b + dividend = random.choice([a, b]) + quotient = int(divisor / dividend) + + return rf'${divisor}\div{dividend}=$', f'${quotient}$' + + +def exponentiation(max_base=20, max_expo=10): + r"""Exponentiation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $9^{5}=$ | $8$ | + """ + base = random.randint(1, max_base) + expo = random.randint(1, max_expo) + + return f'${base}^{{{expo}}}=$', f'${base**expo}$' + + +def factorial(max_input=6): + r"""Factorial + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $4! =$ | $24$ | + """ + a = random.randint(0, max_input) + n = a + b = 1 + while a != 1 and n > 0: + b *= n + n -= 1 + + return f'${a}! =$', f'${b}$' + + +def fraction_multiplication(max_val=10): + r"""Fraction Multiplication + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\frac{3}{10}\cdot\frac{6}{7}=$ | $\frac{9}{35}$ | + """ + a = random.randint(1, max_val) + b = random.randint(1, max_val) + c = random.randint(1, max_val) + d = random.randint(1, max_val) + + while (a == b): + b = random.randint(1, max_val) + + while (c == d): + d = random.randint(1, max_val) + + def calculate_gcd(x, y): + while (y): + x, y = y, x % y + return x + + tmp_n = a * c + tmp_d = b * d + + gcd = calculate_gcd(tmp_n, tmp_d) + + problem = rf"$\frac{{{a}}}{{{b}}}\cdot\frac{{{c}}}{{{d}}}=$" + if (tmp_d == 1 or tmp_d == gcd): + solution = rf"$\frac{{{tmp_n}}}{{{gcd}}}$" + else: + solution = rf"$\frac{{{tmp_n//gcd}}}{{{tmp_d//gcd}}}$" + return problem, solution + + +def fraction_to_decimal(max_res=99, max_divid=99): + r"""Fraction to Decimal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $83\div80=$ | $1.04$ | + """ + a = random.randint(0, max_divid) + b = random.randint(1, min(max_res, max_divid)) + c = round(a / b, 2) + + return rf'${a}\div{b}=$', f'${c}$' + + +def greatest_common_divisor(numbers_count=2, max_num=10**3): + r"""Greatest Common Divisor of N Numbers ( GCD / HCF ) + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $GCD(488075608, 75348096)=$ | $8$ | + """ + + def greatestCommonDivisorOfTwoNumbers(number1, number2): + number1 = abs(number1) + number2 = abs(number2) + while number2 > 0: + number1, number2 = number2, number1 % number2 + return number1 + + numbers_count = max(numbers_count, 2) + numbers = [random.randint(0, max_num) + for _ in range(numbers_count)] + + greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers( + numbers[0], numbers[1]) + + for index in range(1, numbers_count): + greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers( + numbers[index], greatestCommonDivisor) + + return f'$GCD({",".join(map(str, numbers))})=$', f"${greatestCommonDivisor}$" + + +def is_composite(max_num=250): + r"""Is Composite + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Is $171$ composite? | Yes | + """ + a = random.randint(2, max_num) + + problem = f"Is ${a}$ composite?" + if a == 0 or a == 1: + return problem, "No" + for i in range(2, a): + if a % i == 0: + return problem, "Yes" + solution = "No" + + return problem, solution + + +def is_prime(max_num=100): + r"""Is Prime + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Is $37$ prime? | Yes | + """ + a = random.randint(2, max_num) + problem = f"Is ${a}$ prime?" + if a == 2: + return problem, "Yes" + if a % 2 == 0: + return problem, "No" + for i in range(3, a // 2 + 1, 2): + if a % i == 0: + return problem, "No" + solution = "Yes" + + return problem, solution + + +def multiplication(max_multi=12): + r"""Multiplication + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $10\cdot9=$ | $90$ | + """ + a = random.randint(0, max_multi) + b = random.randint(0, max_multi) + c = a * b + + return rf'${a}\cdot{b}=$', f'${c}$' + + +def percentage(max_value=99, max_percentage=99): + r"""Percentage of a number + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is $45$% of $39$? | $17.55$ | + """ + a = random.randint(1, max_percentage) + b = random.randint(1, max_value) + problem = f"What is ${a}$% of ${b}$?" + percentage = a / 100 * b + formatted_float = "{:.2f}".format(percentage) + solution = f"${formatted_float}$" + + return problem, solution + + +def percentage_difference(max_value=200, min_value=0): + r"""Percentage difference between two numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the percentage difference between $2$ and $10$? | $133.33$ | + """ + value_a = random.randint(min_value, max_value) + value_b = random.randint(min_value, max_value) + + diff = 2 * (abs(value_a - value_b) / abs(value_a + value_b)) * 100 + diff = round(diff, 2) + + problem = f"What is the percentage difference between ${value_a}$ and ${value_b}$?" + solution = f'${diff}$%' + return problem, solution + + +def percentage_error(max_value=100, min_value=-100): + r"""Percentage error + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the percentage error when observed value equals $32$ and exact value equals $81$. | $60.49$% | + """ + observed_value = random.randint(min_value, max_value) + exact_value = random.randint(min_value, max_value) + + if observed_value * exact_value < 0: + observed_value *= -1 + + error = (abs(observed_value - exact_value) / abs(exact_value)) * 100 + error = round(error, 2) + + problem = f"Find the percentage error when observed value equals ${observed_value}$ and exact value equals ${exact_value}$." + solution = f'${error}$%' + return problem, solution + + +def power_of_powers(max_base=50, max_power=10): + r"""Power of Powers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Simplify $18^{10^{8}}$ | $18^{80}$ | + """ + base = random.randint(1, max_base) + power1 = random.randint(1, max_power) + power2 = random.randint(1, max_power) + step = power1 * power2 + + problem = f"Simplify ${base}^{{{power1}^{{{power2}}}}}$" + solution = f"${base}^{{{step}}}$" + return problem, solution + + +def square(max_square_num=20): + r"""Square + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $17^2=$ | $289$ | + """ + a = random.randint(1, max_square_num) + b = a ** 2 + + return f'${a}^2=$', f'${b}$' + + +def square_root(min_no=1, max_no=12): + r"""Square Root + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\sqrt{64}=$ | $8$ | + """ + b = random.randint(min_no, max_no) + a = b ** 2 + + return rf'$\sqrt{{{a}}}=$', f'${b}$' + + +def subtraction(max_minuend=99, max_diff=99): + r"""Subtraction of two numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $54-22=$ | $32$ | + """ + a = random.randint(0, max_minuend) + b = random.randint(max(0, (a - max_diff)), a) + c = a - b + + return f'${a}-{b}=$', f'${c}$' diff --git a/mathgenerator/calculus.py b/mathgenerator/calculus.py new file mode 100644 index 0000000..9c83591 --- /dev/null +++ b/mathgenerator/calculus.py @@ -0,0 +1,120 @@ +import random +from scipy.integrate import quad +import sympy + + +def definite_integral(max_coef=100): + r"""Definite Integral of Quadratic Equation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The definite integral within limits $0$ to $1$ of the equation $28x^2 + 32x + 66 = $ | $91.33$ | + """ + def integrand(x, a, b, c): + return a * x**2 + b * x + c + + a = random.randint(0, max_coef) + b = random.randint(0, max_coef) + c = random.randint(0, max_coef) + + result = quad(integrand, 0, 1, args=(a, b, c))[0] + solution = round(result, 2) + + problem = f"The definite integral within limits $0$ to $1$ of the equation ${a}x^2 + {b}x + {c} = $" + return problem, f'${solution}$' + + +def power_rule_differentiation(max_coef=10, + max_exp=10, + max_terms=5): + r"""Power Rule Differentiation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Differentiate $1x^{5} + 4x^{7} + 4x^{4}$ | $5x^{4} + 28x^{6} + 16x^{3}$ | + """ + numTerms = random.randint(1, max_terms) + problem = "Differentiate $" + solution = "$" + + for i in range(numTerms): + if i > 0: + problem += " + " + solution += " + " + coefficient = random.randint(1, max_coef) + exponent = random.randint(1, max_exp) + + problem += f'{coefficient}x^{{{exponent}}}' + solution += f'{coefficient * exponent}x^{{{exponent - 1}}}' + + return problem + '$', solution + '$' + + +def power_rule_integration(max_coef=10, + max_exp=10, + max_terms=5): + r"""Power Rule Integration + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Integrate $9x^{6} + 2x^{6} + 4x^{3}$ | $\frac{9}{6}x^{7} + \frac{2}{6}x^{7} + \frac{4}{3}x^{4} + C$ | + """ + numTerms = random.randint(1, max_terms) + problem = "Integrate $" + solution = "$" + + for i in range(numTerms): + if i > 0: + problem += " + " + solution += " + " + coefficient = random.randint(1, max_coef) + exponent = random.randint(1, max_exp) + + problem += f'{coefficient}x^{{{exponent}}}' + solution += rf'\frac{{{coefficient}}}{{{exponent}}}x^{{{exponent + 1}}}' + + solution += " + C" + + return problem + '$', solution + '$' + + +def stationary_points(max_exp=3, max_coef=10): + r"""Stationary Points + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $f(x)=6*x^3 + 6*x^2 + x + 8$ | ${- \frac{1}{3} - \frac{\sqrt{2}}{6}, - \frac{1}{3} + \frac{\sqrt{2}}{6}}$ | + """ + solution = '' + while len(solution) == 0: + x = sympy.symbols('x') + problem = 0 + for exp in range(max_exp + 1): + coefficient = random.randint(0, max_coef) + problem += coefficient * pow(x, exp) + solution = sympy.stationary_points(problem, x) + + problem = 'f(x)=' + str(problem).replace('**', '^') + return f'${problem}$', f'${sympy.latex(solution)[6:-8]}}}$' + + +def trig_differentiation(): + r"""Trigonometric Differentiation + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\frac{d}{dx}(\csc)=$ | $-\csc \cdot \cot$ | + """ + pairs = { + r'\sin': r'\cos', + r'\cos': r'-\sin', + r'\tan': r'\sec^{{2}}', + r'\cot': r'-\csc^{{2}}', + r'\sec': r'\sec \cdot \tan', + r'\csc': r'-\csc \cdot \cot' + } + problem = random.choice(list(pairs.keys())) + solution = f'${pairs[problem]}$' + problem = rf'$\frac{{d}}{{dx}}({problem})=$' + + return problem, solution diff --git a/mathgenerator/computer_science.py b/mathgenerator/computer_science.py new file mode 100644 index 0000000..be12c1f --- /dev/null +++ b/mathgenerator/computer_science.py @@ -0,0 +1,225 @@ +import random +import math + + +def bcd_to_decimal(max_number=10000): + r"""Binary Coded Decimal to Integer + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Integer of Binary Coded Decimal $4 =$ | $17801$ | + """ + n = random.randint(1000, max_number) + binstring = '' + while True: + q, r = divmod(n, 10) + nibble = bin(r).replace('0b', "") + while len(nibble) < 4: + nibble = '0' + nibble + binstring = nibble + binstring + if q == 0: + break + else: + n = q + + problem = f"Integer of Binary Coded Decimal ${n} =$ " + solution = f'${int(binstring, 2)}$' + return problem, solution + + +def binary_2s_complement(maxDigits=10): + r"""Binary 2's Complement + + | Ex. Problem | Ex. Solution | + | --- | --- | + | 2's complement of $1011 = $ | $101$ | + """ + digits = random.randint(1, maxDigits) + question = ''.join([str(random.randint(0, 1)) + for i in range(digits)]).lstrip('0') + + answer = [] + for i in question: + answer.append(str(int(not bool(int(i))))) + + carry = True + j = len(answer) - 1 + while j >= 0: + if answer[j] == '0': + answer[j] = '1' + carry = False + break + answer[j] = '0' + j -= 1 + + if j == 0 and carry is True: + answer.insert(0, '1') + + problem = f"2's complement of ${question} = $" + solution = ''.join(answer).lstrip('0') + return problem, f'${solution}$' + + +def binary_complement_1s(maxDigits=10): + r"""Binary Complement 1s + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $1111001 = $ | $0000110$ | + """ + question = ''.join([str(random.randint(0, 1)) + for _ in range(random.randint(1, maxDigits))]) + answer = ''.join(["0" if digit == "1" else "1" for digit in question]) + + problem = f'${question} = $' + return problem, f'${answer}$' + + +def binary_to_decimal(max_dig=10): + r"""Binary to Decimal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $000110$ | $6$ | + """ + problem = ''.join([str(random.randint(0, 1)) + for _ in range(random.randint(1, max_dig))]) + solution = f'${int(problem, 2)}$' + return f'${problem}$', solution + + +def binary_to_hex(max_dig=10): + r"""Binary to Hexidecimal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $010101$ | $0x15$ | + """ + problem = ''.join([str(random.randint(0, 1)) + for _ in range(random.randint(1, max_dig))]) + solution = f'${hex(int(problem, 2))}$' + return f'${problem}$', solution + + +def decimal_to_bcd(max_number=10000): + r"""Decimal to Binary Coded Decimal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | BCD of Decimal Number $6575 = $ | $191015$ | + """ + n = random.randint(1000, max_number) + x = n + # binstring = '' + bcdstring = '' + while x > 0: + nibble = x % 16 + bcdstring = str(nibble) + bcdstring + x >>= 4 + + problem = f"BCD of Decimal Number ${n} = $" + return problem, f'${bcdstring}$' + + +def decimal_to_binary(max_dec=99): + r"""Decimal to Binary + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Binary of $4 = $ | $100$ | + """ + a = random.randint(1, max_dec) + b = bin(a).replace("0b", "") + + problem = f'Binary of ${a} = $' + solution = f'${b}$' + return problem, solution + + +def decimal_to_hexadeci(max_dec=1000): + r"""Decimal to Hexadecimal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Hexadecimal of $410 = $ | $0x19a$ | + """ + a = random.randint(0, max_dec) + b = hex(a) + + problem = f"Hexadecimal of ${a} = $" + solution = f"${b}$" + return problem, solution + + +def decimal_to_octal(max_decimal=4096): + r"""Decimal to Octal + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The decimal number $3698$ in octal is: | $0o7162$ | + """ + x = random.randint(0, max_decimal) + + problem = f"The decimal number ${x}$ in octal is: " + solution = f'${oct(x)}$' + + return problem, solution + + +def fibonacci_series(min_no=1): + r"""Fibonacci Series + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The Fibonacci Series of the first ${n}$ numbers is ? | $0, 1, 1, 2, 3, 5, 8, 13, 21$ | + """ + n = random.randint(min_no, 20) + + def createFibList(n): + list = [] + for i in range(n): + if i < 2: + list.append(i) + else: + val = list[i - 1] + list[i - 2] + list.append(val) + return list + + fibList = createFibList(n) + + problem = "The Fibonacci Series of the first ${n}$ numbers is ?" + solution = ', '.join(map(str, fibList)) + return problem, f'${solution}$' + + +def modulo_division(max_res=99, max_modulo=99): + r"""Modulo Division + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $43$ % $33 = $ | $10$ | + """ + a = random.randint(0, max_modulo) + b = random.randint(0, min(max_res, max_modulo)) + c = a % b if b != 0 else 0 + + problem = f'${a}$ % ${b} = $' + solution = f'${c}$' + return problem, solution + + +def nth_fibonacci_number(max_n=100): + r"""nth Fibonacci number + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the 85th Fibonacci number? | $259695496911123328$ | + """ + gratio = (1 + math.sqrt(5)) / 2 + n = random.randint(1, max_n) + + problem = f"What is the {n}th Fibonacci number?" + solution = int( + (math.pow(gratio, n) - math.pow(-gratio, -n)) / (math.sqrt(5))) + + return problem, f'${solution}$' diff --git a/mathgenerator/funcs/__init__.py b/mathgenerator/funcs/__init__.py deleted file mode 100644 index c563d37..0000000 --- a/mathgenerator/funcs/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from .algebra import * -from .basic_math import * -from .calculus import * -from .computer_science import * -from .geometry import * -from .misc import * -from .statistics import * diff --git a/mathgenerator/funcs/algebra/__init__.py b/mathgenerator/funcs/algebra/__init__.py deleted file mode 100644 index 83e192f..0000000 --- a/mathgenerator/funcs/algebra/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -from .basic_algebra import basic_algebra -from .combine_like_terms import combine_like_terms -from .complex_quadratic import complex_quadratic -from .compound_interest import compound_interest -from .distance_two_points import distance_two_points -from .expanding import expanding -from .factoring import factoring -from .int_matrix_22_determinant import int_matrix_22_determinant -from .intersection_of_two_lines import intersection_of_two_lines -from .invert_matrix import invert_matrix -from .linear_equations import linear_equations -from .log import log -from .matrix_multiplication import matrix_multiplication -from .midpoint_of_two_points import midpoint_of_two_points -from .multiply_complex_numbers import multiply_complex_numbers -from .multiply_int_to_22_matrix import multiply_int_to_22_matrix -from .quadratic_equation import quadratic_equation -from .simple_interest import simple_interest -from .system_of_equations import system_of_equations -from .vector_cross import vector_cross -from .vector_dot import vector_dot diff --git a/mathgenerator/funcs/algebra/basic_algebra.py b/mathgenerator/funcs/algebra/basic_algebra.py deleted file mode 100644 index 30348f5..0000000 --- a/mathgenerator/funcs/algebra/basic_algebra.py +++ /dev/null @@ -1,30 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVariable=10): - a = random.randint(1, maxVariable) - b = random.randint(1, maxVariable) - c = random.randint(b, maxVariable) - - # calculate gcd - def calculate_gcd(x, y): - while (y): - x, y = y, x % y - return x - - i = calculate_gcd((c - b), a) - x = f"{(c - b)//i}/{a//i}" - - if (c - b == 0): - x = "0" - elif a == 1 or a == i: - x = f"{c - b}" - - problem = f"${a}x + {b} = {c}$" - solution = f"${x}$" - return problem, solution - - -basic_algebra = Generator("Basic Algebra", 11, gen_func, - ["maxVariable=10"]) diff --git a/mathgenerator/funcs/algebra/combine_like_terms.py b/mathgenerator/funcs/algebra/combine_like_terms.py deleted file mode 100644 index 8ba93bf..0000000 --- a/mathgenerator/funcs/algebra/combine_like_terms.py +++ /dev/null @@ -1,24 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxCoef=10, maxExp=20, maxTerms=10): - numTerms = random.randint(1, maxTerms) - - coefs = [random.randint(1, maxCoef) for _ in range(numTerms)] - exponents = [random.randint(1, max(maxExp - 1, 2)) for _ in range(numTerms)] - - problem = " + ".join([f"{coefs[i]}x^{{{exponents[i]}}}" for i in range(numTerms)]) - d = {} - for i in range(numTerms): - if exponents[i] in d: - d[exponents[i]] += coefs[i] - else: - d[exponents[i]] = coefs[i] - solution = " + ".join([f"{d[k]}x^{{{k}}}" for k in sorted(d)]) - - return f'${problem}$', f'${solution}$' - - -combine_like_terms = Generator("Combine Like terms", 105, gen_func, - ["maxCoef=10", "maxExp=20", "maxTerms=10"]) diff --git a/mathgenerator/funcs/algebra/complex_quadratic.py b/mathgenerator/funcs/algebra/complex_quadratic.py deleted file mode 100644 index 2e118b4..0000000 --- a/mathgenerator/funcs/algebra/complex_quadratic.py +++ /dev/null @@ -1,74 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(prob_type=0, max_range=10, format='string'): - if prob_type < 0 or prob_type > 1: - print("prob_type not supported") - print("prob_type = 0 for real roots problems ") - print("prob_tpye = 1 for imaginary roots problems") - return None - if prob_type == 0: - d = -1 - while d < 0: - a = random.randrange(1, max_range) - b = random.randrange(1, max_range) - c = random.randrange(1, max_range) - - d = (b**2 - 4 * a * c) - else: - d = 0 - while d >= 0: - a = random.randrange(1, max_range) - b = random.randrange(1, max_range) - c = random.randrange(1, max_range) - - d = (b**2 - 4 * a * c) - - eq = '' - - if a == 1: - eq += 'x^2 + ' - else: - eq += str(a) + 'x^2 + ' - - if b == 1: - eq += 'x + ' - else: - eq += str(b) + 'x + ' - - eq += str(c) + ' = 0' - - problem = f'Find the roots of given Quadratic Equation ${eq}$' - - if d < 0: - sqrt_d = (-d)**0.5 - - if sqrt_d - int(sqrt_d) == 0: - sqrt_d = int(sqrt_d) - solution = f'(\\frac{{{-b} + {sqrt_d}i}}{{2*{a}}}, \\frac{{{-b} - {sqrt_d}i}}{{2*{a}}})' - else: - solution = f'(\\frac{{{-b} + \\sqrt{{{-d}}}i}}{{2*{a}}}, \\frac{{{-b} - \\sqrt{{{-d}}}i}}{{2*{a}}})' - - return problem, solution - - else: - s_root1 = round((-b + (d)**0.5) / (2 * a), 3) - s_root2 = round((-b - (d)**0.5) / (2 * a), 3) - - sqrt_d = (d)**0.5 - - if sqrt_d - int(sqrt_d) == 0: - sqrt_d = int(sqrt_d) - g_sol = f'(\\frac{{{-b} + {sqrt_d}}}{{2*{a}}}, \\frac{{{-b} - {sqrt_d}}}{{2*{a}}})' - else: - g_sol = f'(\\frac{{{-b} + \\sqrt{{{d}}}}}{{2*{a}}}, (\\frac{{{-b} - \\sqrt{{{d}}}}}{{2*{a}}})' - - solution = f'$({s_root1, s_root2}) = {g_sol}$' - - return problem, solution - - -complex_quadratic = Generator("complex Quadratic Equation", 100, - gen_func, - ["prob_type=0", "max_range=10"]) diff --git a/mathgenerator/funcs/algebra/compound_interest.py b/mathgenerator/funcs/algebra/compound_interest.py deleted file mode 100644 index f8964e6..0000000 --- a/mathgenerator/funcs/algebra/compound_interest.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxPrinciple=10000, - maxRate=10, - maxTime=10): - p = random.randint(1000, maxPrinciple) - r = random.randint(1, maxRate) - n = random.randint(1, maxTime) - a = round(p * (1 + r / 100)**n, 2) - - problem = f"Compound interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${n}$ years is $=$" - return problem, f'${a}$' - - -compound_interest = Generator( - "Compound Interest", 78, gen_func, - ["maxPrinciple=10000", "maxRate=10", "maxTime=10"]) diff --git a/mathgenerator/funcs/algebra/distance_two_points.py b/mathgenerator/funcs/algebra/distance_two_points.py deleted file mode 100644 index 883015d..0000000 --- a/mathgenerator/funcs/algebra/distance_two_points.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValXY=20, minValXY=-20): - point1X = random.randint(minValXY, maxValXY + 1) - point1Y = random.randint(minValXY, maxValXY + 1) - point2X = random.randint(minValXY, maxValXY + 1) - point2Y = random.randint(minValXY, maxValXY + 1) - - distanceSq = (point1X - point2X) ** 2 + (point1Y - point2Y) ** 2 - - solution = f"$\\sqrt{{{distanceSq}}}$" - problem = f"Find the distance between $({point1X}, {point1Y})$ and $({point2X}, {point2Y})$" - return problem, solution - - -distance_two_points = Generator("Distance between 2 points", 24, - gen_func, - ["maxValXY=20", "minValXY=-20"]) diff --git a/mathgenerator/funcs/algebra/expanding.py b/mathgenerator/funcs/algebra/expanding.py deleted file mode 100644 index 31f7955..0000000 --- a/mathgenerator/funcs/algebra/expanding.py +++ /dev/null @@ -1,54 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(range_x1=10, - range_x2=10, - range_a=10, - range_b=10): - x1 = random.randint(-range_x1, range_x1) - x2 = random.randint(-range_x2, range_x2) - a = random.randint(-range_a, range_a) - b = random.randint(-range_b, range_b) - - def intParser(z): - if (z > 0): - return f"+{z}" - elif (z < 0): - return f"-{abs(z)}" - else: - return "" - - c1 = intParser(a * b) - c2 = intParser((a * x2) + (b * x1)) - c3 = intParser(x1 * x2) - - p1 = intParser(a) - p2 = intParser(x1) - p3 = intParser(b) - p4 = intParser(x2) - - if p1 == "+1": - p1 = "" - elif len(p1) > 0 and p1[0] == "+": - p1 = p1[1:] - if p3 == "+1": - p3 = "" - elif p3[0] == "+": - p3 = p3[1:] - - if c1 == "+1": - c1 = "" - elif len(c1) > 0 and c1[0] == "+": - c1 = c1[1:] # Cuts off the plus for readability - if c2 == "+1": - c2 = "" - - problem = f"$({p1}x{p2})({p3}x{p4})$" - solution = f"${c1}x^2{c2}x{c3}$" - return problem, solution - - -expanding = Generator( - "Expanding Factored Binomial", 111, gen_func, - ["range_x1=10", "range_x2=10", "range_a=10", "range_b=10"]) diff --git a/mathgenerator/funcs/algebra/factoring.py b/mathgenerator/funcs/algebra/factoring.py deleted file mode 100644 index f20404c..0000000 --- a/mathgenerator/funcs/algebra/factoring.py +++ /dev/null @@ -1,35 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(range_x1=10, range_x2=10): - """Given a quadratic equation in the form x^2 + bx + c, factor it into it's roots (x - x1)(x -x2)""" - x1 = random.randint(-range_x1, range_x1) - x2 = random.randint(-range_x2, range_x2) - - def intParser(z): - if (z > 0): - return f"+{z}" - elif (z < 0): - return f"-{abs(z)}" - else: - return "" - - b = intParser(x1 + x2) - c = intParser(x1 * x2) - - if b == "+1": - b = "+" - if b == "": - problem = f"x^2{c}" - else: - problem = f"x^2{b}x{c}" - - x1 = intParser(x1) - x2 = intParser(x2) - solution = f"$(x{x1})(x{x2})$" - return f"${problem}$", solution - - -factoring = Generator("Factoring Quadratic", 21, gen_func, - ["range_x1=10", "range_x2=10"]) diff --git a/mathgenerator/funcs/algebra/int_matrix_22_determinant.py b/mathgenerator/funcs/algebra/int_matrix_22_determinant.py deleted file mode 100644 index ba87364..0000000 --- a/mathgenerator/funcs/algebra/int_matrix_22_determinant.py +++ /dev/null @@ -1,22 +0,0 @@ -from ...generator import Generator -from ...latexBuilder import bmatrix -import random - - -def gen_func(maxMatrixVal=100): - a = random.randint(0, maxMatrixVal) - b = random.randint(0, maxMatrixVal) - c = random.randint(0, maxMatrixVal) - d = random.randint(0, maxMatrixVal) - - determinant = a * d - b * c - lst = [[a, b], [c, d]] - - problem = f"$\\det {bmatrix(lst)}= $" - solution = f"${determinant}$" - return problem, solution - - -int_matrix_22_determinant = Generator("Determinant to 2x2 Matrix", 77, - gen_func, - ["maxMatrixVal=100"]) diff --git a/mathgenerator/funcs/algebra/intersection_of_two_lines.py b/mathgenerator/funcs/algebra/intersection_of_two_lines.py deleted file mode 100644 index 3120169..0000000 --- a/mathgenerator/funcs/algebra/intersection_of_two_lines.py +++ /dev/null @@ -1,94 +0,0 @@ -from ...generator import Generator -import random -import fractions - - -def gen_func(minM=-10, - maxM=10, - minB=-10, - maxB=10, - minDenominator=1, - maxDenominator=6): - def generateEquationString(m, b): - """ - Generates an equation given the slope and intercept. - It handles cases where m is fractional. - It also ensures that we don't have weird signs such as y = mx + -b. - """ - if m[0] == 0: - m = 0 - elif abs(m[0]) == abs(m[1]): - m = m[0] // m[1] - elif m[1] == 1: - m = m[0] - else: - m = f"{m[0]}/{m[1]}" - base = "y =" - if m != 0: - if m == 1: - base = f"{base} x" - elif m == -1: - base = f"{base} -x" - else: - base = f"{base} {m}x" - if b > 0: - if m == 0: - return f"{base} {b}" - else: - return f"{base} + {b}" - elif b < 0: - if m == 0: - return f"{base} -{b * -1}" - else: - return f"{base} - {b * -1}" - else: - if m == 0: - return f"{base} 0" - else: - return base - - def fractionToString(x): - """ - Converts the given fractions.Fraction into a string. - """ - if x.denominator == 1: - x = x.numerator - else: - x = f"{x.numerator}/{x.denominator}" - return x - - m1 = (random.randint(minM, - maxM), random.randint(minDenominator, maxDenominator)) - m2 = (random.randint(minM, - maxM), random.randint(minDenominator, maxDenominator)) - - b1 = random.randint(minB, maxB) - b2 = random.randint(minB, maxB) - - eq1 = generateEquationString(m1, b1) - eq2 = generateEquationString(m2, b2) - - problem = f"Find the point of intersection of the two lines: ${eq1}$ and ${eq2}$" - - m1 = fractions.Fraction(*m1) - m2 = fractions.Fraction(*m2) - # if m1 == m2 then the slopes are equal - # This can happen if both line are the same - # Or if they are parallel - # In either case there is no intersection - - if m1 == m2: - solution = "No Solution" - else: - intersection_x = (b1 - b2) / (m2 - m1) - intersection_y = ((m2 * b1) - (m1 * b2)) / (m2 - m1) - solution = f"$({fractionToString(intersection_x)}, {fractionToString(intersection_y)})$" - - return problem, solution - - -intersection_of_two_lines = Generator( - "Intersection of Two Lines", 41, gen_func, [ - "minM=-10", "maxM=10", "minB=-10", "maxB=10", "minDenominator=1", - "maxDenominator=6" - ]) diff --git a/mathgenerator/funcs/algebra/invert_matrix.py b/mathgenerator/funcs/algebra/invert_matrix.py deleted file mode 100644 index 4c785ec..0000000 --- a/mathgenerator/funcs/algebra/invert_matrix.py +++ /dev/null @@ -1,88 +0,0 @@ -from ...generator import Generator -from ...latexBuilder import bmatrix -import random -import math -import sympy - - -def gen_func(SquareMatrixDimension=3, - MaxMatrixElement=99, - OnlyIntegerElementsInInvertedMatrix=True): - if OnlyIntegerElementsInInvertedMatrix is True: - isItOk = False - Mat = list() - while (isItOk is False): - Mat = list() - for i in range(0, SquareMatrixDimension): - z = list() - for j in range(0, SquareMatrixDimension): - z.append(0) - z[i] = 1 - Mat.append(z) - MaxAllowedMatrixElement = math.ceil( - pow(MaxMatrixElement, 1 / (SquareMatrixDimension))) - randomlist = random.sample(range(0, MaxAllowedMatrixElement + 1), - SquareMatrixDimension) - - for i in range(0, SquareMatrixDimension): - if i == SquareMatrixDimension - 1: - Mat[0] = [ - j + (k * randomlist[i]) - for j, k in zip(Mat[0], Mat[i]) - ] - else: - Mat[i + 1] = [ - j + (k * randomlist[i]) - for j, k in zip(Mat[i + 1], Mat[i]) - ] - - for i in range(1, SquareMatrixDimension - 1): - Mat[i] = [ - sum(i) for i in zip(Mat[SquareMatrixDimension - 1], Mat[i]) - ] - - isItOk = True - for i in Mat: - for j in i: - if j > MaxMatrixElement: - isItOk = False - break - if isItOk is False: - break - - random.shuffle(Mat) - Mat = sympy.Matrix(Mat) - Mat = sympy.Matrix.transpose(Mat) - Mat = Mat.tolist() - random.shuffle(Mat) - Mat = sympy.Matrix(Mat) - Mat = sympy.Matrix.transpose(Mat) - - else: - randomlist = list(sympy.primerange(0, MaxMatrixElement + 1)) - plist = random.sample(randomlist, SquareMatrixDimension) - randomlist = random.sample( - range(0, MaxMatrixElement + 1), - SquareMatrixDimension * SquareMatrixDimension) - randomlist = list(set(randomlist) - set(plist)) - n_list = random.sample( - randomlist, SquareMatrixDimension * (SquareMatrixDimension - 1)) - Mat = list() - for i in range(0, SquareMatrixDimension): - z = list() - z.append(plist[i]) - for j in range(0, SquareMatrixDimension - 1): - z.append(n_list[(i * SquareMatrixDimension) + j - i]) - random.shuffle(z) - Mat.append(z) - Mat = sympy.Matrix(Mat) - - problem = 'Inverse of Matrix $' + bmatrix(Mat.tolist()) + '$ is:' - solution = bmatrix(sympy.Matrix.inv(Mat).tolist()) - return problem, solution - - -invert_matrix = Generator("Inverse of a Matrix", 74, gen_func, [ - "SquareMatrixDimension=3", "MaxMatrixElement=99", - "OnlyIntegerElementsInInvertedMatrix=True" -]) diff --git a/mathgenerator/funcs/algebra/linear_equations.py b/mathgenerator/funcs/algebra/linear_equations.py deleted file mode 100644 index dc00837..0000000 --- a/mathgenerator/funcs/algebra/linear_equations.py +++ /dev/null @@ -1,36 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(n=2, varRange=20, coeffRange=20): - if n > 10: - print("[!] n cannot be greater than 10") - return None, None - - vars = ['x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][:n] - soln = [random.randint(-varRange, varRange) for i in range(n)] - problem = list() - solution = "$, $".join( - ["{} = {}".format(vars[i], soln[i]) for i in range(n)]) - - for _ in range(n): - coeff = [random.randint(-coeffRange, coeffRange) for i in range(n)] - res = sum([coeff[i] * soln[i] for i in range(n)]) - prob = [ - "{}{}".format(coeff[i], vars[i]) if coeff[i] != 0 else "" - for i in range(n) - ] - - while "" in prob: - prob.remove("") - prob = " + ".join(prob) + " = " + str(res) - problem.append(prob) - - # problem = "\n".join(problem) - problem = "$ and $".join(problem) - - return f'Given the equations ${problem}$, solve for $x$ and $y$', f'${solution}$' - - -linear_equations = Generator("Linear Equations", 26, gen_func, - ["n=2", "varRange=20", "coeffRange=20"]) diff --git a/mathgenerator/funcs/algebra/log.py b/mathgenerator/funcs/algebra/log.py deleted file mode 100644 index 7c1f7f6..0000000 --- a/mathgenerator/funcs/algebra/log.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxBase=3, maxVal=8, format='string'): - a = random.randint(1, maxVal) - b = random.randint(2, maxBase) - c = pow(b, a) - - problem = f'$log_{{{b}}}({c})=$' - solution = f'${a}$' - return problem, solution - - -log = Generator("Logarithm", 12, gen_func, ["maxBase=3", "maxVal=8"]) diff --git a/mathgenerator/funcs/algebra/matrix_multiplication.py b/mathgenerator/funcs/algebra/matrix_multiplication.py deleted file mode 100644 index 1f93d4f..0000000 --- a/mathgenerator/funcs/algebra/matrix_multiplication.py +++ /dev/null @@ -1,31 +0,0 @@ -from ...generator import Generator -from ...latexBuilder import bmatrix -import random - - -def gen_func(maxVal=100, max_dim=10): - m = random.randint(2, max_dim) - n = random.randint(2, max_dim) - k = random.randint(2, max_dim) - - # generate matrices a and b - a = [[random.randint(-maxVal, maxVal) for _ in range(n)] for _ in range(m)] - b = [[random.randint(-maxVal, maxVal) for _ in range(k)] for _ in range(n)] - - res = [] - for r in range(m): - res.append([]) - for c in range(k): - temp = 0 - for t in range(n): - temp += a[r][t] * b[t][c] - res[r].append(temp) - - problem = f"Multiply ${bmatrix(a)}$ and ${bmatrix(b)}$" - solution = f'${bmatrix(res)}$' - return problem, solution - - -matrix_multiplication = Generator("Multiplication of two matrices", 46, - gen_func, - ["maxVal=100", "max_dim=10"]) diff --git a/mathgenerator/funcs/algebra/midpoint_of_two_points.py b/mathgenerator/funcs/algebra/midpoint_of_two_points.py deleted file mode 100644 index 95db808..0000000 --- a/mathgenerator/funcs/algebra/midpoint_of_two_points.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValue=20): - x1 = random.randint(-20, maxValue) - y1 = random.randint(-20, maxValue) - x2 = random.randint(-20, maxValue) - y2 = random.randint(-20, maxValue) - xm = (x1 + x2) / 2 - ym = (y1 + y2) / 2 - - problem = f"The midpoint of $({x1},{y1})$ and $({x2},{y2}) = $" - solution = f"$({xm},{ym})$" - return problem, solution - - -midpoint_of_two_points = Generator("Midpoint of the two point", 20, - gen_func, ["maxValue=20"]) diff --git a/mathgenerator/funcs/algebra/multiply_complex_numbers.py b/mathgenerator/funcs/algebra/multiply_complex_numbers.py deleted file mode 100644 index dfc6dc4..0000000 --- a/mathgenerator/funcs/algebra/multiply_complex_numbers.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minRealImaginaryNum=-20, - maxRealImaginaryNum=20): - num1 = complex(random.randint(minRealImaginaryNum, maxRealImaginaryNum), - random.randint(minRealImaginaryNum, maxRealImaginaryNum)) - num2 = complex(random.randint(minRealImaginaryNum, maxRealImaginaryNum), - random.randint(minRealImaginaryNum, maxRealImaginaryNum)) - product = num1 * num2 - - problem = f"${num1} * {num2} = $" - solution = f'${product}$' - return problem, solution - - -multiply_complex_numbers = Generator( - "Multiplication of 2 complex numbers", 65, gen_func, - ["minRealImaginaryNum=-20", "maxRealImaginaryNum=20"]) diff --git a/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py b/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py deleted file mode 100644 index 980b9c4..0000000 --- a/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py +++ /dev/null @@ -1,28 +0,0 @@ -from ...generator import Generator -from ...latexBuilder import bmatrix -import random - - -def gen_func(maxMatrixVal=10, maxRes=100, format='string'): - a = random.randint(0, maxMatrixVal) - b = random.randint(0, maxMatrixVal) - c = random.randint(0, maxMatrixVal) - d = random.randint(0, maxMatrixVal) - - constant = random.randint(0, int(maxRes / max(a, b, c, d))) - - a1 = a * constant - b1 = b * constant - c1 = c * constant - d1 = d * constant - lst = [[a, b], [c, d]] - lst1 = [[a1, b1], [c1, d1]] - - problem = f'${constant} * {bmatrix(lst)} =$' - solution = f'${bmatrix(lst1)}$' - return problem, solution - - -multiply_int_to_22_matrix = Generator("Integer Multiplication with 2x2 Matrix", - 17, gen_func, - ["maxMatrixVal=10", "maxRes=100"]) diff --git a/mathgenerator/funcs/algebra/quadratic_equation.py b/mathgenerator/funcs/algebra/quadratic_equation.py deleted file mode 100644 index 8f970b8..0000000 --- a/mathgenerator/funcs/algebra/quadratic_equation.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxVal=100): - a = random.randint(1, maxVal) - c = random.randint(1, maxVal) - b = random.randint( - round(math.sqrt(4 * a * c)) + 1, round(math.sqrt(4 * maxVal * maxVal))) - D = math.sqrt(b * b - 4 * a * c) - res = {round((-b + D) / (2 * a), 2), round((-b - D) / (2 * a), 2)} - - problem = f"What are the zeros of the quadratic equation ${a}x^2+{b}x+{c}=0$" - solution = f'${res}$' - return problem, solution - - -quadratic_equation = Generator("Quadratic Equation", 50, gen_func, - ["maxVal=100"]) diff --git a/mathgenerator/funcs/algebra/simple_interest.py b/mathgenerator/funcs/algebra/simple_interest.py deleted file mode 100644 index 172bd17..0000000 --- a/mathgenerator/funcs/algebra/simple_interest.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxPrinciple=10000, - maxRate=10, - maxTime=10): - p = random.randint(1000, maxPrinciple) - r = random.randint(1, maxRate) - t = random.randint(1, maxTime) - s = round((p * r * t) / 100, 2) - - problem = f"Simple interest for a principle amount of ${p}$ dollars, ${r}$% rate of interest and for a time period of ${t}$ years is $=$ " - solution = f'${s}$' - return problem, solution - - -simple_interest = Generator("Simple Interest", 45, gen_func, - ["maxPrinciple=10000", "maxRate=10", "maxTime=10"]) diff --git a/mathgenerator/funcs/algebra/system_of_equations.py b/mathgenerator/funcs/algebra/system_of_equations.py deleted file mode 100644 index c179b5f..0000000 --- a/mathgenerator/funcs/algebra/system_of_equations.py +++ /dev/null @@ -1,56 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(range_x=10, - range_y=10, - coeff_mult_range=10, - format='string'): - # Generate solution point first - x = random.randint(-range_x, range_x) - y = random.randint(-range_y, range_y) - # Start from reduced echelon form (coeffs 1) - c1 = [1, 0, x] - c2 = [0, 1, y] - - def randNonZero(): - return random.choice( - [i for i in range(-coeff_mult_range, coeff_mult_range) if i != 0]) - - # Add random (non-zero) multiple of equations (rows) to each other - c1_mult = randNonZero() - c2_mult = randNonZero() - new_c1 = [c1[i] + c1_mult * c2[i] for i in range(len(c1))] - new_c2 = [c2[i] + c2_mult * c1[i] for i in range(len(c2))] - # For extra randomness, now add random (non-zero) multiples of original rows - # to themselves - c1_mult = randNonZero() - c2_mult = randNonZero() - new_c1 = [new_c1[i] + c1_mult * c1[i] for i in range(len(c1))] - new_c2 = [new_c2[i] + c2_mult * c2[i] for i in range(len(c2))] - - def coeffToFuncString(coeffs): - # lots of edge cases for perfect formatting! - x_sign = '-' if coeffs[0] < 0 else '' - # No redundant 1s - x_coeff = str(abs(coeffs[0])) if abs(coeffs[0]) != 1 else '' - # If x coeff is 0, dont include x - x_str = f'{x_sign}{x_coeff}x' if coeffs[0] != 0 else '' - # if x isn't included and y is positive, dont include operator - op = ' - ' if coeffs[1] < 0 else (' + ' if x_str != '' else '') - # No redundant 1s - y_coeff = abs(coeffs[1]) if abs(coeffs[1]) != 1 else '' - # Don't include if 0, unless x is also 0 (probably never happens) - y_str = f'{y_coeff}y' if coeffs[1] != 0 else ( - '' if x_str != '' else '0') - return f'{x_str}{op}{y_str} = {coeffs[2]}' - - problem = f"Given ${coeffToFuncString(new_c1)}$ and ${coeffToFuncString(new_c2)}$, solve for $x$ and $y$." - solution = f"$x = {x}$, $y = {y}$" - return problem, solution - # Add random (non-zero) multiple of equations to each other - - -system_of_equations = Generator( - "Solve a System of Equations in R^2", 23, gen_func, - ["range_x=10", "range_y=10", "coeff_mult_range=10"]) diff --git a/mathgenerator/funcs/algebra/vector_cross.py b/mathgenerator/funcs/algebra/vector_cross.py deleted file mode 100644 index 3924241..0000000 --- a/mathgenerator/funcs/algebra/vector_cross.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minVal=-20, maxVal=20): - a = [random.randint(minVal, maxVal) for _ in range(3)] - b = [random.randint(minVal, maxVal) for _ in range(3)] - c = [ - a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], - a[0] * b[1] - a[1] * b[0] - ] - - problem = f"${a} \\times {b} = $" - solution = f"${c}$" - return problem, solution - - -vector_cross = Generator("Cross Product of 2 Vectors", 43, gen_func, - ["minVal=-20", "maxVal=20"]) diff --git a/mathgenerator/funcs/algebra/vector_dot.py b/mathgenerator/funcs/algebra/vector_dot.py deleted file mode 100644 index 26d7de0..0000000 --- a/mathgenerator/funcs/algebra/vector_dot.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minVal=-20, maxVal=20): - a = [random.randint(minVal, maxVal) for i in range(3)] - b = [random.randint(minVal, maxVal) for i in range(3)] - c = a[0] * b[0] + a[1] * b[1] + a[2] * b[2] - - problem = f'${a}\\cdot{b}=$' - solution = f'${c}$' - return problem, solution - - -vector_dot = Generator("Dot Product of 2 Vectors", 72, gen_func, - ["minVal=-20", "maxVal=20"]) diff --git a/mathgenerator/funcs/basic_math/__init__.py b/mathgenerator/funcs/basic_math/__init__.py deleted file mode 100644 index 60e1c1d..0000000 --- a/mathgenerator/funcs/basic_math/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -from .absolute_difference import absolute_difference -from .addition import addition -from .compare_fractions import compare_fractions -from .cube_root import cube_root -from .divide_fractions import divide_fractions -from .division import division -from .exponentiation import exponentiation -from .factorial import factorial -from .fraction_multiplication import fraction_multiplication -from .fraction_to_decimal import fraction_to_decimal -from .greatest_common_divisor import greatest_common_divisor -from .is_composite import is_composite -from .is_prime import is_prime -from .multiplication import multiplication -from .percentage import percentage -from .percentage_difference import percentage_difference -from .percentage_error import percentage_error -from .power_of_powers import power_of_powers -from .square import square -from .square_root import square_root -from .subtraction import subtraction diff --git a/mathgenerator/funcs/basic_math/absolute_difference.py b/mathgenerator/funcs/basic_math/absolute_difference.py deleted file mode 100644 index 783b848..0000000 --- a/mathgenerator/funcs/basic_math/absolute_difference.py +++ /dev/null @@ -1,14 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxA=100, maxB=100): - a = random.randint(-1 * maxA, maxA) - b = random.randint(-1 * maxB, maxB) - absDiff = abs(a - b) - - return f'$|{a}-{b}|=$', f"${absDiff}$" - - -absolute_difference = Generator("Absolute difference between two numbers", 71, - gen_func, ["maxA=100", "maxB=100"]) diff --git a/mathgenerator/funcs/basic_math/addition.py b/mathgenerator/funcs/basic_math/addition.py deleted file mode 100644 index aadc11f..0000000 --- a/mathgenerator/funcs/basic_math/addition.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSum=99, maxAddend=50): - if maxAddend > maxSum: - maxAddend = maxSum - a = random.randint(0, maxAddend) - # The highest value of b will be no higher than the maxsum minus the first number and no higher than the maxAddend as well - b = random.randint(0, min((maxSum - a), maxAddend)) - c = a + b - - problem = f'${a}+{b}=$' - solution = f'${c}$' - return problem, solution - - -addition = Generator("Addition", 0, gen_func, ["maxSum=99", "maxAddend=50"]) diff --git a/mathgenerator/funcs/basic_math/compare_fractions.py b/mathgenerator/funcs/basic_math/compare_fractions.py deleted file mode 100644 index 9039297..0000000 --- a/mathgenerator/funcs/basic_math/compare_fractions.py +++ /dev/null @@ -1,31 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=10): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - c = random.randint(1, maxVal) - d = random.randint(1, maxVal) - - while (a == b): - b = random.randint(1, maxVal) - while (c == d): - d = random.randint(1, maxVal) - - first = a / b - second = c / d - - if (first > second): - solution = ">" - elif (first < second): - solution = "<" - else: - solution = "=" - - problem = f"Which symbol represents the comparison between $\\frac{{{a}}}{{{b}}}$ and $\\frac{{{c}}}{{{d}}}$?" - return problem, solution - - -compare_fractions = Generator("Compare Fractions", 44, gen_func, - ["maxVal=10"]) diff --git a/mathgenerator/funcs/basic_math/cube_root.py b/mathgenerator/funcs/basic_math/cube_root.py deleted file mode 100644 index f96290d..0000000 --- a/mathgenerator/funcs/basic_math/cube_root.py +++ /dev/null @@ -1,12 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minNo=1, maxNo=1000): - b = random.randint(minNo, maxNo) - a = b**(1 / 3) - - return (f"What is the cube root of: $\\sqrt[3]{{{b}}}=$ to 2 decimal places?", f"${round(a, 2)}$") - - -cube_root = Generator("Cube Root", 47, gen_func, ["minNo=1", "maxNo=1000"]) diff --git a/mathgenerator/funcs/basic_math/divide_fractions.py b/mathgenerator/funcs/basic_math/divide_fractions.py deleted file mode 100644 index fe2d6dd..0000000 --- a/mathgenerator/funcs/basic_math/divide_fractions.py +++ /dev/null @@ -1,33 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=10): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - - while (a == b): - b = random.randint(1, maxVal) - - c = random.randint(1, maxVal) - d = random.randint(1, maxVal) - while (c == d): - d = random.randint(1, maxVal) - - def calculate_gcd(x, y): - while (y): - x, y = y, x % y - return x - - tmp_n = a * d - tmp_d = b * c - - gcd = calculate_gcd(tmp_n, tmp_d) - sol_numerator = tmp_n // gcd - sol_denominator = tmp_d // gcd - - return f'$\\frac{{{a}}}{{{b}}}\\div\\frac{{{c}}}{{{d}}}=$', f'$\\frac{{{sol_numerator}}}{{{sol_denominator}}}$' - - -divide_fractions = Generator("Fraction Division", 16, gen_func, - ["maxVal=10"]) diff --git a/mathgenerator/funcs/basic_math/division.py b/mathgenerator/funcs/basic_math/division.py deleted file mode 100644 index 3f77350..0000000 --- a/mathgenerator/funcs/basic_math/division.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxA=25, maxB=25): - a = random.randint(1, maxA) - b = random.randint(1, maxB) - - divisor = a * b - dividend = random.choice([a, b]) - quotient = int(divisor / dividend) - - return f'${divisor}\\div{dividend}=$', f'${quotient}$' - - -division = Generator("Division", 3, gen_func, ["maxA=25", "maxB=25"]) diff --git a/mathgenerator/funcs/basic_math/exponentiation.py b/mathgenerator/funcs/basic_math/exponentiation.py deleted file mode 100644 index 74129a2..0000000 --- a/mathgenerator/funcs/basic_math/exponentiation.py +++ /dev/null @@ -1,13 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxBase=20, maxExpo=10): - base = random.randint(1, maxBase) - expo = random.randint(1, maxExpo) - - return f'${base}^{expo} =$', f'${base**expo}$' - - -exponentiation = Generator("Exponentiation", 53, gen_func, - ["maxBase=20", "maxExpo=10"]) diff --git a/mathgenerator/funcs/basic_math/factorial.py b/mathgenerator/funcs/basic_math/factorial.py deleted file mode 100644 index d579667..0000000 --- a/mathgenerator/funcs/basic_math/factorial.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxInput=6): - a = random.randint(0, maxInput) - n = a - b = 1 - while a != 1 and n > 0: - b *= n - n -= 1 - - return f'${a}! =$', f'${b}$' - - -factorial = Generator("Factorial", 31, gen_func, ["maxInput=6"]) diff --git a/mathgenerator/funcs/basic_math/fraction_multiplication.py b/mathgenerator/funcs/basic_math/fraction_multiplication.py deleted file mode 100644 index e63bc82..0000000 --- a/mathgenerator/funcs/basic_math/fraction_multiplication.py +++ /dev/null @@ -1,36 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=10): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - c = random.randint(1, maxVal) - d = random.randint(1, maxVal) - - while (a == b): - b = random.randint(1, maxVal) - - while (c == d): - d = random.randint(1, maxVal) - - def calculate_gcd(x, y): - while (y): - x, y = y, x % y - return x - - tmp_n = a * c - tmp_d = b * d - - gcd = calculate_gcd(tmp_n, tmp_d) - - problem = f"$\\frac{{{a}}}{{{b}}}\\cdot\\frac{{{c}}}{{{d}}}=$" - if (tmp_d == 1 or tmp_d == gcd): - solution = f"$\\frac{{{tmp_n}}}{{{gcd}}}$" - else: - solution = f"$\\frac{{{tmp_n//gcd}}}{{{tmp_d//gcd}}}$" - return problem, solution - - -fraction_multiplication = Generator("Fraction Multiplication", 28, - gen_func, ["maxVal=10"]) diff --git a/mathgenerator/funcs/basic_math/fraction_to_decimal.py b/mathgenerator/funcs/basic_math/fraction_to_decimal.py deleted file mode 100644 index 05d4cf3..0000000 --- a/mathgenerator/funcs/basic_math/fraction_to_decimal.py +++ /dev/null @@ -1,14 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxRes=99, maxDivid=99): - a = random.randint(0, maxDivid) - b = random.randint(1, min(maxRes, maxDivid)) - c = round(a / b, 2) - - return f'${a}\\div{b}=$', f'${c}$' - - -fraction_to_decimal = Generator("Fraction to Decimal", 13, gen_func, - ["maxRes=99", "maxDivid=99"]) diff --git a/mathgenerator/funcs/basic_math/greatest_common_divisor.py b/mathgenerator/funcs/basic_math/greatest_common_divisor.py deleted file mode 100644 index e7df8e9..0000000 --- a/mathgenerator/funcs/basic_math/greatest_common_divisor.py +++ /dev/null @@ -1,29 +0,0 @@ -from ...generator import Generator -import random - - -def greatestCommonDivisorOfTwoNumbers(number1, number2): - number1 = abs(number1) - number2 = abs(number2) - while number2 > 0: - number1, number2 = number2, number1 % number2 - return number1 - - -def gen_func(numbersCount=2, maximalNumberLimit=10**9): - numbersCount = max(numbersCount, 2) - numbers = [random.randint(0, maximalNumberLimit) - for number in range(numbersCount)] - - greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers( - numbers[0], numbers[1]) - - for index in range(1, numbersCount): - greatestCommonDivisor = greatestCommonDivisorOfTwoNumbers( - numbers[index], greatestCommonDivisor) - - return f'$GCD({",".join(map(str, numbers))})=$', f"${greatestCommonDivisor}$" - - -greatest_common_divisor = Generator("Greatest Common Divisor of N Numbers", 120, gen_func, [ - "numbersCount=2", "maximalNumberLimit=10**9"]) diff --git a/mathgenerator/funcs/basic_math/is_composite.py b/mathgenerator/funcs/basic_math/is_composite.py deleted file mode 100644 index d38ae23..0000000 --- a/mathgenerator/funcs/basic_math/is_composite.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxNum=250): - a = random.randint(2, maxNum) - - problem = f"Is ${a}$ composite?" - if a == 0 or a == 1: - return problem, "No" - for i in range(2, a): - if a % i == 0: - return problem, "Yes" - solution = "No" - - return problem, solution - - -is_composite = Generator('Is Composite', 124, gen_func, ["maxNum=250"]) diff --git a/mathgenerator/funcs/basic_math/is_prime.py b/mathgenerator/funcs/basic_math/is_prime.py deleted file mode 100644 index d0d839c..0000000 --- a/mathgenerator/funcs/basic_math/is_prime.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(max_num=100): - a = random.randint(2, max_num) - problem = f"Is ${a}$ prime?" - if a == 2: - return problem, "Yes" - if a % 2 == 0: - return problem, "No" - for i in range(3, a // 2 + 1, 2): - if a % i == 0: - return problem, "No" - solution = "Yes" - - return problem, solution - - -is_prime = Generator('isprime', 90, gen_func, ["max_num=100"]) diff --git a/mathgenerator/funcs/basic_math/multiplication.py b/mathgenerator/funcs/basic_math/multiplication.py deleted file mode 100644 index e3054ec..0000000 --- a/mathgenerator/funcs/basic_math/multiplication.py +++ /dev/null @@ -1,14 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxMulti=12): - a = random.randint(0, maxMulti) - b = random.randint(0, maxMulti) - c = a * b - - return f'${a}\\cdot{b}$', f'${c}$' - - -multiplication = Generator("Multiplication", 2, gen_func, - ["maxMulti=12"]) diff --git a/mathgenerator/funcs/basic_math/percentage.py b/mathgenerator/funcs/basic_math/percentage.py deleted file mode 100644 index 4702bec..0000000 --- a/mathgenerator/funcs/basic_math/percentage.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValue=99, maxpercentage=99): - a = random.randint(1, maxpercentage) - b = random.randint(1, maxValue) - problem = f"What is ${a}$% of ${b}$?" - percentage = a / 100 * b - formatted_float = "{:.2f}".format(percentage) - solution = f"${formatted_float}$" - - return problem, solution - - -percentage = Generator("Percentage of a number", 80, gen_func, - ["maxValue=99", "maxpercentage=99"]) diff --git a/mathgenerator/funcs/basic_math/percentage_difference.py b/mathgenerator/funcs/basic_math/percentage_difference.py deleted file mode 100644 index 8433da2..0000000 --- a/mathgenerator/funcs/basic_math/percentage_difference.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValue=200, minValue=0): - value_a = random.randint(minValue, maxValue) - value_b = random.randint(minValue, maxValue) - - diff = 2 * (abs(value_a - value_b) / abs(value_a + value_b)) * 100 - diff = round(diff, 2) - - problem = f"What is the percentage difference between ${value_a}$ and ${value_b}$?" - solution = f'${diff}$%' - return problem, solution - - -percentage_difference = Generator("Percentage difference", 118, gen_func, - ["maxValue=200", "minValue=0"]) diff --git a/mathgenerator/funcs/basic_math/percentage_error.py b/mathgenerator/funcs/basic_math/percentage_error.py deleted file mode 100644 index 7e0e206..0000000 --- a/mathgenerator/funcs/basic_math/percentage_error.py +++ /dev/null @@ -1,22 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValue=100, minValue=-100): - observed_value = random.randint(minValue, maxValue) - exact_value = random.randint(minValue, maxValue) - - if observed_value * exact_value < 0: - observed_value *= -1 - - error = (abs(observed_value - exact_value) / abs(exact_value)) * 100 - error = round(error, 2) - - problem = f"Find the percentage error when observed value equals ${observed_value}$ and exact value equals ${exact_value}$." - solution = f'${error}\\%$' - return problem, solution - - -percentage_error = Generator( - "Percentage error", 119, gen_func, - ["maxValue=100", "minValue=-100"]) diff --git a/mathgenerator/funcs/basic_math/power_of_powers.py b/mathgenerator/funcs/basic_math/power_of_powers.py deleted file mode 100644 index 43989d7..0000000 --- a/mathgenerator/funcs/basic_math/power_of_powers.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxBase=50, maxPower=10): - base = random.randint(1, maxBase) - power1 = random.randint(1, maxPower) - power2 = random.randint(1, maxPower) - step = power1 * power2 - - problem = f"Simplify ${base}^{{{power1}^{{{power2}}}}}$" - solution = f"${base}^{{{step}}}$" - return problem, solution - - -power_of_powers = Generator("Power of Powers", 97, gen_func, - ["maxBase=50", "maxPower=10"]) diff --git a/mathgenerator/funcs/basic_math/square.py b/mathgenerator/funcs/basic_math/square.py deleted file mode 100644 index 73519fc..0000000 --- a/mathgenerator/funcs/basic_math/square.py +++ /dev/null @@ -1,12 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSquareNum=20): - a = random.randint(1, maxSquareNum) - b = a ** 2 - - return f'${a}^2=$', f'${b}$' - - -square = Generator("Square", 8, gen_func, ["maxSquareNum=20"]) diff --git a/mathgenerator/funcs/basic_math/square_root.py b/mathgenerator/funcs/basic_math/square_root.py deleted file mode 100644 index 2ee782f..0000000 --- a/mathgenerator/funcs/basic_math/square_root.py +++ /dev/null @@ -1,13 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minNo=1, maxNo=12): - b = random.randint(minNo, maxNo) - a = b ** 2 - - return f'$\\sqrt{{{a}}}=$', f'${b}$' - - -square_root = Generator("Square Root", 6, gen_func, - ["minNo=1", "maxNo=12"]) diff --git a/mathgenerator/funcs/basic_math/subtraction.py b/mathgenerator/funcs/basic_math/subtraction.py deleted file mode 100644 index 4ec8292..0000000 --- a/mathgenerator/funcs/basic_math/subtraction.py +++ /dev/null @@ -1,14 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxMinuend=99, maxDiff=99): - a = random.randint(0, maxMinuend) - b = random.randint(max(0, (a - maxDiff)), a) - c = a - b - - return f'${a}-{b}=$', f'${c}$' - - -subtraction = Generator("Subtraction", 1, gen_func, - ["maxMinuend=99", "maxDiff=99"]) diff --git a/mathgenerator/funcs/calculus/__init__.py b/mathgenerator/funcs/calculus/__init__.py deleted file mode 100644 index 2f30f16..0000000 --- a/mathgenerator/funcs/calculus/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from .definite_integral import definite_integral -from .power_rule_differentiation import power_rule_differentiation -from .power_rule_integration import power_rule_integration -from .stationary_points import stationary_points -from .trig_differentiation import trig_differentiation diff --git a/mathgenerator/funcs/calculus/definite_integral.py b/mathgenerator/funcs/calculus/definite_integral.py deleted file mode 100644 index 94f8ee9..0000000 --- a/mathgenerator/funcs/calculus/definite_integral.py +++ /dev/null @@ -1,23 +0,0 @@ -from ...generator import Generator -import random -from scipy.integrate import quad - - -def gen_func(max_coeff=100): - def integrand(x, a, b, c): - return a * x**2 + b * x + c - - a = random.randint(0, max_coeff) - b = random.randint(0, max_coeff) - c = random.randint(0, max_coeff) - - result = quad(integrand, 0, 1, args=(a, b, c))[0] - S = round(result, 4) - - problem = f"The definite integral within limits $0$ to $1$ of the equation ${a}x^2 + {b}x + {c} = $" - solution = f'${S}$' - return problem, solution - - -definite_integral = Generator("Definite Integral of Quadratic Equation", 89, - gen_func, ["max_coeff=100"]) diff --git a/mathgenerator/funcs/calculus/power_rule_differentiation.py b/mathgenerator/funcs/calculus/power_rule_differentiation.py deleted file mode 100644 index de5615e..0000000 --- a/mathgenerator/funcs/calculus/power_rule_differentiation.py +++ /dev/null @@ -1,27 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxCoef=10, - maxExp=10, - maxTerms=5): - numTerms = random.randint(1, maxTerms) - problem = "$" - solution = "$" - - for i in range(numTerms): - if i > 0: - problem += " + " - solution += " + " - coefficient = random.randint(1, maxCoef) - exponent = random.randint(1, maxExp) - - problem += f'{coefficient}x^{{{exponent}}}' - solution += f'{coefficient * exponent}x^{{{exponent - 1}}}' - - return problem + '$', solution + '$' - - -power_rule_differentiation = Generator( - "Power Rule Differentiation", 7, gen_func, - ["maxCoef=10", "maxExp=10", "maxTerms=5"]) diff --git a/mathgenerator/funcs/calculus/power_rule_integration.py b/mathgenerator/funcs/calculus/power_rule_integration.py deleted file mode 100644 index 948eaa0..0000000 --- a/mathgenerator/funcs/calculus/power_rule_integration.py +++ /dev/null @@ -1,29 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxCoef=10, - maxExp=10, - maxTerms=5): - numTerms = random.randint(1, maxTerms) - problem = "$" - solution = "$" - - for i in range(numTerms): - if i > 0: - problem += " + " - solution += " + " - coefficient = random.randint(1, maxCoef) - exponent = random.randint(1, maxExp) - - problem += f'{coefficient}x^{{{exponent}}}' - solution += f'\\frac{{{coefficient}}}{{{exponent}}}x^{{{exponent + 1}}}' - - solution += " + C" - - return problem + '$', solution + '$' - - -power_rule_integration = Generator("Power Rule Integration", 48, - gen_func, - ["maxCoef=10", "maxExp=10", "maxTerms=5"]) diff --git a/mathgenerator/funcs/calculus/stationary_points.py b/mathgenerator/funcs/calculus/stationary_points.py deleted file mode 100644 index dccf779..0000000 --- a/mathgenerator/funcs/calculus/stationary_points.py +++ /dev/null @@ -1,21 +0,0 @@ -from ...generator import Generator -import random -import sympy - - -def gen_func(maxExp=3, maxCoef=10): - solution = '' - while len(solution) == 0: - x = sympy.symbols('x') - problem = 0 - for exp in range(maxExp + 1): - coefficient = random.randint(0, maxCoef) - problem += coefficient * pow(x, exp) - solution = sympy.stationary_points(problem, x) - - problem = 'f(x)=' + str(problem).replace('**', '^') - return f'${problem}$', f'${sympy.latex(solution)[6:-8]}}}$' - - -stationary_points = Generator("Stationary Points", 110, gen_func, - ["maxExp=3", "maxCoef=10"]) diff --git a/mathgenerator/funcs/calculus/trig_differentiation.py b/mathgenerator/funcs/calculus/trig_differentiation.py deleted file mode 100644 index 1464b74..0000000 --- a/mathgenerator/funcs/calculus/trig_differentiation.py +++ /dev/null @@ -1,22 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(): - pairs = { - '\\sin': '\\cos', - '\\cos': '-\\sin', - '\\tan': '\\sec^{{2}}', - '\\cot': '-\\csc^{{2}}', - '\\sec': '\\sec \\cdot \\tan', - '\\csc': '-\\csc \\cdot \\cot' - } - problem = random.choice(list(pairs.keys())) - solution = f'${pairs[problem]}$' - problem = f'$\\frac{{d}}{{dx}}({problem})=$' - - return problem, solution - - -trig_differentiation = Generator("Trigonometric Differentiation", 88, gen_func, - []) diff --git a/mathgenerator/funcs/computer_science/__init__.py b/mathgenerator/funcs/computer_science/__init__.py deleted file mode 100644 index 720e0c1..0000000 --- a/mathgenerator/funcs/computer_science/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -from .bcd_to_decimal import bcd_to_decimal -from .binary_2s_complement import binary_2s_complement -from .binary_complement_1s import binary_complement_1s -from .binary_to_decimal import binary_to_decimal -from .binary_to_hex import binary_to_hex -from .decimal_to_bcd import decimal_to_bcd -from .decimal_to_binary import decimal_to_binary -from .decimal_to_hexadeci import decimal_to_hexadeci -from .decimal_to_octal import decimal_to_octal -from .fibonacci_series import fibonacci_series -from .modulo_division import modulo_division -from .nth_fibonacci_number import nth_fibonacci_number diff --git a/mathgenerator/funcs/computer_science/bcd_to_decimal.py b/mathgenerator/funcs/computer_science/bcd_to_decimal.py deleted file mode 100644 index 316cdef..0000000 --- a/mathgenerator/funcs/computer_science/bcd_to_decimal.py +++ /dev/null @@ -1,25 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxNumber=10000): - n = random.randint(1000, maxNumber) - binstring = '' - while True: - q, r = divmod(n, 10) - nibble = bin(r).replace('0b', "") - while len(nibble) < 4: - nibble = '0' + nibble - binstring = nibble + binstring - if q == 0: - break - else: - n = q - - problem = f"Integer of Binary Coded Decimal ${n}$ is $=$ " - solution = f'${int(binstring, 2)}$' - return problem, solution - - -bcd_to_decimal = Generator("Binary Coded Decimal to Integer", 91, - gen_func, ["maxNumber=10000"]) diff --git a/mathgenerator/funcs/computer_science/binary_2s_complement.py b/mathgenerator/funcs/computer_science/binary_2s_complement.py deleted file mode 100644 index a66b0ba..0000000 --- a/mathgenerator/funcs/computer_science/binary_2s_complement.py +++ /dev/null @@ -1,33 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxDigits=10): - digits = random.randint(1, maxDigits) - question = ''.join([str(random.randint(0, 1)) - for i in range(digits)]).lstrip('0') - - answer = [] - for i in question: - answer.append(str(int(not bool(int(i))))) - - carry = True - j = len(answer) - 1 - while j >= 0: - if answer[j] == '0': - answer[j] = '1' - carry = False - break - answer[j] = '0' - j -= 1 - - if j == 0 and carry is True: - answer.insert(0, '1') - - problem = f"2's complement of ${question} = $" - solution = ''.join(answer).lstrip('0') - return problem, f'${solution}$' - - -binary_2s_complement = Generator("Binary 2's Complement", 73, - gen_func, ["maxDigits=10"]) diff --git a/mathgenerator/funcs/computer_science/binary_complement_1s.py b/mathgenerator/funcs/computer_science/binary_complement_1s.py deleted file mode 100644 index 2badb80..0000000 --- a/mathgenerator/funcs/computer_science/binary_complement_1s.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxDigits=10): - question = '' - answer = '' - - for _ in range(random.randint(1, maxDigits)): - temp = str(random.randint(0, 1)) - question += temp - answer += "0" if temp == "1" else "1" - - problem = f'${question} = $' - return problem, f'${answer}$' - - -binary_complement_1s = Generator("Binary Complement 1s", 4, - gen_func, ["maxDigits=10"]) diff --git a/mathgenerator/funcs/computer_science/binary_to_decimal.py b/mathgenerator/funcs/computer_science/binary_to_decimal.py deleted file mode 100644 index d03d977..0000000 --- a/mathgenerator/funcs/computer_science/binary_to_decimal.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(max_dig=10): - problem = '' - - for _ in range(random.randint(1, max_dig)): - temp = str(random.randint(0, 1)) - problem += temp - - solution = f'${int(problem, 2)}$' - return f'${problem}$', solution - - -binary_to_decimal = Generator("Binary to Decimal", 15, gen_func, - ["max_dig=10"]) diff --git a/mathgenerator/funcs/computer_science/binary_to_hex.py b/mathgenerator/funcs/computer_science/binary_to_hex.py deleted file mode 100644 index 8d70a3d..0000000 --- a/mathgenerator/funcs/computer_science/binary_to_hex.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(max_dig=10): - problem = '' - for _ in range(random.randint(1, max_dig)): - temp = str(random.randint(0, 1)) - problem += temp - - solution = f'${hex(int(problem, 2))}$' - return f'${problem}$', solution - - -binary_to_hex = Generator("Binary to Hexidecimal", 64, gen_func, - ["max_dig=10"]) diff --git a/mathgenerator/funcs/computer_science/decimal_to_bcd.py b/mathgenerator/funcs/computer_science/decimal_to_bcd.py deleted file mode 100644 index 1d78c0b..0000000 --- a/mathgenerator/funcs/computer_science/decimal_to_bcd.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxNumber=10000): - n = random.randint(1000, maxNumber) - x = n - # binstring = '' - bcdstring = '' - while x > 0: - nibble = x % 16 - bcdstring = str(nibble) + bcdstring - x >>= 4 - - problem = f"BCD of Decimal Number ${n} = $" - return problem, f'${bcdstring}$' - - -decimal_to_bcd = Generator("Decimal to Binary Coded Decimal", 103, - gen_func, ["maxNumber=10000"]) diff --git a/mathgenerator/funcs/computer_science/decimal_to_binary.py b/mathgenerator/funcs/computer_science/decimal_to_binary.py deleted file mode 100644 index 280659a..0000000 --- a/mathgenerator/funcs/computer_science/decimal_to_binary.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(max_dec=99): - a = random.randint(1, max_dec) - b = bin(a).replace("0b", "") - - problem = f'Binary of ${a} = $' - solution = f'${b}$' - return problem, solution - - -decimal_to_binary = Generator("Decimal to Binary", 14, gen_func, - ["max_dec=99"]) diff --git a/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py b/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py deleted file mode 100644 index 7329585..0000000 --- a/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(max_dec=1000): - a = random.randint(0, max_dec) - b = hex(a) - - problem = f"Binary of ${a} = $" - solution = f"${b}$" - return problem, solution - - -decimal_to_hexadeci = Generator("Decimal to Hexadecimal", 79, gen_func, - ["max_dec=1000"]) diff --git a/mathgenerator/funcs/computer_science/decimal_to_octal.py b/mathgenerator/funcs/computer_science/decimal_to_octal.py deleted file mode 100644 index 9fe1be6..0000000 --- a/mathgenerator/funcs/computer_science/decimal_to_octal.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxDecimal=4096): - x = random.randint(0, maxDecimal) - - problem = "The decimal number ${x}$ in Octal is: " - solution = f'${oct(x)}$' - - return problem, solution - - -decimal_to_octal = Generator("Converts decimal to octal", 84, - gen_func, ["maxDecimal=4096"]) diff --git a/mathgenerator/funcs/computer_science/fibonacci_series.py b/mathgenerator/funcs/computer_science/fibonacci_series.py deleted file mode 100644 index 7592f4b..0000000 --- a/mathgenerator/funcs/computer_science/fibonacci_series.py +++ /dev/null @@ -1,26 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minNo=1): - n = random.randint(minNo, 20) - - def createFibList(n): - list = [] - for i in range(n): - if i < 2: - list.append(i) - else: - val = list[i - 1] + list[i - 2] - list.append(val) - return list - - fibList = createFibList(n) - - problem = "The Fibonacci Series of the first ${n}$ numbers is ?" - solution = ', '.join(map(str, fibList)) - return problem, f'${solution}$' - - -fibonacci_series = Generator("Fibonacci Series", 56, gen_func, - ["minNo=1"]) diff --git a/mathgenerator/funcs/computer_science/modulo_division.py b/mathgenerator/funcs/computer_science/modulo_division.py deleted file mode 100644 index ebb1acb..0000000 --- a/mathgenerator/funcs/computer_science/modulo_division.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxRes=99, maxModulo=99): - a = random.randint(0, maxModulo) - b = random.randint(0, min(maxRes, maxModulo)) - c = a % b if b != 0 else 0 - - problem = f'${a}$ % ${b} = $' - solution = f'${c}$' - return problem, solution - - -modulo_division = Generator("Modulo Division", 5, gen_func, - ["maxRes=99", "maxModulo=99"]) diff --git a/mathgenerator/funcs/computer_science/nth_fibonacci_number.py b/mathgenerator/funcs/computer_science/nth_fibonacci_number.py deleted file mode 100644 index 5876fc9..0000000 --- a/mathgenerator/funcs/computer_science/nth_fibonacci_number.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxN=100): - gratio = (1 + math.sqrt(5)) / 2 - n = random.randint(1, maxN) - - problem = f"What is the {n}th Fibonacci number?" - solution = int((math.pow(gratio, n) - math.pow(-gratio, -n)) / (math.sqrt(5))) - - return problem, f'${solution}$' - - -nth_fibonacci_number = Generator("nth Fibonacci number", 62, - gen_func, ["maxN=100"]) diff --git a/mathgenerator/funcs/geometry/__init__.py b/mathgenerator/funcs/geometry/__init__.py deleted file mode 100644 index 085c2a5..0000000 --- a/mathgenerator/funcs/geometry/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -from .angle_btw_vectors import angle_btw_vectors -from .angle_regular_polygon import angle_regular_polygon -from .arc_length import arc_length -from .area_of_circle import area_of_circle -from .area_of_circle_given_center_and_point import area_of_circle_given_center_and_point -from .area_of_triangle import area_of_triangle -from .basic_trigonometry import basic_trigonometry -from .circumference import circumference -from .complementary_and_supplementary_angle import complementary_and_supplementary_angle -from .curved_surface_area_cylinder import curved_surface_area_cylinder -from .degree_to_rad import degree_to_rad -from .equation_of_line_from_two_points import equation_of_line_from_two_points -from .fourth_angle_of_quadrilateral import fourth_angle_of_quadrilateral -from .perimeter_of_polygons import perimeter_of_polygons -from .pythagorean_theorem import pythagorean_theorem -from .radian_to_deg import radian_to_deg -from .sector_area import sector_area -from .sum_of_polygon_angles import sum_of_polygon_angles -from .surface_area_cone import surface_area_cone -from .surface_area_cube import surface_area_cube -from .surface_area_cuboid import surface_area_cuboid -from .surface_area_cylinder import surface_area_cylinder -from .surface_area_pyramid import surface_area_pyramid -from .surface_area_sphere import surface_area_sphere -from .third_angle_of_triangle import third_angle_of_triangle -from .valid_triangle import valid_triangle -from .volume_cone import volume_cone -from .volume_cube import volume_cube -from .volume_cuboid import volume_cuboid -from .volume_cylinder import volume_cylinder -from .volume_frustum import volume_frustum -from .volume_hemisphere import volume_hemisphere -from .volume_pyramid import volume_pyramid -from .volume_sphere import volume_sphere diff --git a/mathgenerator/funcs/geometry/angle_btw_vectors.py b/mathgenerator/funcs/geometry/angle_btw_vectors.py deleted file mode 100644 index bf7a889..0000000 --- a/mathgenerator/funcs/geometry/angle_btw_vectors.py +++ /dev/null @@ -1,33 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxEltAmt=20): - s = 0 - v1 = [ - round(random.uniform(0, 1000), 2) - for i in range(random.randint(2, maxEltAmt)) - ] - v2 = [round(random.uniform(0, 1000), 2) for i in v1] - for i in range(len(v1)): - s += v1[i] * v2[i] - - mags = math.sqrt(sum([i**2 - for i in v1])) * math.sqrt(sum([i**2 for i in v2])) - solution = '' - ans = 0 - try: - ans = round(math.acos(s / mags), 2) - solution = f"${ans}$ radians" - except ValueError: - print('angleBtwVectorsFunc has some issues with math module, line 16') - solution = 'NaN' - ans = 'NaN' - # would return the answer in radians - problem = f"angle between the vectors ${v1}$ and ${v2}$ is:" - return problem, solution - - -angle_btw_vectors = Generator("Angle between 2 vectors", 70, - gen_func, ["maxEltAmt=20"]) diff --git a/mathgenerator/funcs/geometry/angle_regular_polygon.py b/mathgenerator/funcs/geometry/angle_regular_polygon.py deleted file mode 100644 index 2cb245b..0000000 --- a/mathgenerator/funcs/geometry/angle_regular_polygon.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minVal=3, maxVal=20, format='string'): - sideNum = random.randint(minVal, maxVal) - problem = f"Find the angle of a regular polygon with ${sideNum}$ sides" - - exteriorAngle = round((360 / sideNum), 2) - solution = f'${180 - exteriorAngle}$' - - return problem, solution - - -angle_regular_polygon = Generator("Angle of a Regular Polygon", 29, - gen_func, - ["minVal=3", "maxVal=20"]) diff --git a/mathgenerator/funcs/geometry/arc_length.py b/mathgenerator/funcs/geometry/arc_length.py deleted file mode 100644 index d94afb4..0000000 --- a/mathgenerator/funcs/geometry/arc_length.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=49, maxAngle=359): - radius = random.randint(1, maxRadius) - angle = random.randint(1, maxAngle) - angle_arc_length = float((angle / 360) * 2 * math.pi * radius) - formatted_float = "{:.5f}".format(angle_arc_length) - - problem = f"Given radius, ${radius}$ and angle, ${angle}$. Find the arc length of the angle." - solution = f"Arc length of the angle $= {formatted_float}$" - return problem, solution - - -arc_length = Generator("Arc length of Angle", 108, gen_func, - ["maxRadius=49", "maxAngle=359"]) diff --git a/mathgenerator/funcs/geometry/area_of_circle.py b/mathgenerator/funcs/geometry/area_of_circle.py deleted file mode 100644 index b11d1d2..0000000 --- a/mathgenerator/funcs/geometry/area_of_circle.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random -from math import pi - - -def gen_func(maxRadius=100): - r = random.randint(0, maxRadius) - area = round(pi * r * r, 2) - - problem = f'Area of circle with radius ${r}=$' - return problem, f'${area}$' - - -area_of_circle = Generator("Area of Circle", 112, gen_func, - ["maxRadius=100"]) diff --git a/mathgenerator/funcs/geometry/area_of_circle_given_center_and_point.py b/mathgenerator/funcs/geometry/area_of_circle_given_center_and_point.py deleted file mode 100644 index f736eb0..0000000 --- a/mathgenerator/funcs/geometry/area_of_circle_given_center_and_point.py +++ /dev/null @@ -1,23 +0,0 @@ -from ...generator import Generator -import random -from math import cos, sin, pi - - -def gen_func(maxCoordinate=10, maxRadius=10): - r = random.randint(0, maxRadius) - center_x = random.randint(-maxCoordinate, maxCoordinate) - center_y = random.randint(-maxCoordinate, maxCoordinate) - - angle = random.choice([0, pi // 6, pi // 2, pi, pi + pi // 6, 3 * pi // 2]) - - point_x = center_x + round(r * cos(angle), 2) - point_y = center_y + round(r * sin(angle), 2) - - area = round(pi * r * r, 2) - - problem = f"Area of circle with center $({center_x},{center_y})$ and passing through $({point_x}, {point_y})$ is" - return problem, f'${area}$' - - -area_of_circle_given_center_and_point = Generator("Area of Circle given center and a point on circle", 115, gen_func, - ["maxCoordinate = 10", "maxRadius=10"]) diff --git a/mathgenerator/funcs/geometry/area_of_triangle.py b/mathgenerator/funcs/geometry/area_of_triangle.py deleted file mode 100644 index 13ca5e2..0000000 --- a/mathgenerator/funcs/geometry/area_of_triangle.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxA=20, maxB=20): - a = random.randint(1, maxA) - b = random.randint(1, maxB) - c = random.randint(abs(b - a) + 1, abs(a + b) - 1) - - s = (a + b + c) / 2 - area = (s * (s - a) * (s - b) * (s - c))**0.5 - - problem = f"Area of triangle with side lengths: ${a}, {b} {c} = $" - solution = f'${round(area, 2)}$' - return problem, solution - - -area_of_triangle = Generator("Area of Triangle", 18, gen_func, - ["maxA=20", "maxB=20"]) diff --git a/mathgenerator/funcs/geometry/basic_trigonometry.py b/mathgenerator/funcs/geometry/basic_trigonometry.py deleted file mode 100644 index 647ea22..0000000 --- a/mathgenerator/funcs/geometry/basic_trigonometry.py +++ /dev/null @@ -1,33 +0,0 @@ -from ...generator import Generator -import random -import math - - -# Handles degrees in quadrant one -def gen_func(angles=[0, 30, 45, 60, 90], - functions=["sin", "cos", "tan"]): - angle = random.choice(angles) - function = random.choice(functions) - - problem = f"$\\{function}({angle}) = $" - - expression = 'math.' + function + '(math.radians(angle))' - result_fraction_map = { - 0.0: "0", - 0.5: "\\frac{1}{2}", - 0.71: "\\frac{1}{\\sqrt{2}}", - 0.87: "\\frac{\\sqrt{3}}{2}", - 1.0: "1", - 0.58: "\\frac{1}{\\sqrt{3}}", - 1.73: "\\sqrt{3}", - } - - solution = result_fraction_map[round(eval(expression), 2)] if round( - eval(expression), 2) <= 99999 else "\\infty" # for handling the ∞ condition - - return problem, f'${solution}$' - - -basic_trigonometry = Generator( - "Trigonometric Values", 57, gen_func, - ["angles=[0, 30, 45, 60, 90]", "functions=['sin', 'cos', 'tan']"]) diff --git a/mathgenerator/funcs/geometry/circumference.py b/mathgenerator/funcs/geometry/circumference.py deleted file mode 100644 index 850a600..0000000 --- a/mathgenerator/funcs/geometry/circumference.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=100): - r = random.randint(0, maxRadius) - circumference = round(2 * math.pi * r, 2) - - problem = f"Circumference of circle with radius ${r} = $" - return problem, f'${circumference}$' - - -circumference = Generator("Circumference", 104, gen_func, - ["maxRadius=100"]) diff --git a/mathgenerator/funcs/geometry/complementary_and_supplementary_angle.py b/mathgenerator/funcs/geometry/complementary_and_supplementary_angle.py deleted file mode 100644 index c734f16..0000000 --- a/mathgenerator/funcs/geometry/complementary_and_supplementary_angle.py +++ /dev/null @@ -1,26 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSupp=180, maxComp=90, format='string'): - angleType = random.choice(["supplementary", "complementary"]) - - if angleType == "supplementary": - angle = random.randint(1, maxSupp) - angleAns = 180 - angle - else: - angle = random.randint(1, maxComp) - angleAns = 90 - angle - - if format == 'string': - problem = f"The {angleType} angle of {angle} =" - solution = angleAns - return problem, solution - elif format == 'latex': - return "Latex unavailable" - else: - return angleType, angle, angleAns - - -complementary_and_supplementary_angle = Generator("Complementary and Supplementary Angle", 125, - gen_func, ["maxSupp=180", "maxComp=90"]) diff --git a/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py b/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py deleted file mode 100644 index a56f0e0..0000000 --- a/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=49, maxHeight=99): - r = random.randint(1, maxRadius) - h = random.randint(1, maxHeight) - csa = float(2 * math.pi * r * h) - formatted_float = round(csa, 2) # "{:.5f}".format(csa) - - problem = f"What is the curved surface area of a cylinder of radius, ${r}$ and height, ${h}$?" - solution = f"${formatted_float}$" - return problem, solution - - -curved_surface_area_cylinder = Generator("Curved surface area of a cylinder", - 95, gen_func, - ["maxRadius=49", "maxHeight=99"]) diff --git a/mathgenerator/funcs/geometry/degree_to_rad.py b/mathgenerator/funcs/geometry/degree_to_rad.py deleted file mode 100644 index 905accc..0000000 --- a/mathgenerator/funcs/geometry/degree_to_rad.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(max_deg=360): - a = random.randint(0, max_deg) - b = (math.pi * a) / 180 - b = round(b, 2) - - problem = f"Angle ${a}$ degrees in radians is: " - solution = f'${b}$' - return problem, solution - - -degree_to_rad = Generator("Degrees to Radians", 86, gen_func, - ["max_deg=360"]) diff --git a/mathgenerator/funcs/geometry/equation_of_line_from_two_points.py b/mathgenerator/funcs/geometry/equation_of_line_from_two_points.py deleted file mode 100644 index 5eaf9a2..0000000 --- a/mathgenerator/funcs/geometry/equation_of_line_from_two_points.py +++ /dev/null @@ -1,62 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxCoordinate=20, minCoordinate=-20): - x1 = random.randint(minCoordinate, maxCoordinate) - x2 = random.randint(minCoordinate, maxCoordinate) - - y1 = random.randint(minCoordinate, maxCoordinate) - y2 = random.randint(minCoordinate, maxCoordinate) - - coeff_y = (x2 - x1) - coeff_x = (y2 - y1) - constant = y2 * coeff_y - x2 * coeff_x - - gcd = math.gcd(abs(coeff_x), abs(coeff_y)) - - if gcd != 1: - if coeff_y > 0: - coeff_y //= gcd - if coeff_x > 0: - coeff_x //= gcd - if constant > 0: - constant //= gcd - if coeff_y < 0: - coeff_y = -(-coeff_y // gcd) - if coeff_x < 0: - coeff_x = -(-coeff_x // gcd) - if constant < 0: - constant = -(-constant // gcd) - if coeff_y < 0: - coeff_y = -(coeff_y) - coeff_x = -(coeff_x) - constant = -(constant) - if coeff_x in [1, -1]: - if coeff_x == 1: - coeff_x = '' - else: - coeff_x = '-' - if coeff_y in [1, -1]: - if coeff_y == 1: - coeff_y = '' - else: - coeff_y = '-' - - problem = f"What is the equation of the line between points $({x1},{y1})$ and $({x2},{y2})$ in slope-intercept form?" - if coeff_x == 0: - solution = str(coeff_y) + "y = " + str(constant) - elif coeff_y == 0: - solution = str(coeff_x) + "x = " + str(-constant) - else: - if constant > 0: - solution = str(coeff_y) + "y = " + str(coeff_x) + "x + " + str(constant) - else: - solution = str(coeff_y) + "y = " + str(coeff_x) + "x " + str(constant) - return problem, f'${solution}$' - - -equation_of_line_from_two_points = Generator( - "Equation of line from two points", 114, gen_func, - ["maxCoordinate=20", "minCoordinate=-20"]) diff --git a/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py b/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py deleted file mode 100644 index af48471..0000000 --- a/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxAngle=180): - angle1 = random.randint(1, maxAngle) - angle2 = random.randint(1, 240 - angle1) - angle3 = random.randint(1, 340 - (angle1 + angle2)) - - sum_ = angle1 + angle2 + angle3 - angle4 = 360 - sum_ - - problem = f"Fourth angle of quadrilateral with angles ${angle1} , {angle2}, {angle3} =$" - solution = f'${angle4}$' - return problem, solution - - -fourth_angle_of_quadrilateral = Generator("Fourth Angle of Quadrilateral", 49, - gen_func, - ["maxAngle=180"]) diff --git a/mathgenerator/funcs/geometry/perimeter_of_polygons.py b/mathgenerator/funcs/geometry/perimeter_of_polygons.py deleted file mode 100644 index 69c520a..0000000 --- a/mathgenerator/funcs/geometry/perimeter_of_polygons.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSides=12, maxLength=120): - size_of_sides = random.randint(3, maxSides) - sides = [random.randint(1, maxLength) for _ in range(size_of_sides)] - - problem = f"The perimeter of a ${size_of_sides}$ sided polygon with lengths of ${', '.join(map(str, sides))}$cm is: " - solution = sum(sides) - - return problem, f'${solution}$' - - -perimeter_of_polygons = Generator("Perimeter of Polygons", 96, - gen_func, - ["maxSides=12", "maxLength=120"]) diff --git a/mathgenerator/funcs/geometry/pythagorean_theorem.py b/mathgenerator/funcs/geometry/pythagorean_theorem.py deleted file mode 100644 index b54327a..0000000 --- a/mathgenerator/funcs/geometry/pythagorean_theorem.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxLength=20): - a = random.randint(1, maxLength) - b = random.randint(1, maxLength) - c = round((a ** 2 + b ** 2) ** 0.5, 2) - - problem = f"What is the hypotenuse of a right triangle given the other two sides have lengths ${a}$ and ${b}$?" - solution = f"${c}$" - return problem, solution - - -pythagorean_theorem = Generator("Pythagorean Theorem", 25, - gen_func, ["maxLength=20"]) diff --git a/mathgenerator/funcs/geometry/radian_to_deg.py b/mathgenerator/funcs/geometry/radian_to_deg.py deleted file mode 100644 index 8db9f6e..0000000 --- a/mathgenerator/funcs/geometry/radian_to_deg.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(max_rad=6.28): - a = random.randint(0, int(max_rad * 100)) / 100 - b = round((180 * a) / math.pi, 2) - - problem = f"Angle ${a}$ radians in degrees is: " - solution = f'${b}$' - return problem, solution - - -radian_to_deg = Generator("Radians to Degrees", 87, gen_func, - ["max_rad=6.28"]) diff --git a/mathgenerator/funcs/geometry/sector_area.py b/mathgenerator/funcs/geometry/sector_area.py deleted file mode 100644 index d9af3ef..0000000 --- a/mathgenerator/funcs/geometry/sector_area.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=49, maxAngle=359): - r = random.randint(1, maxRadius) - a = random.randint(1, maxAngle) - secArea = float((a / 360) * math.pi * r * r) - formatted_float = round(secArea, 2) - - problem = f"What is the area of a sector with radius ${r}$ and angle ${a}$ degrees?" - solution = f"${formatted_float}$" - return problem, solution - - -sector_area = Generator("Area of a Sector", 75, gen_func, - ["maxRadius=49", "maxAngle=359"]) diff --git a/mathgenerator/funcs/geometry/sum_of_polygon_angles.py b/mathgenerator/funcs/geometry/sum_of_polygon_angles.py deleted file mode 100644 index f1bd2bb..0000000 --- a/mathgenerator/funcs/geometry/sum_of_polygon_angles.py +++ /dev/null @@ -1,14 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSides=12): - side_count = random.randint(3, maxSides) - sum = (side_count - 2) * 180 - - problem = f"What is the sum of interior angles of a polygon with ${side_count}$ sides?" - return problem, f'${sum}$' - - -sum_of_polygon_angles = Generator("Sum of Angles of Polygon", 58, - gen_func, ["maxSides=12"]) diff --git a/mathgenerator/funcs/geometry/surface_area_cone.py b/mathgenerator/funcs/geometry/surface_area_cone.py deleted file mode 100644 index 63237d3..0000000 --- a/mathgenerator/funcs/geometry/surface_area_cone.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=20, maxHeight=50, unit='m'): - a = random.randint(1, maxHeight) - b = random.randint(1, maxRadius) - - slopingHeight = math.sqrt(a**2 + b**2) - ans = int(math.pi * b * slopingHeight + math.pi * b * b) - - problem = f"Surface area of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_cone = Generator("Surface Area of cone", 38, gen_func, - ["maxRadius=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/surface_area_cube.py b/mathgenerator/funcs/geometry/surface_area_cube.py deleted file mode 100644 index 646f5d3..0000000 --- a/mathgenerator/funcs/geometry/surface_area_cube.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSide=20, unit='m'): - a = random.randint(1, maxSide) - ans = 6 * (a ** 2) - - problem = f"Surface area of cube with side $= {a}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_cube = Generator("Surface Area of Cube", 32, gen_func, - ["maxSide=20", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/surface_area_cuboid.py b/mathgenerator/funcs/geometry/surface_area_cuboid.py deleted file mode 100644 index ac22070..0000000 --- a/mathgenerator/funcs/geometry/surface_area_cuboid.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSide=20, unit='m'): - a = random.randint(1, maxSide) - b = random.randint(1, maxSide) - c = random.randint(1, maxSide) - ans = 2 * (a * b + b * c + c * a) - - problem = f"Surface area of cuboid with sides of lengths: ${a}{unit}, {b}{unit}, {c}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_cuboid = Generator("Surface Area of Cuboid", 33, - gen_func, ["maxSide=20", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/surface_area_cylinder.py b/mathgenerator/funcs/geometry/surface_area_cylinder.py deleted file mode 100644 index d169c27..0000000 --- a/mathgenerator/funcs/geometry/surface_area_cylinder.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=20, maxHeight=50, unit='m'): - a = random.randint(1, maxHeight) - b = random.randint(1, maxRadius) - ans = int(2 * math.pi * a * b + 2 * math.pi * b * b) - - problem = f"Surface area of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_cylinder = Generator("Surface Area of Cylinder", 34, - gen_func, - ["maxRadius=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/surface_area_pyramid.py b/mathgenerator/funcs/geometry/surface_area_pyramid.py deleted file mode 100644 index c2f74e4..0000000 --- a/mathgenerator/funcs/geometry/surface_area_pyramid.py +++ /dev/null @@ -1,42 +0,0 @@ -from ...generator import Generator -import random - -# List of Pythagorean triplets -_PYTHAGOREAN = [(3, 4, 5), - (6, 8, 10), - (9, 12, 15), - (12, 16, 20), - (15, 20, 25), - - (5, 12, 13), - (10, 24, 26), - - (7, 24, 25)] - - -def gen_func(unit='m'): - # Generate first triplet - height, half_width, triangle_height_1 = random.sample(random.choice(_PYTHAGOREAN), 3) - - # Calculate first triangle's area - triangle_1 = half_width * triangle_height_1 - - # Generate second triplet - second_triplet = random.choice([i for i in _PYTHAGOREAN if height in i]) - half_length, triangle_height_2 = random.sample(tuple(i for i in second_triplet if i != height), 2) - - # Calculate second triangle's area - triangle_2 = half_length * triangle_height_2 - - # Calculate base area - base = 4 * half_width * half_length - - ans = base + 2 * triangle_1 + 2 * triangle_2 - - problem = f"Surface area of pyramid with base length $= {2*half_length}{unit}$, base width $= {2*half_width}{unit}$, and height $= {height}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_pyramid = Generator("Surface area of pyramid", 123, gen_func, - ["unit='m'"]) diff --git a/mathgenerator/funcs/geometry/surface_area_sphere.py b/mathgenerator/funcs/geometry/surface_area_sphere.py deleted file mode 100644 index 58a8d25..0000000 --- a/mathgenerator/funcs/geometry/surface_area_sphere.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxSide=20, unit='m'): - r = random.randint(1, maxSide) - ans = 4 * math.pi * r * r - - problem = f"Surface area of Sphere with radius $= {r}{unit}$ is" - solution = f"${ans} {unit}^2$" - return problem, solution - - -surface_area_sphere = Generator("Surface Area of Sphere", 60, - gen_func, ["maxSide=20", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/third_angle_of_triangle.py b/mathgenerator/funcs/geometry/third_angle_of_triangle.py deleted file mode 100644 index b63b240..0000000 --- a/mathgenerator/funcs/geometry/third_angle_of_triangle.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxAngle=89): - angle1 = random.randint(1, maxAngle) - angle2 = random.randint(1, maxAngle) - angle3 = 180 - (angle1 + angle2) - - problem = f"Third angle of triangle with angles ${angle1}$ and ${angle2} = $" - return problem, f'${angle3}$' - - -third_angle_of_triangle = Generator("Third Angle of Triangle", 22, - gen_func, ["maxAngle=89"]) diff --git a/mathgenerator/funcs/geometry/valid_triangle.py b/mathgenerator/funcs/geometry/valid_triangle.py deleted file mode 100644 index 6f5ecb0..0000000 --- a/mathgenerator/funcs/geometry/valid_triangle.py +++ /dev/null @@ -1,22 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSideLength=50): - sideA = random.randint(1, maxSideLength) - sideB = random.randint(1, maxSideLength) - sideC = random.randint(1, maxSideLength) - - sideSums = [sideA + sideB, sideB + sideC, sideC + sideA] - sides = [sideC, sideA, sideB] - - exists = True & (sides[0] < sideSums[0]) & (sides[1] < sideSums[1]) & ( - sides[2] < sideSums[2]) - - problem = f"Does triangle with sides ${sideA}, {sideB}$ and ${sideC}$ exist?" - solution = "Yes" if exists else "No" - return problem, f'${solution}$' - - -valid_triangle = Generator("Triangle exists check", 19, gen_func, - ["maxSideLength=50"]) diff --git a/mathgenerator/funcs/geometry/volume_cone.py b/mathgenerator/funcs/geometry/volume_cone.py deleted file mode 100644 index 2b94fdb..0000000 --- a/mathgenerator/funcs/geometry/volume_cone.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=20, maxHeight=50, unit='m'): - a = random.randint(1, maxHeight) - b = random.randint(1, maxRadius) - ans = int(math.pi * b * b * a * (1 / 3)) - - problem = f"Volume of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is" - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_cone = Generator("Volume of cone", 39, gen_func, - ["maxRadius=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_cube.py b/mathgenerator/funcs/geometry/volume_cube.py deleted file mode 100644 index aab57b5..0000000 --- a/mathgenerator/funcs/geometry/volume_cube.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSide=20, unit='m'): - a = random.randint(1, maxSide) - ans = a**3 - - problem = f"Volume of cube with a side length of ${a}{unit}$ is" - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_cube = Generator("Volume of Cube", 35, gen_func, - ["maxSide=20", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_cuboid.py b/mathgenerator/funcs/geometry/volume_cuboid.py deleted file mode 100644 index 157b952..0000000 --- a/mathgenerator/funcs/geometry/volume_cuboid.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxSide=20, unit='m'): - a = random.randint(1, maxSide) - b = random.randint(1, maxSide) - c = random.randint(1, maxSide) - ans = a * b * c - - problem = f"Volume of cuboid with sides = ${a}{unit}, {b}{unit}, {c}{unit}$ is" - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_cuboid = Generator("Volume of Cuboid", 36, gen_func, - ["maxSide=20", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_cylinder.py b/mathgenerator/funcs/geometry/volume_cylinder.py deleted file mode 100644 index 88fd612..0000000 --- a/mathgenerator/funcs/geometry/volume_cylinder.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=20, maxHeight=50, unit='m'): - a = random.randint(1, maxHeight) - b = random.randint(1, maxRadius) - ans = int(math.pi * b * b * a) - - problem = f"Volume of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is" - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_cylinder = Generator("Volume of cylinder", 37, gen_func, - ["maxRadius=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_frustum.py b/mathgenerator/funcs/geometry/volume_frustum.py deleted file mode 100644 index 07c87f7..0000000 --- a/mathgenerator/funcs/geometry/volume_frustum.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxR1=20, maxR2=20, maxHeight=50, unit='m'): - h = random.randint(1, maxHeight) - r1 = random.randint(1, maxR1) - r2 = random.randint(1, maxR2) - ans = ((math.pi * h) * (r1 ** 2 + r2 ** 2 + r1 * r2)) // 3 - - problem = f"Volume of frustum with height $= {h}{unit}$ and $r1 = {r1}{unit}$ is and $r2 = {r1}{unit}$ is " - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_frustum = Generator("Volume of frustum", 113, gen_func, - ["maxR1=20", "maxR2=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_hemisphere.py b/mathgenerator/funcs/geometry/volume_hemisphere.py deleted file mode 100644 index 5db9a7e..0000000 --- a/mathgenerator/funcs/geometry/volume_hemisphere.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=100): - r = random.randint(1, maxRadius) - ans = round((2 * math.pi / 3) * r**3, 3) - - problem = f"Volume of hemisphere with radius ${r} m =$ " - solution = f"${ans} m^3$" - return problem, solution - - -volume_hemisphere = Generator("Volume of Hemisphere", 117, gen_func, - ["maxRadius=100"]) diff --git a/mathgenerator/funcs/geometry/volume_pyramid.py b/mathgenerator/funcs/geometry/volume_pyramid.py deleted file mode 100644 index 2a119da..0000000 --- a/mathgenerator/funcs/geometry/volume_pyramid.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxLength=20, maxWidth=20, maxHeight=50, unit='m'): - length = random.randint(1, maxLength) - width = random.randint(1, maxWidth) - height = random.randint(1, maxHeight) - - ans = (length * width * height) / 3 - - problem = f"Volume of pyramid with base length $= {length} {unit}$, base width $= {width} {unit}$ and height $= {height} {unit}$ is" - solution = f"${ans} {unit}^3$" - return problem, solution - - -volume_pyramid = Generator("Volume of pyramid", 122, gen_func, - ["maxLength=20", "maxWidth=20", "maxHeight=50", "unit='m'"]) diff --git a/mathgenerator/funcs/geometry/volume_sphere.py b/mathgenerator/funcs/geometry/volume_sphere.py deleted file mode 100644 index 689425c..0000000 --- a/mathgenerator/funcs/geometry/volume_sphere.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxRadius=100): - r = random.randint(1, maxRadius) - ans = (4 * math.pi / 3) * r**3 - - problem = f"Volume of sphere with radius ${r} m = $" - solution = f"${ans} m^3$" - return problem, solution - - -volume_sphere = Generator("Volume of Sphere", 61, gen_func, - ["maxRadius=100"]) diff --git a/mathgenerator/funcs/misc/__init__.py b/mathgenerator/funcs/misc/__init__.py deleted file mode 100644 index 3e88173..0000000 --- a/mathgenerator/funcs/misc/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -from .arithmetic_progression_sum import arithmetic_progression_sum -from .arithmetic_progression_term import arithmetic_progression_term -from .base_conversion import base_conversion -from .binomial_distribution import binomial_distribution -from .celsius_to_fahrenheit import celsius_to_fahrenheit -from .common_factors import common_factors -from .complex_to_polar import complex_to_polar -from .decimal_to_roman_numerals import decimal_to_roman_numerals -from .euclidian_norm import euclidian_norm -from .factors import factors -from .gcd import gcd -from .geometric_mean import geometric_mean -from .geometric_progression import geometric_progression -from .harmonic_mean import harmonic_mean -from .hcf import hcf -from .is_leap_year import is_leap_year -from .lcm import lcm -from .minutes_to_hours import minutes_to_hours -from .prime_factors import prime_factors -from .product_of_scientific_notations import product_of_scientific_notations -from .profit_loss_percent import profit_loss_percent -from .quotient_of_power_same_base import quotient_of_power_same_base -from .quotient_of_power_same_power import quotient_of_power_same_power -from .set_operation import set_operation -from .signum_function import signum_function -from .surds_comparison import surds_comparison diff --git a/mathgenerator/funcs/misc/arithmetic_progression_sum.py b/mathgenerator/funcs/misc/arithmetic_progression_sum.py deleted file mode 100644 index cd0e9dc..0000000 --- a/mathgenerator/funcs/misc/arithmetic_progression_sum.py +++ /dev/null @@ -1,23 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxd=100, - maxa=100, - maxn=100): - d = random.randint(-1 * maxd, maxd) - a1 = random.randint(-1 * maxa, maxa) - a2 = a1 + d - a3 = a1 + 2 * d - n = random.randint(4, maxn) - apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' - an = a1 + (n - 1) * d - solution = n * (a1 + an) / 2 - - problem = f'Find the sum of first ${n}$ terms of the AP series: ${apString}$' - return problem, f'${solution}$' - - -arithmetic_progression_sum = Generator("AP Sum Calculation", 83, - gen_func, - ["maxd=100", "maxa=100", "maxn=100"]) diff --git a/mathgenerator/funcs/misc/arithmetic_progression_term.py b/mathgenerator/funcs/misc/arithmetic_progression_term.py deleted file mode 100644 index a9dc8e1..0000000 --- a/mathgenerator/funcs/misc/arithmetic_progression_term.py +++ /dev/null @@ -1,22 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxd=100, - maxa=100, - maxn=100): - d = random.randint(-1 * maxd, maxd) - a1 = random.randint(-1 * maxa, maxa) - a2 = a1 + d - a3 = a2 + d - n = random.randint(4, maxn) - apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' - solution = a1 + ((n - 1) * d) - - problem = f'Find term number ${n}$ of the AP series: ${apString}$' - return problem, f'${solution}$' - - -arithmetic_progression_term = Generator("AP Term Calculation", 82, - gen_func, - ["maxd=100", "maxa=100", "maxn=100"]) diff --git a/mathgenerator/funcs/misc/base_conversion.py b/mathgenerator/funcs/misc/base_conversion.py deleted file mode 100644 index b64b4a6..0000000 --- a/mathgenerator/funcs/misc/base_conversion.py +++ /dev/null @@ -1,58 +0,0 @@ -from ...generator import Generator -import random - - -# base from 2 to 36 -alpha = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" - - -def fromBaseTenTo(n, toBase): - assert type( - toBase - ) == int and toBase >= 2 and toBase <= 36, "toBase({}) must be >=2 and <=36" - # trivial cases - if toBase == 2: - return bin(n)[2:] - elif toBase == 8: - return oct(n)[2:] - elif toBase == 10: - return str(n) - elif toBase == 16: - return hex(n)[2:].upper() - res = alpha[n % toBase] - n = n // toBase - while n > 0: - res = alpha[n % toBase] + res - n = n // toBase - return res - - -# Useful to check answers, but not needed here -# def toBaseTen(n,fromBase): -# return int(n,fromBase) - - -def gen_func(maxNum=60000, maxBase=16): - assert type( - maxNum - ) == int and maxNum >= 100 and maxNum <= 65536, "maxNum({}) must be >=100 and <=65536".format( - maxNum) - assert type( - maxBase - ) == int and maxBase >= 2 and maxBase <= 36, "maxBase({}) must be >= 2 and <=36".format( - maxBase) - - n = random.randint(40, maxNum) - dist = [10] * 10 + [2] * 5 + [16] * 5 + [i for i in range(2, maxBase + 1)] - # set this way since converting to/from bases 2,10,16 are more common -- can be changed if needed. - bases = random.choices(dist, k=2) - while bases[0] == bases[1]: - bases = random.choices(dist, k=2) - - problem = f"Convert ${fromBaseTenTo(n, bases[0])}$ from base ${bases[0]}$ to base ${bases[1]}$." - ans = fromBaseTenTo(n, bases[1]) - return problem, f'${ans}$' - - -base_conversion = Generator("Base Conversion", 94, gen_func, - ["maxNum=60000", "maxBase=16"]) diff --git a/mathgenerator/funcs/misc/binomial_distribution.py b/mathgenerator/funcs/misc/binomial_distribution.py deleted file mode 100644 index 02bd079..0000000 --- a/mathgenerator/funcs/misc/binomial_distribution.py +++ /dev/null @@ -1,38 +0,0 @@ -from ...generator import Generator -import random - - -def factorial(n): - if n == 1 or n == 0: - return 1 - else: - return n * factorial(n - 1) - - -def newton_symbol(n, k): - return factorial(n) / (factorial(k) * factorial(n - k)) - - -def gen_func(): - rejected_fraction = float(random.randint(30, 40)) + random.random() - batch = random.randint(10, 20) - rejections = random.randint(1, 9) - - answer = 0 - rejected_fraction = round(rejected_fraction, 2) - for i in range(0, rejections + 1): - answer += newton_symbol(float(batch), float(i)) * ((rejected_fraction / 100.) ** float(i)) * \ - ((1 - (rejected_fraction / 100.)) ** (float(batch) - float(i))) - - answer = round(100 * answer, 2) - - problem = "A manufacturer of metal pistons finds that, on average, ${0:}$% "\ - "of the pistons they manufacture are rejected because " \ - "they are incorrectly sized. What is the probability that a "\ - "batch of ${1:}$ pistons will contain no more than ${2:}$ " \ - "rejected pistons?".format(rejected_fraction, batch, rejections) - return problem, f'${answer}$' - - -binomial_distribution = Generator("Binomial distribution", 109, - gen_func, [""]) diff --git a/mathgenerator/funcs/misc/celsius_to_fahrenheit.py b/mathgenerator/funcs/misc/celsius_to_fahrenheit.py deleted file mode 100644 index a6ce24a..0000000 --- a/mathgenerator/funcs/misc/celsius_to_fahrenheit.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxTemp=100): - celsius = random.randint(-50, maxTemp) - fahrenheit = (celsius * (9 / 5)) + 32 - - problem = f"Convert ${celsius}$ degrees Celsius to degrees Fahrenheit" - solution = f'${fahrenheit}$' - return problem, solution - - -celsius_to_fahrenheit = Generator("Celsius To Fahrenheit", 81, - gen_func, ["maxTemp=100"]) diff --git a/mathgenerator/funcs/misc/common_factors.py b/mathgenerator/funcs/misc/common_factors.py deleted file mode 100644 index e842754..0000000 --- a/mathgenerator/funcs/misc/common_factors.py +++ /dev/null @@ -1,29 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=100): - a = x = random.randint(1, maxVal) - b = y = random.randint(1, maxVal) - - if (x < y): - min = x - else: - min = y - - count = 0 - arr = [] - - for i in range(1, min + 1): - if (x % i == 0): - if (y % i == 0): - count = count + 1 - arr.append(i) - - problem = f"Common Factors of ${a}$ and ${b} = $" - solution = f'${arr}$' - return problem, solution - - -common_factors = Generator("Common Factors", 40, gen_func, - ["maxVal=100"]) diff --git a/mathgenerator/funcs/misc/complex_to_polar.py b/mathgenerator/funcs/misc/complex_to_polar.py deleted file mode 100644 index cdf7f7f..0000000 --- a/mathgenerator/funcs/misc/complex_to_polar.py +++ /dev/null @@ -1,21 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(minRealImaginaryNum=-20, - maxRealImaginaryNum=20): - num = complex(random.randint(minRealImaginaryNum, maxRealImaginaryNum), - random.randint(minRealImaginaryNum, maxRealImaginaryNum)) - a = num.real - b = num.imag - r = round(math.hypot(a, b), 2) - theta = round(math.atan2(b, a), 2) - - problem = f'${r}({a}\\theta + i{b}\\theta)$' - return problem, f'${theta}$' - - -complex_to_polar = Generator( - "Complex To Polar Form", 92, gen_func, - ["minRealImaginaryNum=-20, maxRealImaginaryNum=20"]) diff --git a/mathgenerator/funcs/misc/decimal_to_roman_numerals.py b/mathgenerator/funcs/misc/decimal_to_roman_numerals.py deleted file mode 100644 index d507ab5..0000000 --- a/mathgenerator/funcs/misc/decimal_to_roman_numerals.py +++ /dev/null @@ -1,41 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxDecimal=4000): - x = random.randint(0, maxDecimal) - roman_dict = { - 1: "I", - 5: "V", - 10: "X", - 50: "L", - 100: "C", - 500: "D", - 1000: "M" - } - div = 1 - while x >= div: - div *= 10 - div /= 10 - solution = "" - while x: - last_value = int(x / div) - if last_value <= 3: - solution += (roman_dict[div] * last_value) - elif last_value == 4: - solution += (roman_dict[div] + roman_dict[div * 5]) - elif 5 <= last_value <= 8: - solution += (roman_dict[div * 5] + (roman_dict[div] * (last_value - 5))) - elif last_value == 9: - solution += (roman_dict[div] + roman_dict[div * 10]) - x = math.floor(x % div) - div /= 10 - - problem = f"The number ${x}$ in Roman Numerals is: " - return problem, f'${solution}$' - - -decimal_to_roman_numerals = Generator("Converts decimal to Roman Numerals", 85, - gen_func, - ["maxDecimal=4000"]) diff --git a/mathgenerator/funcs/misc/euclidian_norm.py b/mathgenerator/funcs/misc/euclidian_norm.py deleted file mode 100644 index cf04db4..0000000 --- a/mathgenerator/funcs/misc/euclidian_norm.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxEltAmt=20): - vec = [ - random.uniform(0, 1000) for i in range(random.randint(2, maxEltAmt)) - ] - solution = round(math.sqrt(sum([i**2 for i in vec])), 2) - - problem = f"Euclidian norm or L2 norm of the vector ${vec}$ is:" - return problem, f'${solution}$' - - -euclidian_norm = Generator("Euclidian norm or L2 norm of a vector", 69, - gen_func, ["maxEltAmt=20"]) diff --git a/mathgenerator/funcs/misc/factors.py b/mathgenerator/funcs/misc/factors.py deleted file mode 100644 index cf85b94..0000000 --- a/mathgenerator/funcs/misc/factors.py +++ /dev/null @@ -1,27 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=1000): - n = random.randint(1, maxVal) - - factors = [] - - for i in range(1, int(n**0.5) + 1): - if i**2 == n: - factors.append(i) - elif n % i == 0: - factors.append(i) - factors.append(n // i) - else: - pass - - factors.sort() - - problem = f"Factors of ${n} = $" - solution = factors - return problem, f'${solution}$' - - -factors = Generator("Factors of a number", 116, gen_func, - ["maxVal=1000"]) diff --git a/mathgenerator/funcs/misc/gcd.py b/mathgenerator/funcs/misc/gcd.py deleted file mode 100644 index bdab242..0000000 --- a/mathgenerator/funcs/misc/gcd.py +++ /dev/null @@ -1,18 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=20): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - x, y = a, b - while y: - x, y = y, x % y - - problem = f"GCD of ${a}$ and ${b} = $" - solution = f'${x}$' - return problem, solution - - -gcd = Generator("GCD (Greatest Common Denominator)", 10, gen_func, - ["maxVal=20"]) diff --git a/mathgenerator/funcs/misc/geometric_mean.py b/mathgenerator/funcs/misc/geometric_mean.py deleted file mode 100644 index 71e3422..0000000 --- a/mathgenerator/funcs/misc/geometric_mean.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random -import numpy as np - - -def gen_func(maxValue=100, maxCount=4): - count = random.randint(2, maxCount) - nums = [random.randint(1, maxValue) for i in range(count)] - product = np.prod(nums) - - ans = round(product ** (1 / count), 2) - problem = f"Geometric mean of ${count}$ numbers ${nums} = $" - # solution = f"$({'*'.join(map(str, nums))}^{{\\frac{{1}}{{{count}}}}} = {ans}$" - solution = f"${ans}$" - return problem, solution - - -geometric_mean = Generator("Geometric Mean of N Numbers", 67, - gen_func, ["maxValue=100", "maxCount=4"]) diff --git a/mathgenerator/funcs/misc/geometric_progression.py b/mathgenerator/funcs/misc/geometric_progression.py deleted file mode 100644 index 588c7e2..0000000 --- a/mathgenerator/funcs/misc/geometric_progression.py +++ /dev/null @@ -1,28 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(number_values=6, - min_value=2, - max_value=12, - n_term=7, - sum_term=5): - r = random.randint(min_value, max_value) - a = random.randint(min_value, max_value) - n_term = random.randint(number_values, number_values + 5) - sum_term = random.randint(number_values, number_values + 5) - GP = [] - for i in range(number_values): - GP.append(a * (r**i)) - value_nth_term = a * (r**(n_term - 1)) - sum_till_nth_term = a * ((r**sum_term - 1) / (r - 1)) - - problem = f"For the given GP ${GP}$. Find the value of a common ratio, {n_term}th term value, sum upto {sum_term}th term" - solution = "The value of a is ${}$, common ratio is ${}$ , {}th term is ${}$, sum upto {}th term is ${}$".format( - a, r, n_term, value_nth_term, sum_term, sum_till_nth_term) - return problem, solution - - -geometric_progression = Generator("Geometric Progression", 66, gen_func, [ - "number_values=6", "min_value=2", "max_value=12", "n_term=7", "sum_term=5" -]) diff --git a/mathgenerator/funcs/misc/harmonic_mean.py b/mathgenerator/funcs/misc/harmonic_mean.py deleted file mode 100644 index c3ea146..0000000 --- a/mathgenerator/funcs/misc/harmonic_mean.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxValue=100, maxCount=4): - count = random.randint(2, maxCount) - nums = [random.randint(1, maxValue) for _ in range(count)] - sum = 0 - for num in nums: - sum += (1 / num) - ans = num / sum - - problem = f"Harmonic mean of ${count}$ numbers ${', '.join(map(str, nums))} = $" - solution = f"${ans}$" - return problem, solution - - -harmonic_mean = Generator("Harmonic Mean of N Numbers", 68, gen_func, - ["maxValue=100", "maxNum=4"]) diff --git a/mathgenerator/funcs/misc/hcf.py b/mathgenerator/funcs/misc/hcf.py deleted file mode 100644 index 2d9bc01..0000000 --- a/mathgenerator/funcs/misc/hcf.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=20): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - x, y = a, b - while (y): - x, y = y, x % y - - problem = f"HCF of ${a}$ and ${b} = $" - solution = f'${x}$' - return problem, solution - - -hcf = Generator("HCF (Highest Common Factor)", 51, gen_func, ["maxVal=20"]) diff --git a/mathgenerator/funcs/misc/is_leap_year.py b/mathgenerator/funcs/misc/is_leap_year.py deleted file mode 100644 index 14c6c54..0000000 --- a/mathgenerator/funcs/misc/is_leap_year.py +++ /dev/null @@ -1,24 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minNumber=1900, maxNumber=2099): - year = random.randint(minNumber, maxNumber) - problem = f"Is {year} a leap year?" - if (year % 4) == 0: - if (year % 100) == 0: - if (year % 400) == 0: - ans = True - else: - ans = False - else: - ans = True - else: - ans = False - - solution = f"{year} is{' not' if not ans else ''} a leap year" - return problem, solution - - -is_leap_year = Generator("Leap Year or Not", 101, gen_func, - ["minNumber=1900", "maxNumber=2099"]) diff --git a/mathgenerator/funcs/misc/lcm.py b/mathgenerator/funcs/misc/lcm.py deleted file mode 100644 index 03aa13c..0000000 --- a/mathgenerator/funcs/misc/lcm.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxVal=20): - a = random.randint(1, maxVal) - b = random.randint(1, maxVal) - c = a * b - x, y = a, b - - while y: - x, y = y, x % y - d = c // x - - problem = f"LCM of ${a}$ and ${b} =$" - solution = f'${d}$' - return problem, solution - - -lcm = Generator("LCM (Least Common Multiple)", 9, gen_func, ["maxVal=20"]) diff --git a/mathgenerator/funcs/misc/minutes_to_hours.py b/mathgenerator/funcs/misc/minutes_to_hours.py deleted file mode 100644 index 43d0ac0..0000000 --- a/mathgenerator/funcs/misc/minutes_to_hours.py +++ /dev/null @@ -1,16 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxMinutes=999): - minutes = random.randint(1, maxMinutes) - ansHours = minutes // 60 - ansMinutes = minutes % 60 - - problem = f"Convert ${minutes}$ minutes to hours & minutes" - solution = f"${ansHours}$ hours and ${ansMinutes}$ minutes" - return problem, solution - - -minutes_to_hours = Generator("Minute to Hour conversion", 102, - gen_func, ["maxMinutes=999"]) diff --git a/mathgenerator/funcs/misc/prime_factors.py b/mathgenerator/funcs/misc/prime_factors.py deleted file mode 100644 index f9e5496..0000000 --- a/mathgenerator/funcs/misc/prime_factors.py +++ /dev/null @@ -1,27 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minVal=1, maxVal=200): - a = random.randint(minVal, maxVal) - n = a - i = 2 - factors = [] - - while i * i <= n: - if n % i: - i += 1 - else: - n //= i - factors.append(i) - - if n > 1: - factors.append(n) - - problem = f"Find prime factors of ${a}$" - solution = f"${', '.join(map(str, factors))}$" - return problem, solution - - -prime_factors = Generator("Prime Factorisation", 27, gen_func, - ["minVal=1", "maxVal=200"]) diff --git a/mathgenerator/funcs/misc/product_of_scientific_notations.py b/mathgenerator/funcs/misc/product_of_scientific_notations.py deleted file mode 100644 index 3d5dda5..0000000 --- a/mathgenerator/funcs/misc/product_of_scientific_notations.py +++ /dev/null @@ -1,20 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minExpVal=-100, maxExpVal=100): - a = [round(random.uniform(1, 10), 2), random.randint(minExpVal, maxExpVal)] - b = [round(random.uniform(1, 10), 2), random.randint(minExpVal, maxExpVal)] - c = [a[0] * b[0], a[1] + b[1]] - - if c[0] >= 10: - c[0] /= 10 - c[1] += 1 - - problem = f"Product of scientific notations ${a[0]} \\times 10^{{{a[1]}}}$ and ${b[0]} \\times 10^{{{b[1]}}} = $" - solution = f'${round(c[0], 2)} \\times 10^{{{c[1]}}}$' - return problem, solution - - -product_of_scientific_notations = Generator("Product of scientific notations", 121, gen_func, - ["minExpVal=-100", "maxExpVal=100"]) diff --git a/mathgenerator/funcs/misc/profit_loss_percent.py b/mathgenerator/funcs/misc/profit_loss_percent.py deleted file mode 100644 index 35567c4..0000000 --- a/mathgenerator/funcs/misc/profit_loss_percent.py +++ /dev/null @@ -1,21 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxCP=1000, maxSP=1000): - cP = random.randint(1, maxCP) - sP = random.randint(1, maxSP) - diff = abs(sP - cP) - if (sP - cP >= 0): - profitOrLoss = "Profit" - else: - profitOrLoss = "Loss" - percent = round(diff / cP * 100, 2) - - problem = f"{profitOrLoss} percent when $CP = {cP}$ and $SP = {sP}$ is: " - return problem, f'${percent}$' - - -profit_loss_percent = Generator("Profit or Loss Percent", 63, - gen_func, - ["maxCP=1000", "maxSP=1000"]) diff --git a/mathgenerator/funcs/misc/quotient_of_power_same_base.py b/mathgenerator/funcs/misc/quotient_of_power_same_base.py deleted file mode 100644 index 2a3d00d..0000000 --- a/mathgenerator/funcs/misc/quotient_of_power_same_base.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxBase=50, maxPower=10): - base = random.randint(1, maxBase) - power1 = random.randint(1, maxPower) - power2 = random.randint(1, maxPower) - step = power1 - power2 - solution = base ** step - - problem = f"The Quotient of ${base}^{{{power1}}}$ and ${base}^{{{power2}}} = " \ - f"${base}^{{{power1}-{power2}}} = {base}^{{{step}}}$" - return problem, f'${solution}$' - - -quotient_of_power_same_base = Generator("Quotient of Powers with Same Base", - 98, gen_func, - ["maxBase=50", "maxPower=10"]) diff --git a/mathgenerator/funcs/misc/quotient_of_power_same_power.py b/mathgenerator/funcs/misc/quotient_of_power_same_power.py deleted file mode 100644 index 8d6be1d..0000000 --- a/mathgenerator/funcs/misc/quotient_of_power_same_power.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxBase=50, maxPower=10): - base1 = random.randint(1, maxBase) - base2 = random.randint(1, maxBase) - power = random.randint(1, maxPower) - step = base1 / base2 - solution = step ** power - - problem = f"The Quotient of ${base1}^{{{power}}}$ and ${base2}^{{{power}}} = " \ - f"({base1}/{base2})^{power} = {step}^{{{power}}}$" - return problem, f'${solution}$' - - -quotient_of_power_same_power = Generator("Quotient of Powers with Same Power", - 99, gen_func, - ["maxBase=50", "maxPower=10"]) diff --git a/mathgenerator/funcs/misc/set_operation.py b/mathgenerator/funcs/misc/set_operation.py deleted file mode 100644 index 80d5091..0000000 --- a/mathgenerator/funcs/misc/set_operation.py +++ /dev/null @@ -1,27 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(minval=3, maxval=7, n_a=4, n_b=5): - number_variables_a = random.randint(minval, maxval) - number_variables_b = random.randint(minval, maxval) - a = [] - b = [] - for _ in range(number_variables_a): - a.append(random.randint(1, 10)) - for _ in range(number_variables_b): - b.append(random.randint(1, 10)) - a = set(a) - b = set(b) - - problem = f"Given the two sets $a={a}$, $b={b}. " + \ - "Find the Union, intersection, a-b, b-a, and symmetric difference" - solution = f"Union is ${a.union(b)}$. Intersection is ${a.intersection(b)}$" + \ - f", a-b is ${a.difference(b)}$, b-a is ${b.difference(a)}$." + \ - f" Symmetric difference is ${a.symmetric_difference(b)}$." - return problem, solution - - -set_operation = Generator("Union,Intersection,Difference of Two Sets", 93, - gen_func, - ["minval=3", "maxval=7", "n_a=4", "n_b=5"]) diff --git a/mathgenerator/funcs/misc/signum_function.py b/mathgenerator/funcs/misc/signum_function.py deleted file mode 100644 index ce202ce..0000000 --- a/mathgenerator/funcs/misc/signum_function.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(min=-999, max=999): - a = random.randint(min, max) - b = 0 - if (a > 0): - b = 1 - if (a < 0): - b = -1 - - problem = f"signum of {a} is =" - solution = f'${b}$' - return problem, solution - - -signum_function = Generator("signum function", 106, gen_func, - ["min=-999", "max=999"]) diff --git a/mathgenerator/funcs/misc/surds_comparison.py b/mathgenerator/funcs/misc/surds_comparison.py deleted file mode 100644 index cd32a12..0000000 --- a/mathgenerator/funcs/misc/surds_comparison.py +++ /dev/null @@ -1,23 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxValue=100, maxRoot=10): - radicand1, radicand2 = tuple(random.sample(range(1, maxValue), 2)) - degree1, degree2 = tuple(random.sample(range(1, maxRoot), 2)) - first = math.pow(radicand1, 1 / degree1) - second = math.pow(radicand2, 1 / degree2) - - solution = "=" - if first > second: - solution = ">" - elif first < second: - solution = "<" - - problem = f"Fill in the blanks ${radicand1}^{{\\frac{{1}}{{{degree1}}}}}$ _ ${radicand2}^{{\\frac{{1}}{{{degree2}}}}}$" - return problem, f'${solution}$' - - -surds_comparison = Generator("Comparing surds", 55, gen_func, - ["maxValue=100", "maxRoot=10"]) diff --git a/mathgenerator/funcs/statistics/__init__.py b/mathgenerator/funcs/statistics/__init__.py deleted file mode 100644 index 267b98e..0000000 --- a/mathgenerator/funcs/statistics/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from .combinations import combinations -from .conditional_probability import conditional_probability -from .confidence_interval import confidence_interval -from .data_summary import data_summary -from .dice_sum_probability import dice_sum_probability -from .mean_median import mean_median -from .permutation import permutation diff --git a/mathgenerator/funcs/statistics/combinations.py b/mathgenerator/funcs/statistics/combinations.py deleted file mode 100644 index c314b68..0000000 --- a/mathgenerator/funcs/statistics/combinations.py +++ /dev/null @@ -1,17 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxlength=20): - a = random.randint(10, maxlength) - b = random.randint(0, 9) - - solution = int(math.factorial(a) / (math.factorial(b) * math.factorial(a - b))) - - problem = f"Find the number of combinations from ${a}$ objects picked ${b}$ at a time." - return problem, f'${solution}$' - - -combinations = Generator("Combinations of Objects", 30, gen_func, - ["maxlength=20"]) diff --git a/mathgenerator/funcs/statistics/conditional_probability.py b/mathgenerator/funcs/statistics/conditional_probability.py deleted file mode 100644 index 5bff5de..0000000 --- a/mathgenerator/funcs/statistics/conditional_probability.py +++ /dev/null @@ -1,30 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(): - P_disease = round(2. * random.random(), 2) - true_positive = round(random.random() + float(random.randint(90, 99)), 2) - true_negative = round(random.random() + float(random.randint(90, 99)), 2) - - def BayesFormula(P_disease, true_positive, true_negative): - P_notDisease = 100. - P_disease - false_positive = 100. - true_negative - P_plus = (P_disease) * (true_positive) + \ - (P_notDisease) * (false_positive) - P_disease_plus = ((true_positive) * (100 * P_disease)) / P_plus - - return P_disease_plus - - answer = round(BayesFormula(P_disease, true_positive, true_negative), 2) - - problem = "Someone tested positive for a nasty disease which only ${0:.2f}\\%$ of the population have. " \ - "Test sensitivity (true positive) is equal to $SN={1:.2f}$% whereas test specificity (true negative) $SP={2:.2f}\\%$. " \ - "What is the probability that this guy really has that disease?".format( - P_disease, true_positive, true_negative) - solution = f'${answer}$%' - return problem, solution - - -conditional_probability = Generator("Conditional Probability", 107, - gen_func, [""]) diff --git a/mathgenerator/funcs/statistics/confidence_interval.py b/mathgenerator/funcs/statistics/confidence_interval.py deleted file mode 100644 index b993c1b..0000000 --- a/mathgenerator/funcs/statistics/confidence_interval.py +++ /dev/null @@ -1,39 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(): - n = random.randint(20, 40) - j = random.randint(0, 3) - - lst = random.sample(range(200, 300), n) - lst_per = [80, 90, 95, 99] - lst_t = [1.282, 1.645, 1.960, 2.576] - - mean = 0 - sd = 0 - - for i in lst: - count = i + mean - mean = count - - mean = mean / n - - for i in lst: - x = (i - mean)**2 + sd - sd = x - - sd = sd / n - standard_error = lst_t[j] * math.sqrt(sd / n) - upper = mean + standard_error - lower = mean - standard_error - - problem = 'The confidence interval for sample ${}$ with ${}$% confidence is'.format( - [x for x in lst], lst_per[j]) - solution = f'$({upper}, {lower})$' - return problem, solution - - -confidence_interval = Generator("Confidence interval For sample S", 54, - gen_func, [""]) diff --git a/mathgenerator/funcs/statistics/data_summary.py b/mathgenerator/funcs/statistics/data_summary.py deleted file mode 100644 index 8b586e7..0000000 --- a/mathgenerator/funcs/statistics/data_summary.py +++ /dev/null @@ -1,29 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(number_values=15, minval=5, maxval=50): - random_list = [] - - for i in range(number_values): - n = random.randint(minval, maxval) - random_list.append(n) - - a = sum(random_list) - mean = a / number_values - - var = 0 - for i in range(number_values): - var += (random_list[i] - mean)**2 - - standardDeviation = var / number_values - variance = (var / number_values) ** 0.5 - - problem = f"Find the mean,standard deviation and variance for the data ${', '.join(map(str, random_list))}$" - solution = f"The Mean is ${mean}$, Standard Deviation is ${standardDeviation}$, Variance is ${variance}$" - return problem, solution - - -data_summary = Generator("Mean,Standard Deviation,Variance", 59, - gen_func, - ["number_values=15", "minval=5", "maxval=50"]) diff --git a/mathgenerator/funcs/statistics/dice_sum_probability.py b/mathgenerator/funcs/statistics/dice_sum_probability.py deleted file mode 100644 index b89d454..0000000 --- a/mathgenerator/funcs/statistics/dice_sum_probability.py +++ /dev/null @@ -1,31 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxDice=3): - a = random.randint(1, maxDice) - b = random.randint(a, 6 * a) - - count = 0 - for i in [1, 2, 3, 4, 5, 6]: - if a == 1: - if i == b: - count = count + 1 - elif a == 2: - for j in [1, 2, 3, 4, 5, 6]: - if i + j == b: - count = count + 1 - elif a == 3: - for j in [1, 2, 3, 4, 5, 6]: - for k in [1, 2, 3, 4, 5, 6]: - if i + j + k == b: - count = count + 1 - - problem = f"If ${a}$ dice are rolled at the same time, the probability of getting a sum of ${b} =$" - solution = f"\\frac{{{count}}}{{{6**a}}}" - return problem, solution - - -dice_sum_probability = Generator( - "Probability of a certain sum appearing on faces of dice", 52, - gen_func, ["maxDice=3"]) diff --git a/mathgenerator/funcs/statistics/mean_median.py b/mathgenerator/funcs/statistics/mean_median.py deleted file mode 100644 index bc79d8a..0000000 --- a/mathgenerator/funcs/statistics/mean_median.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(maxlen=10): - randomlist = random.sample(range(1, 99), maxlen) - total = 0 - for n in randomlist: - total = total + n - mean = total / 10 - randomlist.sort() - median = (randomlist[4] + randomlist[5]) / 2 - - problem = f"Given the series of numbers ${randomlist}$. Find the arithmatic mean and mdian of the series" - solution = f"Arithmetic mean of the series is ${mean}$ and Arithmetic median of this series is ${median}$" - return problem, solution - - -mean_median = Generator("Mean and Median", 76, gen_func, ["maxlen=10"]) diff --git a/mathgenerator/funcs/statistics/permutation.py b/mathgenerator/funcs/statistics/permutation.py deleted file mode 100644 index 44fd336..0000000 --- a/mathgenerator/funcs/statistics/permutation.py +++ /dev/null @@ -1,15 +0,0 @@ -from ...generator import Generator -import random -import math - - -def gen_func(maxlength=20): - a = random.randint(10, maxlength) - b = random.randint(0, 9) - solution = int(math.factorial(a) / (math.factorial(a - b))) - - problem = f"Number of Permutations from ${a}$ objects picked ${b}$ at a time is: " - return problem, f"${solution}$" - - -permutation = Generator("Permutations", 42, gen_func, ["maxlength=20"]) diff --git a/mathgenerator/funcs/template.py b/mathgenerator/funcs/template.py deleted file mode 100644 index 0f020bd..0000000 --- a/mathgenerator/funcs/template.py +++ /dev/null @@ -1,19 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(format='string'): - - if format == 'string': - - return # problem, solution - elif format == 'latex': - - return 'Latex unavailable' - else: - - return - - -generator_name = Generator("", id, gen_func, - ["<kwarg1>"]) diff --git a/mathgenerator/funcs/template_comments.py b/mathgenerator/funcs/template_comments.py deleted file mode 100644 index a592afe..0000000 --- a/mathgenerator/funcs/template_comments.py +++ /dev/null @@ -1,27 +0,0 @@ -from ...generator import Generator -import random - - -def gen_func(format='string'): - # your generator code goes here - - if format == 'string': - # code that generates problem, solution strings goes here - return # problem, solution - elif format == 'latex': - # code that generates latex representation of problem, and solution goes here - # if you can't do this, leave the return 'Latex unavailable' - # return latex_problem, latex_solution - return 'Latex unavailable' - else: - # Return necessary variables here - # Any variables that go into the problem and solution string without formatting - return # a, b - - -# generator_name should be the same as the file name -# replace id with number generated by running nextId.py inside of the scripts folder -# last argument of Generator should be a list of the kwargs used in your gen_func(). -generator_name = Generator("<Title>", id, gen_func, - ["<kwarg1>"]) -# Delete all comments before submitting a pr diff --git a/mathgenerator/generator.py b/mathgenerator/generator.py deleted file mode 100644 index bda9d7b..0000000 --- a/mathgenerator/generator.py +++ /dev/null @@ -1,31 +0,0 @@ -from os import sep as SEP -import traceback - -genList = [] - - -class Generator: - def __init__(self, title, id, func, kwargs): - self.title = title - self.id = id - self.func = func - self.kwargs = kwargs - - # Gets the path to the file the generator is in - path, _, _, _ = traceback.extract_stack()[-2] - # Gets the name of the file without the extension - funcname = path.split(SEP)[-1].strip()[:-3] - # Gets the name of the subject folder - subjectname = path.split(SEP)[-2].strip() - genList.append([id, title, self, funcname, subjectname, kwargs]) - - def __str__(self): - return str(self.id) + " " + self.title - - def __call__(self, *args, **kwargs): - return self.func(*args, **kwargs) - - -def getGenList(): - genList.sort() - return genList diff --git a/mathgenerator/geometry.py b/mathgenerator/geometry.py new file mode 100644 index 0000000..815341e --- /dev/null +++ b/mathgenerator/geometry.py @@ -0,0 +1,664 @@ +import random +import math +from math import cos, sin, pi + + +def angle_btw_vectors(max_elt_amt=20): + r"""Angle between 2 vectors + + | Ex. Problem | Ex. Solution | + | --- | --- | + | angle between the vectors $[363.84, 195.54, 997.08, 39.26, 60.14, 722.7, 888.57, 713.15, 436.22, 712.23, 349.23, 595.91, 191.8, 824.58, 861.56, 122.73, 815.14, 700.68, 506.5]$ and $[760.85, 934.67, 513.37, 796.93, 809.97, 423.54, 162.69, 758.96, 133.42, 478.14, 771.84, 824.88, 483.07, 134.41, 954.41, 893.42, 191.01, 453.97, 648.59]$ is: | $0.81$ radians | + """ + s = 0 + v1 = [ + round(random.uniform(0, 1000), 2) + for i in range(random.randint(2, max_elt_amt)) + ] + v2 = [round(random.uniform(0, 1000), 2) for i in v1] + for i in range(len(v1)): + s += v1[i] * v2[i] + + mags = math.sqrt(sum([i**2 + for i in v1])) * math.sqrt(sum([i**2 for i in v2])) + solution = '' + ans = 0 + try: + ans = round(math.acos(s / mags), 2) + solution = f"${ans}$ radians" + except ValueError: + print('angleBtwVectorsFunc has some issues with math module, line 16') + solution = 'NaN' + ans = 'NaN' + # would return the answer in radians + problem = f"angle between the vectors ${v1}$ and ${v2}$ is:" + return problem, solution + + +def angle_regular_polygon(min_val=3, max_val=20): + r"""Angle of a Regular Polygon + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the angle of a regular polygon with $8$ sides | $135.0$ | + """ + sideNum = random.randint(min_val, max_val) + problem = f"Find the angle of a regular polygon with ${sideNum}$ sides" + + exteriorAngle = round((360 / sideNum), 2) + solution = f'${180 - exteriorAngle}$' + + return problem, solution + + +def arc_length(max_radius=49, max_angle=359): + r"""Arc length of Angle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Given radius, $44$ and angle, $184$. Find the arc length of the angle. | Arc length of the angle $= 141.30186$ | + """ + radius = random.randint(1, max_radius) + angle = random.randint(1, max_angle) + angle_arc_length = float((angle / 360) * 2 * math.pi * radius) + formatted_float = "{:.5f}".format(angle_arc_length) + + problem = f"Given radius, ${radius}$ and angle, ${angle}$. Find the arc length of the angle." + solution = f"Arc length of the angle $= {formatted_float}$" + return problem, solution + + +def area_of_circle(max_radius=100): + r"""Area of Circle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Area of circle with radius $29=$ | $2642.08$ | + """ + r = random.randint(0, max_radius) + area = round(pi * r * r, 2) + + problem = f'Area of circle with radius ${r}=$' + return problem, f'${area}$' + + +def area_of_circle_given_center_and_point(max_coordinate=10, max_radius=10): + r"""Area of Circle given center and a point on circle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Area of circle with center $(7,-6)$ and passing through $(1.0, -6.0)$ is | $113.1$ | + """ + r = random.randint(0, max_radius) + center_x = random.randint(-max_coordinate, max_coordinate) + center_y = random.randint(-max_coordinate, max_coordinate) + + angle = random.choice([0, pi // 6, pi // 2, pi, pi + pi // 6, 3 * pi // 2]) + + point_x = center_x + round(r * cos(angle), 2) + point_y = center_y + round(r * sin(angle), 2) + + area = round(pi * r * r, 2) + + problem = f"Area of circle with center $({center_x},{center_y})$ and passing through $({point_x}, {point_y})$ is" + return problem, f'${area}$' + + +def area_of_triangle(max_a=20, max_b=20): + r"""Area of Triangle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Area of triangle with side lengths: $8, 1, 8 = $ | $3.99$ | + """ + a = random.randint(1, max_a) + b = random.randint(1, max_b) + c = random.randint(abs(b - a) + 1, abs(a + b) - 1) + + s = (a + b + c) / 2 + area = (s * (s - a) * (s - b) * (s - c))**0.5 + + problem = f"Area of triangle with side lengths: ${a}, {b}, {c} = $" + solution = f'${round(area, 2)}$' + return problem, solution + + +# Handles degrees in quadrant one +def basic_trigonometry(angles=[0, 30, 45, 60, 90], + functions=["sin", "cos", "tan"]): + r"""Trigonometric Values + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $\sin(30) = $ | $\frac{1}{2}$ | + """ + angle = random.choice(angles) + function = random.choice(functions) + + problem = rf"$\{function}({angle}) = $" + + expression = 'math.' + function + '(math.radians(angle))' + result_fraction_map = { + 0.0: "0", + 0.5: r"\frac{1}{2}", + 0.71: r"\frac{1}{\sqrt{2}}", + 0.87: r"\frac{\sqrt{3}}{2}", + 1.0: "1", + 0.58: r"\frac{1}{\sqrt{3}}", + 1.73: r"\sqrt{3}", + } + + solution = result_fraction_map[round(eval(expression), 2)] if round( + eval(expression), 2) <= 99999 else r"\infty" # for handling the ∞ condition + + return problem, f'${solution}$' + + +def circumference(max_radius=100): + r"""Circumference of Circle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Circumference of circle with radius $56 = $ | $351.86$ | + """ + r = random.randint(0, max_radius) + circumference = round(2 * math.pi * r, 2) + + problem = f"Circumference of circle with radius ${r} = $" + return problem, f'${circumference}$' + + +def complementary_and_supplementary_angle(max_supp=180, max_comp=90): + r"""Complementary and Supplementary Angle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The complementary angle of $15 =$ | $75$ | + """ + angleType = random.choice(["supplementary", "complementary"]) + + if angleType == "supplementary": + angle = random.randint(1, max_supp) + angleAns = 180 - angle + else: + angle = random.randint(1, max_comp) + angleAns = 90 - angle + + problem = f"The {angleType} angle of ${angle} =$" + solution = f'${angleAns}$' + return problem, solution + + +def curved_surface_area_cylinder(max_radius=49, max_height=99): + r"""Curved surface area of a cylinder + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the curved surface area of a cylinder of radius, $44$ and height, $92$? | $25434.33$ | + """ + r = random.randint(1, max_radius) + h = random.randint(1, max_height) + csa = float(2 * math.pi * r * h) + formatted_float = round(csa, 2) # "{:.5f}".format(csa) + + problem = f"What is the curved surface area of a cylinder of radius, ${r}$ and height, ${h}$?" + solution = f"${formatted_float}$" + return problem, solution + + +def degree_to_rad(max_deg=360): + r"""Degrees to Radians + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Angle $113$ degrees in radians is: | $1.97$ | + """ + a = random.randint(0, max_deg) + b = (math.pi * a) / 180 + b = round(b, 2) + + problem = f"Angle ${a}$ degrees in radians is: " + solution = f'${b}$' + return problem, solution + + +def equation_of_line_from_two_points(max_coordinate=20, min_coordinate=-20): + r"""Equation of line from two points + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the equation of the line between points $(13,9)$ and $(6,-19)$ in slope-intercept form? | $y = 4x -43$ | + """ + x1 = random.randint(min_coordinate, max_coordinate) + x2 = random.randint(min_coordinate, max_coordinate) + + y1 = random.randint(min_coordinate, max_coordinate) + y2 = random.randint(min_coordinate, max_coordinate) + + coeff_y = (x2 - x1) + coeff_x = (y2 - y1) + constant = y2 * coeff_y - x2 * coeff_x + + gcd = math.gcd(abs(coeff_x), abs(coeff_y)) + + if gcd != 1: + if coeff_y > 0: + coeff_y //= gcd + if coeff_x > 0: + coeff_x //= gcd + if constant > 0: + constant //= gcd + if coeff_y < 0: + coeff_y = -(-coeff_y // gcd) + if coeff_x < 0: + coeff_x = -(-coeff_x // gcd) + if constant < 0: + constant = -(-constant // gcd) + if coeff_y < 0: + coeff_y = -(coeff_y) + coeff_x = -(coeff_x) + constant = -(constant) + if coeff_x in [1, -1]: + if coeff_x == 1: + coeff_x = '' + else: + coeff_x = '-' + if coeff_y in [1, -1]: + if coeff_y == 1: + coeff_y = '' + else: + coeff_y = '-' + + problem = f"What is the equation of the line between points $({x1},{y1})$ and $({x2},{y2})$ in slope-intercept form?" + if coeff_x == 0: + solution = str(coeff_y) + "y = " + str(constant) + elif coeff_y == 0: + solution = str(coeff_x) + "x = " + str(-constant) + else: + if constant > 0: + solution = str(coeff_y) + "y = " + str(coeff_x) + \ + "x + " + str(constant) + else: + solution = str(coeff_y) + "y = " + \ + str(coeff_x) + "x " + str(constant) + return problem, f'${solution}$' + + +def fourth_angle_of_quadrilateral(max_angle=180): + r"""Fourth Angle of Quadrilateral + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Fourth angle of quadrilateral with angles $162 , 43, 78 =$ | $77$ | + """ + angle1 = random.randint(1, max_angle) + angle2 = random.randint(1, 240 - angle1) + angle3 = random.randint(1, 340 - (angle1 + angle2)) + + sum_ = angle1 + angle2 + angle3 + angle4 = 360 - sum_ + + problem = f"Fourth angle of quadrilateral with angles ${angle1} , {angle2}, {angle3} =$" + solution = f'${angle4}$' + return problem, solution + + +def perimeter_of_polygons(max_sides=12, max_length=120): + r"""Perimeter of Polygons + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The perimeter of a $4$ sided polygon with lengths of $30, 105, 78, 106$cm is: | $319$ | + """ + size_of_sides = random.randint(3, max_sides) + sides = [random.randint(1, max_length) for _ in range(size_of_sides)] + + problem = f"The perimeter of a ${size_of_sides}$ sided polygon with lengths of ${', '.join(map(str, sides))}$cm is: " + solution = sum(sides) + + return problem, f'${solution}$' + + +def pythagorean_theorem(max_length=20): + """Pythagorean Theorem + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the hypotenuse of a right triangle given the other two sides have lengths $9$ and $10$? | $13.45$ | + """ + a = random.randint(1, max_length) + b = random.randint(1, max_length) + c = round((a ** 2 + b ** 2) ** 0.5, 2) + + problem = f"What is the hypotenuse of a right triangle given the other two sides have lengths ${a}$ and ${b}$?" + solution = f"${c}$" + return problem, solution + + +def radian_to_deg(max_rad=6.28): + """Radians to Degrees""" + a = random.randint(0, int(max_rad * 100)) / 100 + b = round((180 * a) / math.pi, 2) + + problem = f"Angle ${a}$ radians in degrees is: " + solution = f'${b}$' + return problem, solution + + +def sector_area(max_radius=49, max_angle=359): + """Area of a Sector + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the area of a sector with radius $42$ and angle $83$ degrees? | $1277.69$ | + """ + r = random.randint(1, max_radius) + a = random.randint(1, max_angle) + secArea = float((a / 360) * math.pi * r * r) + formatted_float = round(secArea, 2) + + problem = f"What is the area of a sector with radius ${r}$ and angle ${a}$ degrees?" + solution = f"${formatted_float}$" + return problem, solution + + +def sum_of_polygon_angles(max_sides=12): + """Sum of Angles of Polygon + + | Ex. Problem | Ex. Solution | + | --- | --- | + | What is the sum of interior angles of a polygon with $8$ sides? | $1080$ | + """ + side_count = random.randint(3, max_sides) + sum = (side_count - 2) * 180 + + problem = f"What is the sum of interior angles of a polygon with ${side_count}$ sides?" + return problem, f'${sum}$' + + +def surface_area_cone(max_radius=20, max_height=50, unit='m'): + """Surface area of a cone + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of cone with height $= 26m$ and radius $= 6m$ is | $616 m^2$ | + """ + a = random.randint(1, max_height) + b = random.randint(1, max_radius) + + slopingHeight = math.sqrt(a**2 + b**2) + ans = int(math.pi * b * slopingHeight + math.pi * b * b) + + problem = f"Surface area of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def surface_area_cube(max_side=20, unit='m'): + """Surface area of a cube + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of cube with side $= 6m$ is | $216 m^2$ | + """ + a = random.randint(1, max_side) + ans = 6 * (a ** 2) + + problem = f"Surface area of cube with side $= {a}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def surface_area_cuboid(max_side=20, unit='m'): + """Surface area of a cuboid + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of cuboid with sides of lengths: $11m, 20m, 8m$ is | $936 m^2$ | + """ + a = random.randint(1, max_side) + b = random.randint(1, max_side) + c = random.randint(1, max_side) + ans = 2 * (a * b + b * c + c * a) + + problem = f"Surface area of cuboid with sides of lengths: ${a}{unit}, {b}{unit}, {c}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def surface_area_cylinder(max_radius=20, max_height=50, unit='m'): + """Surface area of a cylinder + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of cylinder with height $= 26m$ and radius $= 15m$ is | $3864 m^2$ | + """ + a = random.randint(1, max_height) + b = random.randint(1, max_radius) + ans = int(2 * math.pi * a * b + 2 * math.pi * b * b) + + problem = f"Surface area of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def surface_area_pyramid(unit='m'): + """Surface area of a pyramid + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of pyramid with base length $= 30m$, base width $= 40m$, and height $= 25m$ is | $2400 m^2$ | + """ + # List of Pythagorean triplets + _PYTHAGOREAN = [(3, 4, 5), + (6, 8, 10), + (9, 12, 15), + (12, 16, 20), + (15, 20, 25), + (5, 12, 13), + (10, 24, 26), + (7, 24, 25)] + + # Generate first triplet + height, half_width, triangle_height_1 = random.sample( + random.choice(_PYTHAGOREAN), 3) + + # Calculate first triangle's area + triangle_1 = half_width * triangle_height_1 + + # Generate second triplet + second_triplet = random.choice([i for i in _PYTHAGOREAN if height in i]) + half_length, triangle_height_2 = random.sample( + tuple(i for i in second_triplet if i != height), 2) + + # Calculate second triangle's area + triangle_2 = half_length * triangle_height_2 + + # Calculate base area + base = 4 * half_width * half_length + + ans = base + 2 * triangle_1 + 2 * triangle_2 + + problem = f"Surface area of pyramid with base length $= {2*half_length}{unit}$, base width $= {2*half_width}{unit}$, and height $= {height}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def surface_area_sphere(max_side=20, unit='m'): + """Surface area of a sphere + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Surface area of a sphere with radius $= 8m$ is | $804.25 m^2$ | + """ + r = random.randint(1, max_side) + ans = round(4 * math.pi * r * r, 2) + + problem = f"Surface area of a sphere with radius $= {r}{unit}$ is" + solution = f"${ans} {unit}^2$" + return problem, solution + + +def third_angle_of_triangle(max_angle=89): + """Third Angle of Triangle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Third angle of triangle with angles $10$ and $22 =$ | $148$ | + """ + angle1 = random.randint(1, max_angle) + angle2 = random.randint(1, max_angle) + angle3 = 180 - (angle1 + angle2) + + problem = f"Third angle of triangle with angles ${angle1}$ and ${angle2} = $" + return problem, f'${angle3}$' + + +def valid_triangle(max_side_length=50): + """Valid Triangle + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Does triangel with sides $10, 31$ and $14$ exist? | No | + """ + sideA = random.randint(1, max_side_length) + sideB = random.randint(1, max_side_length) + sideC = random.randint(1, max_side_length) + + sideSums = [sideA + sideB, sideB + sideC, sideC + sideA] + sides = [sideC, sideA, sideB] + + exists = True & (sides[0] < sideSums[0]) & (sides[1] < sideSums[1]) & ( + sides[2] < sideSums[2]) + + problem = f"Does triangle with sides ${sideA}, {sideB}$ and ${sideC}$ exist?" + solution = "Yes" if exists else "No" + return problem, f'${solution}$' + + +def volume_cone(max_radius=20, max_height=50, unit='m'): + """Volume of a cone + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of cone with height $= 44m$ and radius $= 11m$ is | $5575 m^3$ | + """ + a = random.randint(1, max_height) + b = random.randint(1, max_radius) + ans = int(math.pi * b * b * a * (1 / 3)) + + problem = f"Volume of cone with height $= {a}{unit}$ and radius $= {b}{unit}$ is" + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_cube(max_side=20, unit='m'): + """Volume of a cube + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of a cube with a side length of $19m$ is | $6859 m^3$ | + """ + a = random.randint(1, max_side) + ans = a**3 + + problem = f"Volume of cube with a side length of ${a}{unit}$ is" + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_cuboid(max_side=20, unit='m'): + """Volume of a cuboid + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of cuboid with sides = $17m, 11m, 13m$ is | $2431 m^3$ | + """ + a = random.randint(1, max_side) + b = random.randint(1, max_side) + c = random.randint(1, max_side) + ans = a * b * c + + problem = f"Volume of cuboid with sides = ${a}{unit}, {b}{unit}, {c}{unit}$ is" + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_cylinder(max_radius=20, max_height=50, unit='m'): + """Volume of a cylinder + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of cylinder with height $= 3m$ and radius $= 10m$ is | $942 m^3$ | + """ + a = random.randint(1, max_height) + b = random.randint(1, max_radius) + ans = int(math.pi * b * b * a) + + problem = f"Volume of cylinder with height $= {a}{unit}$ and radius $= {b}{unit}$ is" + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_cone_frustum(max_r1=20, max_r2=20, max_height=50, unit='m'): + """Volume of the frustum of a cone + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of frustum with height $= 30m$ and $r1 = 20m$ is and $r2 = 8m$ is | $19603.54 m^3$ | + """ + h = random.randint(1, max_height) + r1 = random.randint(1, max_r1) + r2 = random.randint(1, max_r2) + ans = round(((math.pi * h) * (r1 ** 2 + r2 ** 2 + r1 * r2)) / 3, 2) + + problem = f"Volume of frustum with height $= {h}{unit}$ and $r1 = {r1}{unit}$ is and $r2 = {r2}{unit}$ is " + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_hemisphere(max_radius=100): + """Volume of a hemisphere + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of hemisphere with radius $32m =$ | $68629.14 m^3$ | + """ + r = random.randint(1, max_radius) + ans = round((2 * math.pi / 3) * r**3, 2) + + problem = f"Volume of hemisphere with radius ${r} m =$ " + solution = f"${ans} m^3$" + return problem, solution + + +def volume_pyramid(max_length=20, max_width=20, max_height=50, unit='m'): + """Volume of a pyramid + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of pyramid with base length $= 7 m$, base width $= 18 m$ and height $= 42 m$ is | $1764.0 m^3$ | + """ + length = random.randint(1, max_length) + width = random.randint(1, max_width) + height = random.randint(1, max_height) + + ans = round((length * width * height) / 3, 2) + + problem = f"Volume of pyramid with base length $= {length} {unit}$, base width $= {width} {unit}$ and height $= {height} {unit}$ is" + solution = f"${ans} {unit}^3$" + return problem, solution + + +def volume_sphere(max_radius=100): + """Volume of a sphere + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Volume of sphere with radius $30 m = $ | $113097.36 m^3$ | + """ + r = random.randint(1, max_radius) + ans = round((4 * math.pi / 3) * r**3, 2) + + problem = f"Volume of sphere with radius ${r} m = $" + solution = f"${ans} m^3$" + return problem, solution diff --git a/mathgenerator/misc.py b/mathgenerator/misc.py new file mode 100644 index 0000000..4306872 --- /dev/null +++ b/mathgenerator/misc.py @@ -0,0 +1,574 @@ +import random +import math +import numpy as np + + +def arithmetic_progression_sum(max_d=100, + max_a=100, + max_n=100): + """Arithmetic Progression Sum + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the sum of first $44$ terms of the AP series: $49, 145, 241 ... $ | $92972.0$ | + """ + d = random.randint(-1 * max_d, max_d) + a1 = random.randint(-1 * max_a, max_a) + a2 = a1 + d + a3 = a1 + 2 * d + n = random.randint(4, max_n) + apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' + an = a1 + (n - 1) * d + solution = n * (a1 + an) / 2 + + problem = f'Find the sum of first ${n}$ terms of the AP series: ${apString}$' + return problem, f'${solution}$' + + +def arithmetic_progression_term(max_d=100, + max_a=100, + max_n=100): + """Arithmetic Progression Term + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find term number $12$ of the AP series: $-54, 24, 102 ... $ | $804$ | + """ + d = random.randint(-1 * max_d, max_d) + a1 = random.randint(-1 * max_a, max_a) + a2 = a1 + d + a3 = a2 + d + n = random.randint(4, max_n) + apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' + solution = a1 + ((n - 1) * d) + + problem = f'Find term number ${n}$ of the AP series: ${apString}$' + return problem, f'${solution}$' + + +def _fromBaseTenTo(n, to_base): + """Converts a decimal number n to another base, to_base. + Utility of base_conversion() + """ + alpha = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" + assert type( + to_base + ) == int and to_base >= 2 and to_base <= 36, "to_base({}) must be >=2 and <=36" + # trivial cases + if to_base == 2: + return bin(n)[2:] + elif to_base == 8: + return oct(n)[2:] + elif to_base == 10: + return str(n) + elif to_base == 16: + return hex(n)[2:].upper() + res = alpha[n % to_base] + n = n // to_base + while n > 0: + res = alpha[n % to_base] + res + n = n // to_base + return res + + +def base_conversion(max_num=60000, max_base=16): + """Base Conversion + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Convert $45204$ from base $10$ to base $4$ | $23002110$ | + """ + assert type( + max_num + ) == int and max_num >= 100 and max_num <= 65536, "max_num({}) must be >=100 and <=65536".format( + max_num) + assert type( + max_base + ) == int and max_base >= 2 and max_base <= 36, "max_base({}) must be >= 2 and <=36".format( + max_base) + + n = random.randint(40, max_num) + dist = [10] * 10 + [2] * 5 + [16] * 5 + [i for i in range(2, max_base + 1)] + # set this way since converting to/from bases 2,10,16 are more common -- can be changed if needed. + bases = random.choices(dist, k=2) + while bases[0] == bases[1]: + bases = random.choices(dist, k=2) + + problem = f"Convert ${_fromBaseTenTo(n, bases[0])}$ from base ${bases[0]}$ to base ${bases[1]}$." + ans = _fromBaseTenTo(n, bases[1]) + return problem, f'${ans}$' + + +def _newton_symbol(n, k): + """Utility of binomial_distribution()""" + return math.factorial(n) / (math.factorial(k) * math.factorial(n - k)) + + +def binomial_distribution(): + """Binomial distribution + + | Ex. Problem | Ex. Solution | + | --- | --- | + | A manufacturer of metal pistons finds that, on average, $30.56$% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of $20$ pistons will contain no more than $2$ rejected pistons? | $3.17$ | + """ + rejected_fraction = float(random.randint(30, 40)) + random.random() + batch = random.randint(10, 20) + rejections = random.randint(1, 9) + + answer = 0 + rejected_fraction = round(rejected_fraction, 2) + for i in range(0, rejections + 1): + answer += _newton_symbol(float(batch), float(i)) * ((rejected_fraction / 100.) ** float(i)) * \ + ((1 - (rejected_fraction / 100.)) ** (float(batch) - float(i))) + + answer = round(100 * answer, 2) + + problem = "A manufacturer of metal pistons finds that, on average, ${0:}$% "\ + "of the pistons they manufacture are rejected because " \ + "they are incorrectly sized. What is the probability that a "\ + "batch of ${1:}$ pistons will contain no more than ${2:}$ " \ + "rejected pistons?".format(rejected_fraction, batch, rejections) + return problem, f'${answer}$' + + +def celsius_to_fahrenheit(max_temp=100): + """Celsius to Fahrenheit + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Convert $-46$ degrees Celsius to degrees Fahrenheit | $-50.8$ | + """ + celsius = random.randint(-50, max_temp) + fahrenheit = (celsius * (9 / 5)) + 32 + + problem = f"Convert ${celsius}$ degrees Celsius to degrees Fahrenheit" + solution = f'${fahrenheit}$' + return problem, solution + + +def common_factors(max_val=100): + """Common Factors + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Common Factors of $100$ and $44 = $ | $[1, 2, 4]$ | + """ + a = x = random.randint(1, max_val) + b = y = random.randint(1, max_val) + + if (x < y): + min = x + else: + min = y + + count = 0 + arr = [] + + for i in range(1, min + 1): + if (x % i == 0): + if (y % i == 0): + count = count + 1 + arr.append(i) + + problem = f"Common Factors of ${a}$ and ${b} = $" + solution = f'${arr}$' + return problem, solution + + +def complex_to_polar(min_real_imaginary_num=-20, + max_real_imaginary_num=20): + r"""Complex to polar form + + | Ex. Problem | Ex. Solution | + | --- | --- | + | $19.42(-19.0\theta + i-4.0\theta)$ | $-2.93$ | + """ + num = complex(random.randint(min_real_imaginary_num, max_real_imaginary_num), + random.randint(min_real_imaginary_num, max_real_imaginary_num)) + a = num.real + b = num.imag + r = round(math.hypot(a, b), 2) + theta = round(math.atan2(b, a), 2) + + problem = rf'${r}({a}\theta + i{b}\theta)$' + return problem, f'${theta}$' + + +def decimal_to_roman_numerals(max_decimal=4000): + """Decimal to Roman Numerals + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The number $92$ in roman numerals is: | $XCII$ | + """ + x = random.randint(0, max_decimal) + x_copy = x + roman_dict = { + 1: "I", + 5: "V", + 10: "X", + 50: "L", + 100: "C", + 500: "D", + 1000: "M" + } + div = 1 + while x >= div: + div *= 10 + div /= 10 + solution = "" + while x: + last_value = int(x / div) + if last_value <= 3: + solution += (roman_dict[div] * last_value) + elif last_value == 4: + solution += (roman_dict[div] + roman_dict[div * 5]) + elif 5 <= last_value <= 8: + solution += (roman_dict[div * 5] + (roman_dict[div] * (last_value - 5))) + elif last_value == 9: + solution += (roman_dict[div] + roman_dict[div * 10]) + x = math.floor(x % div) + div /= 10 + + problem = f"The number ${x_copy}$ in roman numerals is: " + return problem, f'${solution}$' + + +def euclidian_norm(maxEltAmt=20): + """Euclidian norm or L2 norm of a vector + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Euclidian norm or L2 norm of the vector $[659.9225071540442, 243.40887829281564, 128.79950053874424, 263.19226900031344]$ is: | $761.97$ | + """ + vec = [ + random.uniform(0, 1000) for i in range(random.randint(2, maxEltAmt)) + ] + solution = round(math.sqrt(sum([i**2 for i in vec])), 2) + + problem = f"Euclidian norm or L2 norm of the vector ${vec}$ is:" + return problem, f'${solution}$' + + +def factors(max_val=1000): + """Factors of a number + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Factors of $176 = $ | $[1, 2, 4, 8, 11, 16, 22, 44, 88, 176]$ | + """ + n = random.randint(1, max_val) + + factors = [] + + for i in range(1, int(n**0.5) + 1): + if i**2 == n: + factors.append(i) + elif n % i == 0: + factors.append(i) + factors.append(n // i) + else: + pass + + factors.sort() + + problem = f"Factors of ${n} = $" + solution = factors + return problem, f'${solution}$' + + +def geometric_mean(max_value=100, max_count=4): + """Geometric Mean of N Numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Geometric mean of $3$ numbers $[72, 21, 87] = $ | $50.86$ | + """ + count = random.randint(2, max_count) + nums = [random.randint(1, max_value) for i in range(count)] + product = np.prod(nums) + + ans = round(product ** (1 / count), 2) + problem = f"Geometric mean of ${count}$ numbers ${nums} = $" + # solution = rf"$({'*'.join(map(str, nums))}^{{\frac{{1}}{{{count}}}}} = {ans}$" + solution = f"${ans}$" + return problem, solution + + +def geometric_progression(number_values=6, + min_value=2, + max_value=12, + n_term=7, + sum_term=5): + """Geometric Progression + + | Ex. Problem | Ex. Solution | + | --- | --- | + | For the given GP $[11, 44, 176, 704, 2816, 11264]$. Find the value of a common ratio, 7th term value, sum upto 10th term | The value of a is $11$, common ratio is $4$ , 7th term is $45056$, sum upto 10th term is $3844775.0$ | + """ + r = random.randint(min_value, max_value) + a = random.randint(min_value, max_value) + n_term = random.randint(number_values, number_values + 5) + sum_term = random.randint(number_values, number_values + 5) + GP = [] + for i in range(number_values): + GP.append(a * (r**i)) + value_nth_term = a * (r**(n_term - 1)) + sum_till_nth_term = a * ((r**sum_term - 1) / (r - 1)) + + problem = f"For the given GP ${GP}$. Find the value of a common ratio, {n_term}th term value, sum upto {sum_term}th term" + solution = "The value of a is ${}$, common ratio is ${}$ , {}th term is ${}$, sum upto {}th term is ${}$".format( + a, r, n_term, value_nth_term, sum_term, sum_till_nth_term) + return problem, solution + + +def harmonic_mean(max_value=100, max_count=4): + """Harmonic Mean of N Numbers + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Harmonic mean of $4$ numbers $52, 56, 25, 57 = $ | $602.33$ | + """ + count = random.randint(2, max_count) + nums = [random.randint(1, max_value) for _ in range(count)] + sum = 0 + for num in nums: + sum += (1 / num) + ans = round(num / sum, 2) + + problem = f"Harmonic mean of ${count}$ numbers ${', '.join(map(str, nums))} = $" + solution = f"${ans}$" + return problem, solution + + +def is_leap_year(minNumber=1900, max_number=2099): + """Is Leap Year or Not + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Is $2000$ a leap year? | $2000$ is a leap year | + """ + year = random.randint(minNumber, max_number) + problem = f"Is {year} a leap year?" + if (year % 4) == 0: + if (year % 100) == 0: + if (year % 400) == 0: + ans = True + else: + ans = False + else: + ans = True + else: + ans = False + + solution = f"{year} is{' not' if not ans else ''} a leap year" + return problem, solution + + +def lcm(max_val=20): + """LCM (Least Common Multiple) + + | Ex. Problem | Ex. Solution | + | --- | --- | + | LCM of $3$ and $18 = $ | $18$ | + """ + a = random.randint(1, max_val) + b = random.randint(1, max_val) + c = a * b + x, y = a, b + + while y: + x, y = y, x % y + d = c // x + + problem = f"LCM of ${a}$ and ${b} =$" + solution = f'${d}$' + return problem, solution + + +def minutes_to_hours(max_minutes=999): + """Convert minutes to hours and minutes + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Convert $836$ minutes to hours & minutes | $13$ hours and $56$ minutes | + """ + minutes = random.randint(1, max_minutes) + ansHours = minutes // 60 + ansMinutes = minutes % 60 + + problem = f"Convert ${minutes}$ minutes to hours & minutes" + solution = f"${ansHours}$ hours and ${ansMinutes}$ minutes" + return problem, solution + + +def prime_factors(min_val=1, max_val=200): + """Prime Factors + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find prime factors of $30$ | $2, 3, 5$ | + """ + a = random.randint(min_val, max_val) + n = a + i = 2 + factors = [] + + while i * i <= n: + if n % i: + i += 1 + else: + n //= i + factors.append(i) + + if n > 1: + factors.append(n) + + problem = f"Find prime factors of ${a}$" + solution = f"${', '.join(map(str, factors))}$" + return problem, solution + + +def product_of_scientific_notations(min_exp_val=-100, max_exp_val=100): + r"""Product of scientific notations + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Product of scientific notations $5.11 \times 10^{67}$ and $3.64 \times 10^{-59} = $ | $1.86 \times 10^{9}$ | + """ + a = [round(random.uniform(1, 10), 2), + random.randint(min_exp_val, max_exp_val)] + b = [round(random.uniform(1, 10), 2), + random.randint(min_exp_val, max_exp_val)] + c = [a[0] * b[0], a[1] + b[1]] + + if c[0] >= 10: + c[0] /= 10 + c[1] += 1 + + problem = rf"Product of scientific notations ${a[0]} \times 10^{{{a[1]}}}$ and ${b[0]} \times 10^{{{b[1]}}} = $" + solution = rf'${round(c[0], 2)} \times 10^{{{c[1]}}}$' + return problem, solution + + +def profit_loss_percent(max_cp=1000, max_sp=1000): + """Profit or Loss Percent + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Loss percent when $CP = 751$ and $SP = 290$ is: | $61.38$ | + """ + cP = random.randint(1, max_cp) + sP = random.randint(1, max_sp) + diff = abs(sP - cP) + if (sP - cP >= 0): + profitOrLoss = "Profit" + else: + profitOrLoss = "Loss" + percent = round(diff / cP * 100, 2) + + problem = f"{profitOrLoss} percent when $CP = {cP}$ and $SP = {sP}$ is: " + return problem, f'${percent}$' + + +def quotient_of_power_same_base(max_base=50, max_power=10): + """Quotient of Powers with Same Base + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The Quotient of $5^{6}$ and $5^{8} = $5^{6-8} = 5^{-2}$ | $0.04$ | + """ + base = random.randint(1, max_base) + power1 = random.randint(1, max_power) + power2 = random.randint(1, max_power) + step = power1 - power2 + solution = base ** step + + problem = f"The Quotient of ${base}^{{{power1}}}$ and ${base}^{{{power2}}} = " \ + f"${base}^{{{power1}-{power2}}} = {base}^{{{step}}}$" + return problem, f'${solution}$' + + +def quotient_of_power_same_power(max_base=50, max_power=10): + """Quotient of Powers with Same Power + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The quotient of $19^{8}$ and $10^{8} = (19/10)^8 = 1.9^{8}$ | $169.84$ | + """ + base1 = random.randint(1, max_base) + base2 = random.randint(1, max_base) + power = random.randint(1, max_power) + step = base1 / base2 + solution = round(step ** power, 2) + + problem = f"The quotient of ${base1}^{{{power}}}$ and ${base2}^{{{power}}} = " \ + f"({base1}/{base2})^{power} = {step}^{{{power}}}$" + return problem, f'${solution}$' + + +def set_operation(min_size=3, max_size=7): + """Union, Intersection, Difference of Two Sets + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Given the two sets $a={1, 2, 4, 5}$, $b={8, 1, 2}. Find the Union, intersection, a-b, b-a, and symmetric difference | Union is ${1, 2, 4, 5, 8}$. Intersection is ${1, 2}$, a-b is ${4, 5}$, b-a is ${8}$. Symmetric difference is ${4, 5, 8}$. | + """ + number_variables_a = random.randint(min_size, max_size) + number_variables_b = random.randint(min_size, max_size) + a = [] + b = [] + for _ in range(number_variables_a): + a.append(random.randint(1, 10)) + for _ in range(number_variables_b): + b.append(random.randint(1, 10)) + a = set(a) + b = set(b) + + problem = f"Given the two sets $a={a}$, $b={b}. " + \ + "Find the Union, intersection, a-b, b-a, and symmetric difference" + solution = f"Union is ${a.union(b)}$. Intersection is ${a.intersection(b)}$" + \ + f", a-b is ${a.difference(b)}$, b-a is ${b.difference(a)}$." + \ + f" Symmetric difference is ${a.symmetric_difference(b)}$." + return problem, solution + + +def signum_function(min=-999, max=999): + """Signum Function + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Signum of $-229$ is = | $-1$ | + """ + a = random.randint(min, max) + b = 0 + if (a > 0): + b = 1 + if (a < 0): + b = -1 + + problem = f"Signum of ${a}$ is =" + solution = f'${b}$' + return problem, solution + + +def surds_comparison(max_value=100, max_root=10): + r"""Comparing Surds + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Fill in the blanks $42^{\frac{1}{2}}$ _ $45^{\frac{1}{5}}$ | $>$ | + """ + radicand1, radicand2 = tuple(random.sample(range(1, max_value), 2)) + degree1, degree2 = tuple(random.sample(range(1, max_root), 2)) + first = math.pow(radicand1, 1 / degree1) + second = math.pow(radicand2, 1 / degree2) + + solution = "=" + if first > second: + solution = ">" + elif first < second: + solution = "<" + + problem = rf"Fill in the blanks ${radicand1}^{{\frac{{1}}{{{degree1}}}}}$ _ ${radicand2}^{{\frac{{1}}{{{degree2}}}}}$" + return problem, f'${solution}$' diff --git a/mathgenerator/statistics.py b/mathgenerator/statistics.py new file mode 100644 index 0000000..f0eba4e --- /dev/null +++ b/mathgenerator/statistics.py @@ -0,0 +1,180 @@ +import random +import math + + +def combinations(max_lengthgth=20): + """Combinations of Objects + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the number of combinations from $19$ objects picked $6$ at a time. | $27132$ | + """ + a = random.randint(10, max_lengthgth) + b = random.randint(0, 9) + + solution = int(math.factorial( + a) / (math.factorial(b) * math.factorial(a - b))) + + problem = f"Find the number of combinations from ${a}$ objects picked ${b}$ at a time." + return problem, f'${solution}$' + + +def conditional_probability(): + """Conditional Probability + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Someone tested positive for a nasty disease which only $1.18$% of the population have. Test sensitivity (true positive) is equal to $SN=98.73$% whereas test specificity (true negative) $SP=99.99$%. What is the probability that this guy really has that disease? | $99.16$% | + """ + P_disease = round(2. * random.random(), 2) + true_positive = round(random.random() + float(random.randint(90, 99)), 2) + true_negative = round(random.random() + float(random.randint(90, 99)), 2) + + def BayesFormula(P_disease, true_positive, true_negative): + P_notDisease = 100. - P_disease + false_positive = 100. - true_negative + P_plus = (P_disease) * (true_positive) + \ + (P_notDisease) * (false_positive) + P_disease_plus = ((true_positive) * (100 * P_disease)) / P_plus + + return P_disease_plus + + answer = round(BayesFormula(P_disease, true_positive, true_negative), 2) + + problem = "Someone tested positive for a nasty disease which only ${0:.2f}$% of the population have. " \ + "Test sensitivity (true positive) is equal to $SN={1:.2f}$% whereas test specificity (true negative) $SP={2:.2f}$%. " \ + "What is the probability that this guy really has that disease?".format( + P_disease, true_positive, true_negative) + solution = f'${answer}$%' + return problem, solution + + +def confidence_interval(): + """Confidence interval For sample S + + | Ex. Problem | Ex. Solution | + | --- | --- | + | The confidence interval for sample $[234, 223, 210, 203, 258, 299, 281, 208, 278, 252, 295, 245, 280, 235, 219, 297, 214, 267, 212, 256, 232, 221]$ with $99$% confidence is | $(263.31, 229.33)$ | + """ + n = random.randint(20, 40) + j = random.randint(0, 3) + + lst = random.sample(range(200, 300), n) + lst_per = [80, 90, 95, 99] + lst_t = [1.282, 1.645, 1.960, 2.576] + + mean = 0 + sd = 0 + + for i in lst: + count = i + mean + mean = count + + mean = mean / n + + for i in lst: + x = (i - mean)**2 + sd + sd = x + + sd = sd / n + standard_error = lst_t[j] * math.sqrt(sd / n) + upper = round(mean + standard_error, 2) + lower = round(mean - standard_error, 2) + + problem = 'The confidence interval for sample ${}$ with ${}$% confidence is'.format( + [x for x in lst], lst_per[j]) + solution = f'$({upper}, {lower})$' + return problem, solution + + +def data_summary(number_values=15, min_val=5, max_val=50): + """Mean, Standard Deviation and Variance + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Find the mean,standard deviation and variance for the data $9, 29, 46, 27, 46, 15, 10, 44, 19, 33, 38, 7, 34, 28, 8$ | The Mean is $26.2$, Standard Deviation is $186.29$, Variance is $13.65$ | + """ + random_list = [] + + for i in range(number_values): + n = random.randint(min_val, max_val) + random_list.append(n) + + a = sum(random_list) + mean = round(a / number_values, 2) + + var = 0 + for i in range(number_values): + var += (random_list[i] - mean)**2 + + standardDeviation = round(var / number_values, 2) + variance = round((var / number_values) ** 0.5, 2) + + problem = f"Find the mean,standard deviation and variance for the data ${', '.join(map(str, random_list))}$" + solution = f"The Mean is ${mean}$, Standard Deviation is ${standardDeviation}$, Variance is ${variance}$" + return problem, solution + + +def dice_sum_probability(max_dice=3): + """Probability of a certain sum appearing on faces of dice + + | Ex. Problem | Ex. Solution | + | --- | --- | + | If $2$ dice are rolled at the same time, the probability of getting a sum of $5 =$ | $\frac{4}{36}$ | + """ + a = random.randint(1, max_dice) + b = random.randint(a, 6 * a) + + count = 0 + for i in [1, 2, 3, 4, 5, 6]: + if a == 1: + if i == b: + count = count + 1 + elif a == 2: + for j in [1, 2, 3, 4, 5, 6]: + if i + j == b: + count = count + 1 + elif a == 3: + for j in [1, 2, 3, 4, 5, 6]: + for k in [1, 2, 3, 4, 5, 6]: + if i + j + k == b: + count = count + 1 + + problem = f"If ${a}$ dice are rolled at the same time, the probability of getting a sum of ${b} =$" + solution = rf"\frac{{{count}}}{{{6**a}}}" + return problem, solution + + +def mean_median(max_length=10): + """Mean and Median + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Given the series of numbers $[4, 19, 21, 22, 43, 44, 60, 81, 87, 92]$. Find the arithmatic mean and median of the series | Arithmetic mean of the series is $47.3$ and arithmetic median of this series is $43.5$ | + """ + randomlist = random.sample(range(1, 99), max_length) + total = 0 + for n in randomlist: + total = total + n + mean = total / 10 + randomlist.sort() + median = (randomlist[4] + randomlist[5]) / 2 + + problem = f"Given the series of numbers ${randomlist}$. Find the arithmatic mean and median of the series" + solution = f"Arithmetic mean of the series is ${mean}$ and arithmetic median of this series is ${median}$" + return problem, solution + + +def permutation(max_lengthgth=20): + """Permutations + + | Ex. Problem | Ex. Solution | + | --- | --- | + | Number of Permutations from $18$ objects picked $5$ at a time is: | $1028160$ | + """ + a = random.randint(10, max_lengthgth) + b = random.randint(0, 9) + solution = int(math.factorial(a) / (math.factorial(a - b))) + + problem = f"Number of Permutations from ${a}$ objects picked ${b}$ at a time is: " + return problem, f"${solution}$" diff --git a/scripts/genids.py b/scripts/genids.py new file mode 100644 index 0000000..1389854 --- /dev/null +++ b/scripts/genids.py @@ -0,0 +1,4 @@ +import mathgenerator + +with open('../mathgenerator/ids.txt', 'w') as f: + f.write('\n'.join([f'{g[4]}/{g[3]}' for g in mathgenerator.getGenList()])) diff --git a/scripts/needsLatex.py b/scripts/needsLatex.py deleted file mode 100644 index 5f0e1c2..0000000 --- a/scripts/needsLatex.py +++ /dev/null @@ -1,5 +0,0 @@ -from mathgenerator import mathgen - -for item in mathgen.getGenList(): - if item[2](format='latex') == 'Latex unavailable': - print(item[0], item[1], item[4]) diff --git a/scripts/unmodule.py b/scripts/unmodule.py new file mode 100644 index 0000000..d0df3f7 --- /dev/null +++ b/scripts/unmodule.py @@ -0,0 +1,10 @@ +import os + +name = 'computer_science' +with open (f'/home/luke/src/mathgenerator/mathgenerator/{name}.py', 'w') as f: + source_dir_path = f'/home/luke/src/mathgenerator/mathgenerator/{name}' + files = os.listdir(source_dir_path) + for file in sorted(files): + with open(os.path.join(source_dir_path, file), 'r') as f2: + f.write(f2.read()) + f.write('\n')