From d56f20cf0a2c518460a0fd0f121b114b90ff7b70 Mon Sep 17 00:00:00 2001 From: Jayesh Vasudeva <42416623+0tist@users.noreply.github.com> Date: Mon, 19 Oct 2020 11:15:47 +0530 Subject: [PATCH 1/2] Update mathgen.py --- mathgenerator/mathgen.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 0e813a6..e015c81 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -156,3 +156,5 @@ complexNumMultiply = Generator("Multiplication of 2 complex numbers", 64, "(x + geometricprogression=Generator("Geometric Progression", 65, "Initial value,Common Ratio,nth Term,Sum till nth term =", "a,r,ar^n-1,sum(ar^n-1", geomProgrFunc) geometricMean=Generator("Geometric Mean of N Numbers",66,"Geometric mean of n numbers A1 , A2 , ... , An = ","(A1*A2*...An)^(1/n) = ans",geometricMeanFunc) harmonicMean=Generator("Harmonic Mean of N Numbers",67,"Harmonic mean of n numbers A1 , A2 , ... , An = "," n/((1/A1) + (1/A2) + ... + (1/An)) = ans",harmonicMeanFunc) +eucldianNorm=Generator("Euclidian norm or L2 norm of a vector", 68, "Euclidian Norm of a vector V:[v1, v2, ......., vn]", "sqrt(v1^2 + v2^2 ........ +vn^2)", euclidianNorm) +angleBtwVectors=Generator("Angle between 2 vectors", 69, "Angle Between 2 vectors V1=[v11, v12, ..., v1n] and V2=[v21, v22, ....., v2n]", "V1.V2 / (euclidNorm(V1)*euclidNorm(V2))", AngleBtwVectors) From 07cae1b56b7da4882d478cdd951909736928c00f Mon Sep 17 00:00:00 2001 From: Jayesh Vasudeva <42416623+0tist@users.noreply.github.com> Date: Mon, 19 Oct 2020 11:17:40 +0530 Subject: [PATCH 2/2] Add files via upload --- mathgenerator/funcs/AngleBtwVectors.py | 16 ++++++++++++++++ mathgenerator/funcs/eucldianNorm.py | 7 +++++++ 2 files changed, 23 insertions(+) create mode 100644 mathgenerator/funcs/AngleBtwVectors.py create mode 100644 mathgenerator/funcs/eucldianNorm.py diff --git a/mathgenerator/funcs/AngleBtwVectors.py b/mathgenerator/funcs/AngleBtwVectors.py new file mode 100644 index 0000000..09e0a11 --- /dev/null +++ b/mathgenerator/funcs/AngleBtwVectors.py @@ -0,0 +1,16 @@ +import eucldianNorm +import math +from .__init__ import * + + +def AngleBtwVectors(v1: list, v2: list): + sum = 0 + for i in v1: + for j in v2: + sum += i * j + + mags = euclidianNorm(v1) * euclidianNorm(v2) + problem = f"angle between the vectors {v1} and {v2} is:" + solution = math.acos(sum / mags) + # would return the answer in radians + return problem, solution diff --git a/mathgenerator/funcs/eucldianNorm.py b/mathgenerator/funcs/eucldianNorm.py new file mode 100644 index 0000000..b672add --- /dev/null +++ b/mathgenerator/funcs/eucldianNorm.py @@ -0,0 +1,7 @@ +from .__init__ import * + + +def euclidianNorm(v1: list): + problem = f"Euclidian norm or L2 norm of the vector{v1} is:" + solution = sqrt(sum([i**2 for i in v1])) + return problem, solution