From 95eff8572a728f8b6e66fb53f43c1b4af722bb5c Mon Sep 17 00:00:00 2001 From: Sankari Karthik Date: Sat, 9 Oct 2021 15:13:49 +0530 Subject: [PATCH] added generator for perecentage error calculation --- README.md | 115 ------------------ mathgenerator/funcs/basic_math/__init__.py | 1 + .../funcs/basic_math/percentage_error.py | 24 ++++ 3 files changed, 25 insertions(+), 115 deletions(-) create mode 100644 mathgenerator/funcs/basic_math/percentage_error.py diff --git a/README.md b/README.md index 0e3812e..41089c8 100644 --- a/README.md +++ b/README.md @@ -68,136 +68,21 @@ This creates the pdf `ws.pdf` in your current directory ## 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) | 7x + 5 = 8 | 3/7 | basic_algebra | `maxVariable=10` | -| 12 | [Logarithm](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/log.py) | log2(16) | 4 | 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) | 12 * [[6, 0], [5, 8]] = | [[72,0],[60,96]] | 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) | (-13,12),(9,19)= | (-2.0,15.5) | midpoint_of_two_points | `maxValue=20` | -| 21 | [Factoring Quadratic](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/factoring.py) | x^2-6x-40 | (x-10)(x+4) | 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) | -5x + 2y = 40, -10x + 7y = 80 | x = -8, y = 0 | 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 (-8, -12) and (11, -8) | sqrt(377) | distance_two_points | `maxValXY=20` `minValXY=-20` | -| 26 | [Linear Equations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/linear_equations.py) | -5x + -19y = 155, 3x + -15y = 39 | x = -12, y = -5 | 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 = -7x + 9 and y = -10/2x + 6 | (3/2, -3/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) | [14, 14, 17] X [-20, -1, 14] = | [213, -536, 266] | 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 2241 dollars, 8% rate of interest and for a time period of 6 years is = | 1075.68 | 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
-10182
47-8-2
375-8
and
-7-2
010
410
-107
|
82124
-40-32
7958
| matrix_multiplication | `maxVal=100` `max_dim=10` | -| 50 | [Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/quadratic_equation.py) | Zeros of the Quadratic Equation 43x^2+171x+71=0 | [-0.47, -3.51] | quadratic_equation | `maxVal=100` | -| 65 | [Multiplication of 2 complex numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_complex_numbers.py) | (-6+1j) * (15+20j) = | (-110-105j) | 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) | [1, -3, 12] . [10, 18, 7] = | 40 | 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 Matrix([[63, 26, 31], [41, 88, 53], [23, 17, 73]]) is: | Matrix([[1841/86896, -457/86896, -225/43448], [-887/130344, 1943/130344, -517/65172], [-1327/260688, -473/260688, 2239/130344]]) | invert_matrix | `SquareMatrixDimension=3` `MaxMatrixElement=99` `OnlyIntegerElementsInInvertedMatrix=False` | -| 77 | [Determinant to 2x2 Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/int_matrix_22_determinant.py) | Det([[83, 6], [16, 95]]) = | 7789 | 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 9301 dollars, 9% rate of interest and for a time period of 3 year is = | 12045.06 | 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 x^2 + 7x + 2 = 0 | simplified solution : ((-0.298, -6.702)), generalized solution : ((-7 + sqrt(41))/2*1, (-7 - sqrt(41))/2*1) | 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^3 + 4x^1 + 8x^1 + 9x^5 + 7x^4 + 9x^3 + 6x^5 | 12x^1 + 13x^3 + 7x^4 + 15x^5 | 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) | (-9x-1)(-10x-1) | 90*x^2+19*x+1 | 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) | 27+42= | 69 | addition | `maxSum=99` `maxAddend=50` | -| 1 | [Subtraction](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/subtraction.py) | 8-0= | 8 | subtraction | `maxMinuend=99` `maxDiff=99` | -| 2 | [Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/multiplication.py) | 12*4= | 48 | multiplication | `maxMulti=12` | -| 3 | [Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/division.py) | 130/13= | 10 | division | `maxA=25` `maxB=25` | -| 6 | [Square Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square_root.py) | sqrt(36)= | 6 | square_root | `minNo=1` `maxNo=12` | -| 8 | [Square](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square.py) | 10^2= | 100 | square | `maxSquareNum=20` | -| 13 | [Complex Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/complex_division.py) | 55/4= | 13.75 | complex_division | `maxRes=99` `maxDivid=99` | -| 16 | [Fraction Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/divide_fractions.py) | (9/8)/(8/10) | 45/32 | divide_fractions | `maxVal=10` | -| 28 | [Fraction Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_multiplication.py) | (4/1)*(10/2) | 20 | fraction_multiplication | `maxVal=10` | -| 31 | [Factorial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/factorial.py) | 6! = | 720 | 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 4/5 and 7/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 835 up to 2 decimal places? | 9.42 | cube_root | `minNo=1` `maxNo=1000` | -| 53 | [Exponentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/exponentiation.py) | 2^5 = | 32 | 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) | |2--88|= | 90 | 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 65% of 80? | 52.00 | percentage | `maxValue=99` `maxpercentage=99` | -| 90 | [isprime](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_prime.py) | Is 26 prime? | No | 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 34^9^10= | 34^90 | power_of_powers | `maxBase=50` `maxPower=10` | ## 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) | 8x^8 + 10x^7 + 1x^8 + 10x^6 | 64x^7 + 70x^6 + 8x^7 + 60x^5 | 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) | 1x^5 + 9x^4 + 3x^9 + 4x^8 | (1/5)x^6 + (9/4)x^5 + (3/9)x^10 + (4/8)x^9 + c | power_rule_integration | `maxCoef=10` `maxExp=10` `maxTerms=5` | -| 88 | [Differentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/differentiation.py) | differentiate w.r.t x : d(cot(x)+7*x^(-3))/dx | -cot(x)^2 - 1 - 21/x^4 | differentiation | `diff_lvl=2` | -| 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 91x^2 + 2x + 25 is = | 56.3333 | definite_integral | `max_coeff=100` | -| 110 | [Stationary Points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/stationary_points.py) | f(x)=7*x^3 + 3*x^2 + 4*x | | 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) | 0010100= | 1101011 | binary_complement_1s | `maxDigits=10` | -| 5 | [Modulo Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/modulo_division.py) | 34%7= | 6 | 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 35= | 100011 | 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) | 1110 | 14 | 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 12 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 78th Fibonacci number? | 8944394323791488 | nth_fibonacci_number | `maxN=100` | -| 64 | [Binary to Hexidecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_hex.py) | 00 | 0x0 | 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 406= | 0x196 | 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 3398 in Octal is: | 0o6506 | 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 5 is = | 21877 | 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 8241 is = | 2031 | 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: 7 5 8 = | 17.320508075688775 | area_of_triangle | `maxA=20` `maxB=20` `maxC=20` | -| 19 | [Triangle exists check](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/valid_triangle.py) | Does triangle with sides 1, 10 and 7 exist? | No | 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 41 and 4 = | 135 | third_angle_of_triangle | `maxAngle=89` | -| 25 | [Pythagorean Theorem](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/pythagorean_theorem.py) | The hypotenuse of a right triangle given the other two 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 18 sides | 160.0 | 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 = 1m is | 6 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 = 11m, 9m, 14m is | 758 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 = 32m and radius = 11m is | 2971 m^2 | surface_area_cylinder | `maxRadius=20` `maxHeight=50` `unit='m'` | -| 35 | [Volum of Cube](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cube.py) | Volume of cube with side = 2m is | 8 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 = 16m, 20m, 16m is | 5120 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 = 5m and radius = 3m is | 141 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 = 7m and radius = 20m 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 = 11m and radius = 15m is | 2591 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 154 , 53, 132 = | 21 | fourth_angle_of_quadrilateral | `maxAngle=180` | -| 57 | [Trigonometric Values](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/basic_trigonometry.py) | What is cos(60)? | 1/2 | 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) | Sum of angles of polygon with 12 sides = | 1800 | 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 = 3m is | 113.09733552923255 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 78 m = | 1987798.7692617911 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 [997.76, 915.16, 886.73, 65.66, 59.48, 928.61, 268.24, 889.07, 302.53, 894.95] and [457.87, 988.95, 229.31, 312.49, 386.73, 822.4, 888.11, 849.72, 366.12, 582.06] is: | 0.54 radians | angle_btw_vectors | `maxEltAmt=20` | -| 75 | [Area of a Sector](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/sector_area.py) | Given radius, 48 and angle, 145. Find the area of the sector. | Area of sector = 2915.39798 | 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 5 in radians is = | 0.09 | 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 3 in degrees is = | 171.89 | radian_to_deg | `max_rad=3` | -| 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, 22 and height, 58? | CSA of cylinder = 8017.34 | 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 12 sided polygon with lengths of [59, 37, 45, 116, 15, 97, 52, 45, 37, 89, 98, 71]cm is: | 761 | 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 19 | 119.38052083641213 | circumference | `maxRadius=100` | -| 108 | [Arc length of Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/arc_length.py) | Given radius, 40 and angle, 74. Find the arc length of the angle. | Arc length of the angle = 51.66175 | 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 3 | 28.285714285714285 | 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 = 23m and r1 = 19m is and r2 = 19m is | 15679.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 (-19,-11) and (-4,20) in slope-intercept form? | 15y = 31x + 424 | equation_of_line_from_two_points | `maxCoordinate=20` `minCoordinate=-20` | ## 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 17 and 1 = | 17 | lcm | `maxVal=20` | -| 10 | [GCD (Greatest Common Denominator)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/gcd.py) | GCD of 4 and 10 = | 2 | gcd | `maxVal=20` | -| 27 | [Prime Factorisation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/prime_factors.py) | Find prime factors of 65 | [5, 13] | 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 2 and 96 = | [1, 2] | common_factors | `maxVal=100` | -| 51 | [HCF (Highest Common Factor)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/hcf.py) | HCF of 3 and 3 = | 3 | hcf | `maxVal=20` | -| 55 | [Comparing surds](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/surds_comparison.py) | Fill in the blanks 10^(1/9) _ 81^(1/1) | < | 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) | Loss percent when CP = 776 and SP = 765 is: | 1.4175257731958764 | 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 [11, 44, 176, 704, 2816, 11264] ,Find the value of a,common ratio,7th term value, sum upto 11th term | The value of a is 11, common ratio is 4 , 7th term is 45056 , sum upto 11th term is 15379111.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 81 , 86 and 10 = | (81*86*10)^(1/3) = 41.14601910222523 | geometric_mean | `maxValue=100` `maxNum=4` | -| 68 | [Harmonic Mean of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/harmonic_mean.py) | Harmonic mean of 3 numbers 16 , 8 and 90 = | 3/((1/16) + (1/8) + (1/90)) = 15.104895104895105 | 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[713.3697155960601, 113.23693566589287, 110.16552790278855, 394.36588841562923, 761.5268202733965, 323.174835097221, 636.0137791095572] is: | 1333.5135737837843 | euclidian_norm | `maxEltAmt=20` | -| 81 | [Celsius To Fahrenheit](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/celsius_to_fahrenheit.py) | Convert -4 degrees Celsius to degrees Fahrenheit = | 24.8 | celsius_to_fahrenheit | `maxTemp=100` | -| 82 | [AP Term Calculation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/arithmetic_progression_term.py) | Find the term number 36 of the AP series: -59, -150, -241 ... | -3244 | 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 58 terms of the AP series: 60, 71, 82 ... | 21663.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: | MMMCCI | 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) | 16.28(-16.0theta + i3.0theta) | 2.96 | 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={8, 10, 4} ,b={2, 3, 6, 7}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {2, 3, 4, 6, 7, 8, 10},Intersection is set(), a-b is {8, 10, 4},b-a is {2, 3, 6, 7}, Symmetric difference is {2, 3, 4, 6, 7, 8, 10} | 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 101743 from base 8 to base 16. | 83E3 | 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 19^9 and 19^4 = 19^(9-4) = 19^5 | 2476099 | 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 1^5 and 11^5 = (1/11)^5 = 0.09090909090909091^5 | 6.209213230591552e-06 | 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) | Year 2084 | is 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 525 minutes to Hours & Minutes | 8 hours and 45 minutes | minutes_to_hours | `maxMinutes=999` | -| 106 | [signum function](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/signum_function.py) | signum of 17 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, 32.13% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of 14 pistons will contain no more than 1 rejected pistons? | 3.36 | binomial_distribution | `` | ## 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) | Number of combinations from 16 objects picked 8 at a time | 12870 | combinations | `maxlength=20` | -| 42 | [Permutations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/permutation.py) | Number of Permutations from 14 objects picked 0 at a time = | 1 | 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 2 dice are rolled at the same time, the probability of getting a sum of 2 = | 1/36 | 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 [297, 220, 227, 267, 249, 243, 258, 209, 203, 276, 239, 241, 283, 226, 246, 240, 273, 222, 254, 290, 244, 225, 286, 228, 296, 233, 238, 229, 264, 210, 235, 298, 256, 223, 242, 202] with 90% confidence is | (253.8057739042855, 239.0831149846034) | 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[17, 28, 12, 9, 29, 46, 19, 37, 49, 46, 7, 45, 8, 17, 9] | The Mean is 25.2 , Standard Deviation is 232.29333333333332, Variance is 15.241172308367009 | 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 [4, 25, 30, 45, 46, 49, 69, 70, 71, 95]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 50.4 and Arithmetic median of this series is 47.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.46% of population have. Test sensitivity (true positive) is equal to SN= 95.64% whereas test specificity (true negative) SP= 97.97%. What is the probability that this guy really has that disease? | 41.11% | conditional_probability | `` | diff --git a/mathgenerator/funcs/basic_math/__init__.py b/mathgenerator/funcs/basic_math/__init__.py index 8e1a708..092f7bb 100644 --- a/mathgenerator/funcs/basic_math/__init__.py +++ b/mathgenerator/funcs/basic_math/__init__.py @@ -13,6 +13,7 @@ from .fraction_multiplication import * from .is_prime import * from .multiplication import * from .percentage import * +from .percentage_error import * from .power_of_powers import * from .square import * from .square_root import * diff --git a/mathgenerator/funcs/basic_math/percentage_error.py b/mathgenerator/funcs/basic_math/percentage_error.py new file mode 100644 index 0000000..32b9067 --- /dev/null +++ b/mathgenerator/funcs/basic_math/percentage_error.py @@ -0,0 +1,24 @@ +from .__init__ import * + + +def gen_func(maxValue=100, minValue=-100, format='string'): + observed_value = random.randint(minValue, maxValue) + exact_value = random.randint(minValue, maxValue) + + error = (abs(observed_value - exact_value)/abs(exact_value))*100 + error = round(error,2) + + if format == 'string': + problem = f"Find the percentage error when observed value equals {observed_value} and exact value equals {exact_value}." + solution = str(error) + "%" + return problem, solution + + elif format == 'latex': + return 'Latex unavailable' + + else: + return observed_value, exact_value, error + + +percentage_error = Generator("Percentage error", , gen_func, + ["maxValue=100", "minValue=-100"])