This commit is contained in:
D-T-666
2020-10-19 18:38:35 +04:00
6 changed files with 147 additions and 83 deletions

155
README.md
View File

@@ -31,85 +31,76 @@ problem, solution = mathgen.genById(0)
| Id | Skill | Example problem | Example Solution | Function Name | | Id | Skill | Example problem | Example Solution | Function Name |
|------|-----------------------------------|--------------------|-----------------------|--------------------------| |------|-----------------------------------|--------------------|-----------------------|--------------------------|
[//]: # list start [//]: # list start
| 0 | Addition | 0+0= | 0 | addition | | 0 | Addition | 33+23= | 56 | addition |
| 1 | Subtraction | 46-14= | 32 | subtraction | | 1 | Subtraction | 14-1= | 13 | subtraction |
| 2 | Multiplication | 6*12= | 72 | multiplication | | 2 | Multiplication | 52*1= | 52 | multiplication |
| 3 | Division | 39/11= | 3.5454545454545454 | division | | 3 | Division | 14/26= | 0.5384615384615384 | division |
| 4 | Binary Complement 1s | 0000= | 1111 | binaryComplement1s | | 4 | Binary Complement 1s | 0110111= | 1001000 | binaryComplement1s |
| 5 | Modulo Division | 98%34= | 30 | moduloDivision | | 5 | Modulo Division | 23%70= | 23 | moduloDivision |
| 6 | Square Root | sqrt(9)= | 3 | squareRoot | | 6 | Square Root | sqrt(121)= | 11 | squareRoot |
| 7 | Power Rule Differentiation | 5x^5 + 2x^9 + 4x^3 + 3x^3 | 25x^4 + 18x^8 + 12x^2 + 9x^2 | powerRuleDifferentiation | | 7 | Power Rule Differentiation | 3x^2 + 3x^5 + 1x^2 + 6x^4 + 6x^3 | 6x^1 + 15x^4 + 2x^1 + 24x^3 + 18x^2 | powerRuleDifferentiation |
| 8 | Square | 20^2= | 400 | square | | 8 | Square | 18^2= | 324 | square |
| 9 | LCM (Least Common Multiple) | LCM of 13 and 13 = | 13 | lcm | | 9 | LCM (Least Common Multiple) | LCM of 17 and 11 = | 187 | lcm |
| 10 | GCD (Greatest Common Denominator) | GCD of 16 and 13 = | 1 | gcd | | 10 | GCD (Greatest Common Denominator) | GCD of 15 and 12 = | 3 | gcd |
| 11 | Basic Algebra | 3x + 2 = 7 | 5/3 | basicAlgebra | | 11 | Basic Algebra | 2x + 3 = 10 | 7/2 | basicAlgebra |
| 12 | Logarithm | log3(243) | 5 | log | | 12 | Logarithm | log2(32) | 5 | log |
| 13 | Easy Division | 154/14 = | 11 | intDivision | | 13 | Easy Division | 196/14 = | 14 | intDivision |
| 14 | Decimal to Binary | Binary of 86= | 1010110 | decimalToBinary | | 14 | Decimal to Binary | Binary of 61= | 111101 | decimalToBinary |
| 15 | Binary to Decimal | 10 | 2 | binaryToDecimal | | 15 | Binary to Decimal | 1 | 1 | binaryToDecimal |
| 16 | Fraction Division | (5/1)/(3/2) | 10/3 | fractionDivision | | 16 | Fraction Division | (2/1)/(10/5) | 1 | fractionDivision |
| 17 | Integer Multiplication with 2x2 Matrix | 4 * [[2, 6], [8, 6]] = | [[8,24],[32,24]] | intMatrix22Multiplication | | 17 | Integer Multiplication with 2x2 Matrix | 16 * [[4, 1], [1, 2]] = | [[64,16],[16,32]] | intMatrix22Multiplication |
| 18 | Area of Triangle | Area of triangle with side lengths: 9 15 6 = | 0.0 | areaOfTriangle | | 18 | Area of Triangle | Area of triangle with side lengths: 15 13 11 = | 69.62892717829278 | areaOfTriangle |
| 19 | Triangle exists check | Does triangle with sides 23, 8 and 32 exist? | No | doesTriangleExist | | 19 | Triangle exists check | Does triangle with sides 35, 14 and 37 exist? | Yes | doesTriangleExist |
| 20 | Midpoint of the two point | (-19,9),(-9,8)= | (-14.0,8.5) | midPointOfTwoPoint | | 20 | Midpoint of the two point | (15,5),(9,10)= | (12.0,7.5) | midPointOfTwoPoint |
| 21 | Factoring Quadratic | x^2-1x-42 | (x-7)(x+6) | factoring | | 21 | Factoring Quadratic | x^2-12x+35 | (x-7)(x-5) | factoring |
| 22 | Third Angle of Triangle | Third angle of triangle with angles 41 and 80 = | 59 | thirdAngleOfTriangle | | 22 | Third Angle of Triangle | Third angle of triangle with angles 37 and 54 = | 89 | thirdAngleOfTriangle |
| 23 | Solve a System of Equations in R^2 | -6x + 3y = -39, -10x + 5y = -65 | x = 6, y = -1 | systemOfEquations | | 23 | Solve a System of Equations in R^2 | -4x - 8y = 60, -9x + 10y = 51 | x = -9, y = -3 | systemOfEquations |
| 24 | Distance between 2 points | Find the distance between (20, 0) and (-18, 0) | sqrt(1444) | distance2Point | | 24 | Distance between 2 points | Find the distance between (16, 7) and (19, 14) | sqrt(58) | distance2Point |
| 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 16 and 3 = | 16.28 | pythagoreanTheorem | | 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 18 and 8 = | 19.70 | pythagoreanTheorem |
| 26 | Linear Equations | 8x + 11y = 91 | 26 | Linear Equations | -8x + 15y = -109
-10x + 17y = -83 | x = 10, y = 1 | linearEquations | 6x + -14y = 90 | x = 8, y = -3 | linearEquations |
| 27 | Prime Factorisation | Find prime factors of 69 | [3, 23] | primeFactors | | 27 | Prime Factorisation | Find prime factors of 130 | [2, 5, 13] | primeFactors |
| 28 | Fraction Multiplication | (1/2)*(2/1) | 1 | fractionMultiplication | | 28 | Fraction Multiplication | (8/9)*(3/2) | 4/3 | fractionMultiplication |
| 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 11 sides | 147.27 | angleRegularPolygon | | 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 8 sides | 135.0 | angleRegularPolygon |
| 30 | Combinations of Objects | Number of combinations from 10 objects picked 1 at a time | 10 | combinations | | 30 | Combinations of Objects | Number of combinations from 11 objects picked 9 at a time | 55 | combinations |
| 31 | Factorial | 0! = | 1 | factorial | | 31 | Factorial | 2! = | 2 | factorial |
| 32 | Surface Area of Cube | Surface area of cube with side = 20m is | 2400 m^2 | surfaceAreaCubeGen | | 32 | Surface Area of Cube | Surface area of cube with side = 17m is | 1734 m^2 | surfaceAreaCubeGen |
| 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 19m, 6m, 13m is | 878 m^2 | surfaceAreaCuboidGen | | 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 8m, 4m, 17m is | 472 m^2 | surfaceAreaCuboidGen |
| 34 | Surface Area of Cylinder | Surface area of cylinder with height = 8m and radius = 9m is | 961 m^2 | surfaceAreaCylinderGen | | 34 | Surface Area of Cylinder | Surface area of cylinder with height = 32m and radius = 18m is | 5654 m^2 | surfaceAreaCylinderGen |
| 35 | Volum of Cube | Volume of cube with side = 20m is | 8000 m^3 | volumeCubeGen | | 35 | Volum of Cube | Volume of cube with side = 11m is | 1331 m^3 | volumeCubeGen |
| 36 | Volume of Cuboid | Volume of cuboid with sides = 15m, 7m, 5m is | 525 m^3 | volumeCuboidGen | | 36 | Volume of Cuboid | Volume of cuboid with sides = 14m, 19m, 1m is | 266 m^3 | volumeCuboidGen |
| 37 | Volume of cylinder | Volume of cylinder with height = 15m and radius = 15m is | 10602 m^3 | volumeCylinderGen | | 37 | Volume of cylinder | Volume of cylinder with height = 16m and radius = 18m is | 16286 m^3 | volumeCylinderGen |
| 38 | Surface Area of cone | Surface area of cone with height = 29m and radius = 15m is | 2245 m^2 | surfaceAreaConeGen | | 38 | Surface Area of cone | Surface area of cone with height = 48m and radius = 20m is | 4523 m^2 | surfaceAreaConeGen |
| 39 | Volume of cone | Volume of cone with height = 5m and radius = 7m is | 256 m^3 | volumeConeGen | | 39 | Volume of cone | Volume of cone with height = 29m and radius = 6m is | 1093 m^3 | volumeConeGen |
| 40 | Common Factors | Common Factors of 84 and 58 = | [1, 2] | commonFactors | | 40 | Common Factors | Common Factors of 59 and 57 = | [1] | commonFactors |
| 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = -6/3x and y = 3/5x - 1 | (5/13, -10/13) | intersectionOfTwoLines | | 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = -1/4x - 2 and y = 4/5x + 3 | (-100/21, -17/21) | intersectionOfTwoLines |
| 42 | Permutations | Number of Permutations from 11 objects picked 9 at a time = | 19958400 | permutations | | 42 | Permutations | Number of Permutations from 13 objects picked 8 at a time = | 51891840 | permutations |
| 43 | Cross Product of 2 Vectors | [-11, -12, -17] X [-12, -20, 13] = | [-496, 347, 76] | vectorCross | | 43 | Cross Product of 2 Vectors | [4, -11, 9] X [-8, -19, -5] = | [226, -52, -164] | vectorCross |
| 44 | Compare Fractions | Which symbol represents the comparison between 3/5 and 6/9? | < | compareFractions | | 44 | Compare Fractions | Which symbol represents the comparison between 3/7 and 2/4? | < | compareFractions |
| 45 | Simple Interest | Simple interest for a principle amount of 6089 dollars, 3% rate of interest and for a time period of 8 years is = | 1461.36 | simpleInterest | | 45 | Simple Interest | Simple interest for a principle amount of 2398 dollars, 9% rate of interest and for a time period of 5 years is = | 1079.1 | simpleInterest |
| 46 | Multiplication of two matrices | Multiply | 46 | Multiplication of two matrices | Multiply <table><tr><td>-50</td><td>36</td><td>7</td><td>-26</td><td>-2</td><td>63</td></tr><tr><td>88</td><td>-37</td><td>60</td><td>-19</td><td>61</td><td>-56</td></tr><tr><td>48</td><td>-5</td><td>69</td><td>-87</td><td>-64</td><td>-92</td></tr><tr><td>-84</td><td>-50</td><td>-79</td><td>-19</td><td>86</td><td>-13</td></tr><tr><td>0</td><td>28</td><td>12</td><td>-14</td><td>73</td><td>-49</td></tr><tr><td>94</td><td>-90</td><td>2</td><td>26</td><td>-38</td><td>19</td></tr><tr><td>2</td><td>-11</td><td>79</td><td>-77</td><td>98</td><td>-77</td></tr><tr><td>-87</td><td>70</td><td>72</td><td>-32</td><td>64</td><td>-99</td></tr></table> and <table><tr><td>34</td><td>32</td><td>-6</td><td>-32</td><td>46</td><td>-23</td><td>78</td><td>-81</td><td>-18</td></tr><tr><td>-17</td><td>24</td><td>49</td><td>-62</td><td>-50</td><td>77</td><td>38</td><td>-98</td><td>-64</td></tr><tr><td>-23</td><td>-78</td><td>43</td><td> 5</td><td>-83</td><td>-5</td><td> 4</td><td>-92</td><td>-16</td></tr><tr><td> 46</td><td>-47</td><td>-92</td><td>52</td><td>-25</td><td>-37</td><td>44</td><td>51</td><td>-7</td></tr><tr><td> 20</td><td>26</td><td>70</td><td>37</td><td>96</td><td>-73</td><td>49</td><td>84</td><td>42</td></tr><tr><td>-72</td><td>-15</td><td>-80</td><td>-24</td><td>58</td><td>-47</td><td>-41</td><td>45</td><td>-69</td></tr></table>| <table><tr><td>-8245</td><td>-1057</td><td>-423</td><td>-3535</td><td>-569</td><td>2034</td><td>-6329</td><td>1219</td><td>-5765</td></tr><tr><td>6619</td><td> 567</td><td>10737</td><td>2391</td><td>4001</td><td>-6291</td><td>10147</td><td>-7387</td><td>6383</td></tr><tr><td>1472</td><td>-161</td><td>13318</td><td>-5565<td>-12574</td><td>10381</td><td> 638<td>-23699</td><td>2621</td></tr><tr><td>1593</td><td>5598</td><td>3465</td><td>7899</td><td>13170</td><td>-6487</td><td>-4857</td><td>24642</td><td>10618</td></tr><tr><td>3592</td><td>3027</td><td>12206</td><td>1473</td><td>2120</td><td>-412</td><td>6082</td><td>-635</td><td>4561</td></tr><tr><td>3748</td><td>-1803<td>-11460</td><td>2072</td><td>5462</td><td>-8183</td><td>2423</td><td>11</td><td> 947</td></tr><tr><td>2400</td><td> 960</td><td>22950</td><td>2483</td><td> 952</td><td>-1974</td><td>4625</td><td>-5512</td><td>9372</td></tr><tr><td>1132</td><td>-2067</td><td>22392</td><td>1884<td>-12276</td><td>8196</td><td>1949</td><td>-7148</td><td>5677</td></tr></table> | matrixMultiplication |
<table><tr><td> 35</td><td> -82</td><td> -90</td><td> -70</td><td> -68</td></tr> <tr><td> 11</td><td> 15</td><td> -23</td><td> 94</td><td> -93</td></tr> <tr><td> -85</td><td> -30</td><td> -79</td><td> 2</td><td> -71</td></tr> <tr><td> 40</td><td> -33</td><td> -24</td><td> 87</td><td> 70</td></tr> <tr><td> 94</td><td> -86</td><td> -62</td><td> -40</td><td> 58</td></tr></table> and [ 10584, 13902, 11916, -7446, 4430, 554]
[ -1800, 6587, 14343, 6224, 4525, 4853]
<table><tr><td> -91</td><td> -4</td><td> -1</td><td> 43</td><td> -22</td><td> -73</td><td> -29</td></tr> <tr><td> 44</td><td> 24</td><td> 90</td><td> -65</td><td> 100</td><td> 31</td><td> 45</td></tr> <tr><td> 73</td><td> -64</td><td> 55</td><td> -9</td><td> -21</td><td> 51</td><td> 7</td></tr> <tr><td> 5</td><td> 65</td><td> -31</td><td> 50</td><td> -62</td><td> -27</td><td> -51</td></tr> <tr><td> 55</td><td> -88</td><td> -83</td><td> -5</td><td> -41</td><td> -26</td><td> 84]] | [[-17453, 5086, -4551, 4485, 48, -6029, -7477] [-12452, -10675, -8693, 427, 2955, 17691]] | matrixMultiplication |
[ -6665, 16082, 4879, 4870, -274, -1631, -12411] | 47 | Cube Root | cuberoot of 221 upto 2 decimal places is: | 6.05 | CubeRoot |
[ -3247, 11054, -1129, -539, 3316, 3038, -5504] | 48 | Power Rule Integration | 4x^5 + 2x^5 + 9x^8 + 9x^5 | (4/5)x^6 + (2/5)x^6 + (9/8)x^9 + (9/5)x^6 + c | powerRuleIntegration |
[ -2559, 79, -12837, 8081, -11940, -9336, -1370] | 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 27 , 155, 116 = | 62 | fourthAngleOfQuadrilateral |
[-13874, -6176, -14818, 7900, -9264, -13118, -118]] | matrixMultiplication | | 50 | Quadratic Equation | Zeros of the Quadratic Equation 53x^2+200x+78=0 | [-0.44, -3.33] | quadraticEquationSolve |
| 47 | Cube Root | cuberoot of 432 upto 2 decimal places is: | 7.56 | CubeRoot | | 51 | HCF (Highest Common Factor) | HCF of 7 and 4 = | 1 | hcf |
| 48 | Power Rule Integration | 2x^10 | (2/10)x^11 + c | powerRuleIntegration | | 52 | Probability of a certain sum appearing on faces of dice | If 2 dice are rolled at the same time, the probability of getting a sum of 11 = | 2/36 | diceSumProbability |
| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 29 , 153, 130 = | 48 | fourthAngleOfQuadrilateral | | 53 | Exponentiation | 9^10 = | 3486784401 | exponentiation |
| 50 | Quadratic Equation | Zeros of the Quadratic Equation 85x^2+188x+3=0 | [-0.02, -2.2] | quadraticEquationSolve | | 54 | Confidence interval For sample S | The confidence interval for sample [266, 201, 278, 209, 229, 275, 216, 234, 219, 276, 282, 281, 208, 247, 265, 273, 286, 202, 231, 207, 251, 203, 259, 288, 291, 260, 210, 263, 222] with 99% confidence is | (260.5668079141175, 231.29526105139982) | confidenceInterval |
| 51 | HCF (Highest Common Factor) | HCF of 5 and 7 = | 1 | hcf | | 55 | Comparing surds | Fill in the blanks 15^(1/9) _ 55^(1/1) | < | surdsComparison |
| 52 | Probability of a certain sum appearing on faces of dice | If 2 dice are rolled at the same time, the probability of getting a sum of 5 = | 4/36 | diceSumProbability | | 56 | Fibonacci Series | The Fibonacci Series of the first 10 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] | fibonacciSeries |
| 53 | Exponentiation | 13^9 = | 10604499373 | exponentiation | | 57 | Trigonometric Values | What is tan(30)? | 1/√3 | basicTrigonometry |
| 54 | Confidence interval For sample S | The confidence interval for sample [232, 294, 245, 210, 221, 211, 257, 229, 258, 218, 290, 235, 203, 281, 296, 244, 243, 263, 251, 224, 276, 299, 298, 208, 285, 282, 266, 213, 270, 284, 297, 246, 230, 288, 207, 228, 279, 202, 240, 256] with 80% confidence is | (257.72581618790196, 245.224183812098) | confidenceInterval | | 58 | Sum of Angles of Polygon | Sum of angles of polygon with 3 sides = | 180 | sumOfAnglesOfPolygon |
| 55 | Comparing surds | Fill in the blanks 96^(1/7) _ 15^(1/6) | > | surdsComparison | | 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[36, 13, 31, 23, 38, 34, 24, 20, 41, 14, 19, 31, 11, 49, 49] | The Mean is 28.866666666666667 , Standard Deviation is 143.5822222222222, Variance is 11.982579948501167 | dataSummary |
| 56 | Fibonacci Series | The Fibonacci Series of the first 7 numbers is ? | [0, 1, 1, 2, 3, 5, 8] | fibonacciSeries | | 59 | Surface Area of Sphere | Surface area of Sphere with radius = 11m is | 1520.5308443374597 m^2 | surfaceAreaSphereGen |
| 57 | Trigonometric Values | What is sin(0)? | 0 | basicTrigonometry | | 60 | Volume of Sphere | Volume of sphere with radius 73 m = | 1629510.5990953872 m^3 | volumeSphere |
| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 10 sides = | 1440 | sumOfAnglesOfPolygon | | 61 | nth Fibonacci number | What is the 68th Fibonacci number? | 72723460248141 | nthFibonacciNumberGen |
| 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[15, 24, 20, 12, 49, 43, 21, 27, 11, 44, 19, 25, 40, 40, 7] | The Mean is 26.466666666666665 , Standard Deviation is 169.98222222222222, Variance is 13.03772304592417 | dataSummary | | 62 | Profit or Loss Percent | Profit percent when CP = 825 and SP = 972 is: | 17.81818181818182 | profitLossPercent |
| 60 | Surface Area of Sphere | Surface area of Sphere with radius = 2m is | 50.26548245743669 m^2 | surfaceAreaSphereGen | | 63 | Binary to Hexidecimal | 100000 | 0x20 | binaryToHex |
| 61 | Volume of Sphere | Volume of sphere with radius 15 m = | 14137.166941154068 m^3 | volumeSphere | | 64 | Multiplication of 2 complex numbers | (3+14j) * (-3+16j) = | (-233+6j) | complexNumMultiply |
| 62 | nth Fibonacci number | What is the 100th Fibonacci number? | 354224848179263111168 | nthFibonacciNumberGen | | 65 | Geometric Progression | For the given GP [4, 16, 64, 256, 1024, 4096] ,Find the value of a,common ratio,8th term value, sum upto 7th term | The value of a is 4, common ratio is 4 , 8th term is 65536 , sum upto 7th term is 21844.0 | geometricprogression |
| 63 | Profit or Loss Percent | Loss percent when CP = 273 and SP = 196 is: | 28.205128205128204 | profitLossPercent | | 66 | Geometric Mean of N Numbers | Geometric mean of 3 numbers 81 , 35 and 99 = | (81*35*99)^(1/3) = 65.47307713912309 | geometricMean |
| 64 | Binary to Hexidecimal | 11111101 | 0xfd | binaryToHex | | 67 | Harmonic Mean of N Numbers | Harmonic mean of 2 numbers 99 and 25 = | 2/((1/99) + (1/25)) = 39.91935483870967 | harmonicMean |
| 65 | Multiplication of 2 complex numbers | (4-18j) * (-7-7j) = | (-154+98j) | complexNumMultiply |
| 66 | Geometric Progression | For the given GP [5, 20, 80, 320, 1280, 5120] ,Find the value of a,common ratio,7th term value, sum upto 8th term | The value of a is 5, common ratio is 4 , 7th term is 20480 , sum upto 8th term is 109225.0 | geometricprogression |
| 67 | Geometric Mean of N Numbers | Geometric mean of 2 numbers 73 and 84 = | (73*84)^(1/2) = 78.30708780180757 | geometricMean |
| 68 | Harmonic Mean of N Numbers | Harmonic mean of 3 numbers 48 , 90 and 92 = | 3/((1/48) + (1/90) + (1/92)) = 70.07052186177715 | harmonicMean |
| 69 | Euclidian norm or L2 norm of a vector | Euclidian norm or L2 norm of the vector[924.2913636750363, 20.503795974707305, 517.3232583455609, 108.40962248839648, 53.90127703299286, 439.08768846258494, 456.9202154814549, 994.1184872614399, 582.1310398602112, 900.2850171703179, 600.8210520400753, 976.4837679476245, 322.81868740893447, 200.87610464653193] is: | 2266.1247066414917 | eucldianNorm |
| 70 | Angle between 2 vectors | angle between the vectors [208.76603907240408, 856.3899288947613, 504.6705923607805, 59.53820731849413, 225.96877896886213, 106.59039269390458, 954.4412959874746, 833.8565561650387] and [137.70718881439137, 398.58328047203594, 697.7790424491039, 94.83157368402372, 84.50274981272999, 643.3388926841467, 27.78410024116851, 405.7876464522183] is: | NaN | angleBtwVectors |
| 71 | Absolute difference between two numbers | Absolute difference between numbers -11 and 65 = | 76 | absoluteDifference |
| 72 | Dot Product of 2 Vectors | [-6, -17, -7] . [4, -14, -10] = | 284 | vectorDot |
| 73 | Binary 2's Complement | 2's complement of 1 = | 1 | binary2sComplement |

