| 55 | -88 | -83 | -5 | -41 | -26 | 84]] | [[-17453, 5086, -4551, 4485, 48, -6029, -7477]
- [ -6665, 16082, 4879, 4870, -274, -1631, -12411]
- [ -3247, 11054, -1129, -539, 3316, 3038, -5504]
- [ -2559, 79, -12837, 8081, -11940, -9336, -1370]
- [-13874, -6176, -14818, 7900, -9264, -13118, -118]] | matrixMultiplication |
-| 47 | Cube Root | cuberoot of 432 upto 2 decimal places is: | 7.56 | CubeRoot |
-| 48 | Power Rule Integration | 2x^10 | (2/10)x^11 + c | powerRuleIntegration |
-| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 29 , 153, 130 = | 48 | fourthAngleOfQuadrilateral |
-| 50 | Quadratic Equation | Zeros of the Quadratic Equation 85x^2+188x+3=0 | [-0.02, -2.2] | quadraticEquationSolve |
-| 51 | HCF (Highest Common Factor) | HCF of 5 and 7 = | 1 | hcf |
-| 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 |
-| 53 | Exponentiation | 13^9 = | 10604499373 | exponentiation |
-| 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 |
-| 55 | Comparing surds | Fill in the blanks 96^(1/7) _ 15^(1/6) | > | surdsComparison |
-| 56 | Fibonacci Series | The Fibonacci Series of the first 7 numbers is ? | [0, 1, 1, 2, 3, 5, 8] | fibonacciSeries |
-| 57 | Trigonometric Values | What is sin(0)? | 0 | basicTrigonometry |
-| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 10 sides = | 1440 | sumOfAnglesOfPolygon |
-| 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 |
-| 60 | Surface Area of Sphere | Surface area of Sphere with radius = 2m is | 50.26548245743669 m^2 | surfaceAreaSphereGen |
-| 61 | Volume of Sphere | Volume of sphere with radius 15 m = | 14137.166941154068 m^3 | volumeSphere |
-| 62 | nth Fibonacci number | What is the 100th Fibonacci number? | 354224848179263111168 | nthFibonacciNumberGen |
-| 63 | Profit or Loss Percent | Loss percent when CP = 273 and SP = 196 is: | 28.205128205128204 | profitLossPercent |
-| 64 | Binary to Hexidecimal | 11111101 | 0xfd | binaryToHex |
-| 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 |
+| 0 | Addition | 33+23= | 56 | addition |
+| 1 | Subtraction | 14-1= | 13 | subtraction |
+| 2 | Multiplication | 52*1= | 52 | multiplication |
+| 3 | Division | 14/26= | 0.5384615384615384 | division |
+| 4 | Binary Complement 1s | 0110111= | 1001000 | binaryComplement1s |
+| 5 | Modulo Division | 23%70= | 23 | moduloDivision |
+| 6 | Square Root | sqrt(121)= | 11 | squareRoot |
+| 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 | 18^2= | 324 | square |
+| 9 | LCM (Least Common Multiple) | LCM of 17 and 11 = | 187 | lcm |
+| 10 | GCD (Greatest Common Denominator) | GCD of 15 and 12 = | 3 | gcd |
+| 11 | Basic Algebra | 2x + 3 = 10 | 7/2 | basicAlgebra |
+| 12 | Logarithm | log2(32) | 5 | log |
+| 13 | Easy Division | 196/14 = | 14 | intDivision |
+| 14 | Decimal to Binary | Binary of 61= | 111101 | decimalToBinary |
+| 15 | Binary to Decimal | 1 | 1 | binaryToDecimal |
+| 16 | Fraction Division | (2/1)/(10/5) | 1 | fractionDivision |
+| 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: 15 13 11 = | 69.62892717829278 | areaOfTriangle |
+| 19 | Triangle exists check | Does triangle with sides 35, 14 and 37 exist? | Yes | doesTriangleExist |
+| 20 | Midpoint of the two point | (15,5),(9,10)= | (12.0,7.5) | midPointOfTwoPoint |
+| 21 | Factoring Quadratic | x^2-12x+35 | (x-7)(x-5) | factoring |
+| 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 | -4x - 8y = 60, -9x + 10y = 51 | x = -9, y = -3 | systemOfEquations |
+| 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 18 and 8 = | 19.70 | pythagoreanTheorem |
+| 26 | Linear Equations | -8x + 15y = -109
+6x + -14y = 90 | x = 8, y = -3 | linearEquations |
+| 27 | Prime Factorisation | Find prime factors of 130 | [2, 5, 13] | primeFactors |
+| 28 | Fraction Multiplication | (8/9)*(3/2) | 4/3 | fractionMultiplication |
+| 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 11 objects picked 9 at a time | 55 | combinations |
+| 31 | Factorial | 2! = | 2 | factorial |
+| 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 = 8m, 4m, 17m is | 472 m^2 | surfaceAreaCuboidGen |
+| 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 = 11m is | 1331 m^3 | volumeCubeGen |
+| 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 = 16m and radius = 18m is | 16286 m^3 | volumeCylinderGen |
+| 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 = 29m and radius = 6m is | 1093 m^3 | volumeConeGen |
+| 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 = -1/4x - 2 and y = 4/5x + 3 | (-100/21, -17/21) | intersectionOfTwoLines |
+| 42 | Permutations | Number of Permutations from 13 objects picked 8 at a time = | 51891840 | permutations |
+| 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/7 and 2/4? | < | compareFractions |
+| 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 | -50 | 36 | 7 | -26 | -2 | 63 | | 88 | -37 | 60 | -19 | 61 | -56 | | 48 | -5 | 69 | -87 | -64 | -92 | | -84 | -50 | -79 | -19 | 86 | -13 | | 0 | 28 | 12 | -14 | 73 | -49 | | 94 | -90 | 2 | 26 | -38 | 19 | | 2 | -11 | 79 | -77 | 98 | -77 | | -87 | 70 | 72 | -32 | 64 | -99 | and | 34 | 32 | -6 | -32 | 46 | -23 | 78 | -81 | -18 | | -17 | 24 | 49 | -62 | -50 | 77 | 38 | -98 | -64 | | -23 | -78 | 43 | 5 | -83 | -5 | 4 | -92 | -16 | | 46 | -47 | -92 | 52 | -25 | -37 | 44 | 51 | -7 | | 20 | 26 | 70 | 37 | 96 | -73 | 49 | 84 | 42 | | -72 | -15 | -80 | -24 | 58 | -47 | -41 | 45 | -69 | | | -8245 | -1057 | -423 | -3535 | -569 | 2034 | -6329 | 1219 | -5765 | | 6619 | 567 | 10737 | 2391 | 4001 | -6291 | 10147 | -7387 | 6383 | | 1472 | -161 | 13318 | -5565 | -12574 | 10381 | 638 | -23699 | 2621 | | 1593 | 5598 | 3465 | 7899 | 13170 | -6487 | -4857 | 24642 | 10618 | | 3592 | 3027 | 12206 | 1473 | 2120 | -412 | 6082 | -635 | 4561 | | 3748 | -1803 | -11460 | 2072 | 5462 | -8183 | 2423 | 11 | 947 | | 2400 | 960 | 22950 | 2483 | 952 | -1974 | 4625 | -5512 | 9372 | | 1132 | -2067 | 22392 | 1884 | -12276 | 8196 | 1949 | -7148 | 5677 | | matrixMultiplication |
+ [ 10584, 13902, 11916, -7446, 4430, 554]
+ [ -1800, 6587, 14343, 6224, 4525, 4853]
+ [-12452, -10675, -8693, 427, 2955, 17691]] | matrixMultiplication |
+| 47 | Cube Root | cuberoot of 221 upto 2 decimal places is: | 6.05 | CubeRoot |
+| 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 |
+| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 27 , 155, 116 = | 62 | fourthAngleOfQuadrilateral |
+| 50 | Quadratic Equation | Zeros of the Quadratic Equation 53x^2+200x+78=0 | [-0.44, -3.33] | quadraticEquationSolve |
+| 51 | HCF (Highest Common Factor) | HCF of 7 and 4 = | 1 | hcf |
+| 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 |
+| 53 | Exponentiation | 9^10 = | 3486784401 | exponentiation |
+| 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 |
+| 55 | Comparing surds | Fill in the blanks 15^(1/9) _ 55^(1/1) | < | surdsComparison |
+| 56 | Fibonacci Series | The Fibonacci Series of the first 10 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] | fibonacciSeries |
+| 57 | Trigonometric Values | What is tan(30)? | 1/√3 | basicTrigonometry |
+| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 3 sides = | 180 | sumOfAnglesOfPolygon |
+| 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 |
+| 59 | Surface Area of Sphere | Surface area of Sphere with radius = 11m is | 1520.5308443374597 m^2 | surfaceAreaSphereGen |
+| 60 | Volume of Sphere | Volume of sphere with radius 73 m = | 1629510.5990953872 m^3 | volumeSphere |
+| 61 | nth Fibonacci number | What is the 68th Fibonacci number? | 72723460248141 | nthFibonacciNumberGen |
+| 62 | Profit or Loss Percent | Profit percent when CP = 825 and SP = 972 is: | 17.81818181818182 | profitLossPercent |
+| 63 | Binary to Hexidecimal | 100000 | 0x20 | binaryToHex |
+| 64 | Multiplication of 2 complex numbers | (3+14j) * (-3+16j) = | (-233+6j) | complexNumMultiply |
+| 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 |
+| 66 | Geometric Mean of N Numbers | Geometric mean of 3 numbers 81 , 35 and 99 = | (81*35*99)^(1/3) = 65.47307713912309 | geometricMean |
+| 67 | Harmonic Mean of N Numbers | Harmonic mean of 2 numbers 99 and 25 = | 2/((1/99) + (1/25)) = 39.91935483870967 | harmonicMean |
diff --git a/dev-requirements.txt b/dev-requirements.txt
index c29cf4e..7b33738 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -1,4 +1,5 @@
pytest
hypothesis
flake8
-autopep8
\ No newline at end of file
+autopep8
+sympy
\ No newline at end of file
diff --git a/mathgenerator/funcs/__init__.py b/mathgenerator/funcs/__init__.py
index 36f02f8..f054a11 100644
--- a/mathgenerator/funcs/__init__.py
+++ b/mathgenerator/funcs/__init__.py
@@ -76,3 +76,4 @@ from .angleBtwVectorsFunc import *
from .absoluteDifferenceFunc import *
from .vectorDotFunc import *
from .binary2sComplement import *
+from .matrixInversion import *
diff --git a/mathgenerator/funcs/matrixInversion.py b/mathgenerator/funcs/matrixInversion.py
new file mode 100644
index 0000000..822cb83
--- /dev/null
+++ b/mathgenerator/funcs/matrixInversion.py
@@ -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
diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py
index 10b2976..eff4fb6 100644
--- a/mathgenerator/mathgen.py
+++ b/mathgenerator/mathgen.py
@@ -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)
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)
+invertmatrix = Generator("Inverse of a Matrix", 74, "Inverse of a matrix A is", "A^(-1)", matrixInversion)
diff --git a/test.py b/test.py
index 925ced3..e5bb2c1 100644
--- a/test.py
+++ b/test.py
@@ -3,3 +3,4 @@ from mathgenerator import mathgen
#test your generators here
print(mathgen.addition())
+print(mathgen.genById(74))
|