View File

@@ -2,3 +2,4 @@ pytest
hypothesis hypothesis
flake8 flake8
autopep8 autopep8
sympy

View File

@@ -76,3 +76,4 @@ from .angleBtwVectorsFunc import *
from .absoluteDifferenceFunc import * from .absoluteDifferenceFunc import *
from .vectorDotFunc import * from .vectorDotFunc import *
from .binary2sComplement import * from .binary2sComplement import *
from .matrixInversion import *

View File

@@ -0,0 +1,69 @@
from .__init__ import *
import sympy
def matrixInversion(SquareMatrixDimension=3, MaxMatrixElement=99, OnlyIntegerElementsInInvertedMatrix=False):
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 ' + str(Mat) + ' is:'
solution = str(sympy.Matrix.inv(Mat))
return problem, solution

View File

@@ -108,3 +108,4 @@ angleBtwVectors=Generator("Angle between 2 vectors", 70, "Angle Between 2 vector
absoluteDifference=Generator("Absolute difference between two numbers", 71, "Absolute difference betweeen two numbers a and b =", "|a-b|", absoluteDifferenceFunc) absoluteDifference=Generator("Absolute difference between two numbers", 71, "Absolute difference betweeen two numbers a and b =", "|a-b|", absoluteDifferenceFunc)
vectorDot = Generator("Dot Product of 2 Vectors", 72, "a . b = ", "c", vectorDotFunc) vectorDot = Generator("Dot Product of 2 Vectors", 72, "a . b = ", "c", vectorDotFunc)
binary2sComplement = Generator("Binary 2's Complement", 73, "2's complement of 11010110 =", "101010", binary2sComplementFunc) binary2sComplement = Generator("Binary 2's Complement", 73, "2's complement of 11010110 =", "101010", binary2sComplementFunc)
invertmatrix = Generator("Inverse of a Matrix", 74, "Inverse of a matrix A is", "A^(-1)", matrixInversion)

View File

@@ -3,3 +3,4 @@ from mathgenerator import mathgen
#test your generators here #test your generators here
print(mathgen.addition()) print(mathgen.addition())
print(mathgen.genById(74))