Vtu Maths Lab
Vtu Maths Lab
x=[1,3,5,7,9]
y=[2,4,6,8,10]
if (len(x)!=len(y)):
else:
scatter(x,y)
plot(x,y)
xlabel("X-axis")
ylabel('Y-Axis')
axvline(x=0,color='r')
axhline(y=0,color='g')
grid()
show()
1 b.
x,y= symbols('x,y')
f= Function('u')(x,y)
u=log((x**2+y**2)/(x+y))
xux=simplify(x*diff(u,x))
display(Eq(x*Derivative(f,x),xux))
yuy=simplify(y*diff(u,y))
display(Eq(y*Derivative(f,y),yuy))
LHS= x*Derivative(f,x)+y*Derivative(f,y)
RHS= simplify(xux+yuy)
display(Eq(LHS,RHS))
2a.
r , t = symbols ('r,t')
r1=4*cos ( t )
r2=5*sin( t )
dr1dt = diff( r1 , t )
dr2dt = diff( r2 , t )
tanphi1=r1/dr1dt
tanphi2=r2/dr2dt
tanphi1=tanphi1 . subs(t,theta[0])
tanphi2=tanphi2 . subs(t,theta[0])
A=[[25,1,2],[1,4,1],[3,10,4]]
display(Matrix(A))
eig_val,eig_vec=linalg.eig(A)
print('Eigen values:\n',eig_val)
print('Eigen vectors:\n',eig_vec)
3a.
import numpy as np
return a * np.cosh(x / a)
# Values
a_value = 2
plt.title('Catenary Curve')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.legend()
plt.show()
3b.
r,z,t=symbols('r,z,t')
U=r*cos(z)*sin(t)
V=r*cos(z)*cos(t)
W=r*sin(z)
Ur=simplify(diff(U,r))
Uz=simplify(diff(U,z))
Ut=simplify(diff(U,t))
Vr=simplify(diff(V,r))
Vz=simplify(diff(V,z))
Vt=simplify(diff(V,t))
Wr=simplify(diff(W,r))
Wz=simplify(diff(W,z))
Wt=simplify(diff(W,t))
M=Matrix([[Ur,Uz,Ut],[Vr,Vz,Vt],[Wr,Wz,Wt]])
J=simplify(det(M))
display(Eq(Determinant(M),J))
4a.
x=2*cos(t)
y=2*sin(t)
x1=diff(x,t)
y1=diff(y,t)
dydx=(y1/x1)
display(simplify(dydx))
y2=(diff(dydx,t)*(1/x1))
display(simplify(y2))
rho=simplify(((1+dydx**2)**1.5)/y2)
display( rho )
rho1=abs(rho.subs(t,pi/2))
display(simplify(rho1))
4b.
x=5*cos(t)
y=5*sin(t)
x1=diff(x,t)
y1=diff(y,t)
dydx=(y1/x1)
display(simplify(dydx))
y2=(diff(dydx,t)*(1/x1))
display(simplify(y2))
rho=simplify(((1+dydx**2)**1.5)/y2)
display( rho )
rho1=abs(rho.subs(t,pi/2))
display(simplify(rho1))
5a.
theta= linspace(0,2*pi,1000)
r=2*abs(cos(2*theta))
polar(theta,r)
title("$r=2|cos(2*\\theta))|$")
axvline(color='r')
show()
5b.
A=[[6,1,2],[1,10,-1],[2,1,-4]]
X=[1,1,1]
lambda_i=0
while(True):
Y=dot(A,X)
lamb=abs(Y).max()
X=Y/lamb
if abs(lamb-lambda_i)<0.001:
break
else:
lambda_i=lamb
6a.
x= Symbol('x')
y=sin(x)+cos(x)
ys=0
for i in range(0,n+1):
ys+=x**i*diff(y,x,i).subs({x:0})/factorial(i)
display(Eq(y,ys))
ys=lambdify(x,ys)
x=linspace(0,pi/2,1000)
plot(x,sin(x)+cos(x),color='red')
plot(x,ys(x),color='green')
axvline(x=0)a
axhline(y=0)
show()
6b.
A= Matrix([[1,2,-1],[2,1,4],[3,3,4]])
rA=A.rank()
dim=shape(A)
display(A)
if rA==dim[1]:
else:
7a.
x,y,z= symbols('x,y,z')
U=x+3*y*y-z*z*z
V=4*x*x*y*z
W=2*z*z-x*y
Ux=simplify(diff(U,x))
Uy=simplify(diff(U,y))
Uz=simplify(diff(U,z))
Vx=simplify(diff(V,x))
Vy=simplify(diff(V,y))
Vz=simplify(diff(V,z))
Wx=simplify(diff(W,x))
Wy=simplify(diff(W,y))
Wz=simplify(diff(W,z))
A=Matrix([[Ux,Uy,Uz],[Vx,Vy,Vz],[Wx,Wy,Wz]])
J=simplify(det(A))
display(Eq(Determinant(A),J))
7b.
r=a*sin(n*t)
r1= diff (r , t )
display(r1)
r2= diff ( r1 , t )
display(r2)
display(rho)
rho1=simplify(rho1)
display(simplify(rho1))
display(simplify(1/rho1))
8a)
import numpy as np
# Coefficient matrix A
A = np.array([[2, 4, 4],
[4, 2, 2],
[4, 2, 5]])
try:
solution = np.linalg.solve(A, B)
except np.linalg.LinAlgError:
8b.
A=Matrix([[2,1,1],[4,2,-2],[4,22,2]])
B=Matrix([[4],[8],[5]])
dim=shape(A)
AB=A.col_insert(dim[1], B)
rA=A.rank()
rb=AB.rank()
display(A)
display(AB)
if(rA==rb):
if(rA==dim[1]):
else:
print(solve_linear_system(AB,x,y,z))
else:
x,y,z= symbols('x,y,z')
U=x*y/z
V=y*z/x
W=z*x/y
Ux=simplify(diff(U,x))
Uy=simplify(diff(U,y))
Uz=simplify(diff(U,z))
Vx=simplify(diff(V,x))
Vy=simplify(diff(V,y))
Vz=simplify(diff(V,z))
Wx=simplify(diff(W,x))
Wy=simplify(diff(W,y))
Wz=simplify(diff(W,z))
A=Matrix([[Ux,Uy,Uz],[Vx,Vy,Vz],[Wx,Wy,Wz]])
J=simplify(det(A))
display(Eq(Determinant(A),J))
9b.
import sympy as sp
t = sp.symbols('t')
# Define the polar curve r(t)
dr_dt = sp.diff(r, t)
d2r_dt2 = sp.diff(dr_dt, t)
R = 1 / sp.Abs(d2r_dt2)
kappa = 1 / R
display(R)
print("\nCurvature (kappa):")
display(kappa)
10a.
import numpy as np
result = 0
for n in range(terms):
result += (-1)*n * (x*(2*n)) / np.math.factorial(2*n)
return result
y_true = np.cos(x_values)
# Plotting
plt.figure(figsize=(8, 6))
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.legend()
plt.grid(True)
plt.show()
10b.
A= Matrix([[1,2,-1],[2,1,5],[3,3,4]])
rA=A.rank()
dim=shape(A)
print("The coefficient of the matrix is:")
display(A)
if rA==dim[1]:
else:
11a.
import sympy as sp
t = sp.symbols('t')
r1 = 1 + 2*sp.sin(t)
r2 = 1 + 2*sp.cos(t)
angle_degrees = sp.deg(angle)
print("The angle between the polar curves is approximately:", angle_degrees.evalf(), "degrees.")
11b.
import numpy as np
A = np.array([[11, 1, 2],
[0, 0, 12]])
print("Eigenvalues:")
print(eigenvalues)
print("\nEigenvectors:")
print(eigenvectors)
12a.
import sympy as sp
# Define symbols
t, a = sp.symbols('t a')
r1 = sp.exp(a * t)
r2 = sp.exp(-a * t)
theta = sp.atan(tan_theta)
12b.
import numpy as np
A = np.array([[3, 1, 1],
[1, 2, 1],
[1, 1, 12]])
print("Eigenvalues:")
print(eigenvalues)
print("\nEigenvectors:")
print(eigenvectors)
13 a)
import numpy as np
# Coefficient matrix
A = np.array([[1, 1, 1],
[2, 2, -2],
B = np.array([2, 6, 5])
try:
solution = np.linalg.solve(A, B)
print("Solution:", solution)
except np.linalg.LinAlgError:
13b
import sympy as sp
x = sp.symbols('x')
14a
import numpy as np
for i in range(max_iter):
Y = np.dot(A, X)
eigenvector = Y / np.linalg.norm(Y)
raise ValueError("Power iteration did not converge within the maximum number of iterations.")
A = np.array([[25, 1, 2],
[1, 3, 0],
[2, 0, -4]])
# Display results
print("Corresponding Eigenvector:")
print(eigenvector)
14b)
import sympy as sp
# Define symbols
x, y = sp.symbols('x y')
du2_dx2 = sp.diff(u, x, x)
du2_dy2 = sp.diff(u, y, y)
15.a)
import sympy as sp
a, t = sp.symbols('a t')
# Parametric equations
x = a * sp.cos(t)**3
y = a * sp.sin(t)**3
y_prime = sp.diff(y, t)
y_double_prime = sp.diff(y_prime, t)
t_value = sp.pi / 4
print(f"At t = π/4:")
15b)
import numpy as np
# Coefficient matrix
A = np.array([[1, 2, -1],
[2, 1, 4],
det_A = np.linalg.det(A)
if det_A == 0:
else:
import sympy as sp
t = sp.symbols('t')
a=1
x = a * (t - sp.sin(t))
y = a * (1 - sp.cos(t))
dx_dt = sp.diff(x, t)
dy_dt = sp.diff(y, t)
# Second derivatives
d2x_dt2 = sp.diff(dx_dt, t)
d2y_dt2 = sp.diff(dy_dt, t)
t_value = sp.pi / 2
16b)
import numpy as np
# Coefficient matrix
[0, 1, -1],
det = np.linalg.det(coefficients)
if det == 0:
else:
17a)
import sympy as sp
r1 = 4 + sp.cos(t)
r2 = -5 * sp.cos(t)
angle_degrees = sp.deg(angle)
17b)
x,y= symbols('x,y')
f= Function('u')(x,y)
u=log((x**2+y**2)/(x+y))
xux=simplify(x*diff(u,x))
display(Eq(x*Derivative(f,x),xux))
yuy=simplify(y*diff(u,y))
display(Eq(y*Derivative(f,y),yuy))
LHS= x*Derivative(f,x)+y*Derivative(f,y)
RHS= simplify(xux+yuy)
display(Eq(LHS,RHS))
18a)
import numpy as np
# Given parameters
a=4
b=2
x = r * np.cos(theta)
y = r * np.sin(theta)
plt.figure(figsize=(8, 8))
plt.title('Ellipse Plot')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.axis('equal') # Ensure equal scaling on both axes
plt.show()
18b)
import numpy as np
# Given matrix A
A = np.array([[6, 1, 2],
[2, 1, -4]])
x = np.array([1, 1, 1])
# Number of iterations
num_iterations = 20
for i in range(num_iterations):
y = np.dot(A, x)
x = y / np.linalg.norm(y)
# Display the results
print("Corresponding eigenvector:", x)
19a)
x= Symbol('x')
y=cos(x)
ys=0
for i in range(0,n+1):
ys+=x**i*diff(y,x,i).subs({x:0})/factorial(i)
display(Eq(y,ys))
ys=lambdify(x,ys)
x=linspace(0,pi/2,1000)
plot(x,cos(x),color='red')
plot(x,ys(x),color='green')
axvline(x=0)
axhline(y=0)
show()
19b)
import sympy as sp
t = sp.symbols('t')
r = 2 * (1 - sp.cos(t))
dr_dt = sp.diff(r, t)
d2r_dt2 = sp.diff(dr_dt, t)
t_value = sp.pi / 2
import sympy as sp
x, y, z = sp.symbols('x y z')
u=x*y/z
v=y*z/x
w=z*x/y
du_dx = sp.diff(u, x)
du_dy = sp.diff(u, y)
du_dz = sp.diff(u, z)
dv_dx = sp.diff(v, x)
dv_dy = sp.diff(v, y)
dv_dz = sp.diff(v, z)
dw_dx = sp.diff(w, x)
dw_dy = sp.diff(w, y)
dw_dz = sp.diff(w, z)
Jacobian_det = Jacobian_matrix.det()
20b)
import numpy as np
# Coefficient matrix
A = np.array([[1, 2, -1],
[2, 1, 5],
[3, 3, 4]])
det_A = np.linalg.det(A)
if det_A == 0:
else:
# Given points
x = [1, 6, 4, 7, 10]
y = [3, 2, 5, 8, 4]
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
# Adding legend
plt.legend()
plt.show()
21b)
x,y,z= symbols('x,y,z')
f= Function('u')(x,y,z)
u=log((x**3+y**3+z**3-3*x*y*z))
ux=simplify(diff(u,x))
display(Eq(Derivative(f,x),ux))
uy=simplify(diff(u,y))
display(Eq(Derivative(f,y),uy))
uz=simplify(diff(u,z))
display(Eq(Derivative(f,z),uz))
LHS= Derivative(f,x)+Derivative(f,y)+Derivative(f,z)
RHS= simplify(ux+uy+uz)
display(Eq(LHS,RHS))
22a)
import numpy as np
x = 2 * np.cos(theta)
y = 2 * np.sin(theta)
# Plotting the parametric curve (circle)
plt.figure(figsize=(6, 6))
plt.title('Parametric Circle')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.legend()
plt.show()
22.b)
r,z,t=symbols('r,z,t')
U=r*cos(z)*sin(t)
V=r*cos(z)*cos(t)
W=r*sin(z)
Ur=simplify(diff(U,r))
Uz=simplify(diff(U,z))
Ut=simplify(diff(U,t))
Vr=simplify(diff(V,r))
Vz=simplify(diff(V,z))
Vt=simplify(diff(V,t))
Wr=simplify(diff(W,r))
Wz=simplify(diff(W,z))
Wt=simplify(diff(W,t))
M=Matrix([[Ur,Uz,Ut],[Vr,Vz,Vt],[Wr,Wz,Wt]])
J=simplify(det(M))
display(Eq(Determinant(M),J))
23a)
import numpy as np
return a * np.cosh(x / a)
# Values
a_value = 2
plt.title('Catenary Curve')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.legend()
plt.show()
23b)
import sympy as sp
t, a = sp.symbols('t a')
a_value = 5
x = a * sp.cos(t)
y = a * sp.sin(t)
dx_dt = sp.diff(x, t)
dy_dt = sp.diff(y, t)
d2x_dt2 = sp.diff(dx_dt, t)
d2y_dt2 = sp.diff(dy_dt, t)
radius_of_curvature = 1 / curvature
24a)
import numpy as np
for i in range(max_iter):
Y = np.dot(A, X)
eigenvector = Y / np.linalg.norm(Y)
X = eigenvector
raise ValueError("Power iteration did not converge within the maximum number of iterations.")
# Display results
print("Corresponding Eigenvector:")
print(eigenvector)
24b)
x= Symbol('x')
f=((1**(1/x)+2**(1/x)+3**(1/x))/3)**(3*x)
LHS=Limit(f,x,00)
RHS=limit(f,x,00)
display(Eq(LHS,RHS))
25a)
import numpy as np
def is_diagonally_dominant(matrix):
n = len(matrix)
for i in range(n):
return False
return True
n = len(matrix)
for _ in range(max_iter):
x_old = x.copy()
for i in range(n):
return x
raise ValueError("Gauss-Seidel method did not converge within the maximum number of
iterations.")
# Given system
A = np.array([[10, 1, 1],
[1, 1, 10]])
if is_diagonally_dominant(A):
solution = gauss_seidel(A, b)
else:
print("The system is not diagonally dominant. Gauss-Seidel method may not converge.")
26a)
import numpy as np
# Coefficient matrix A
A = np.array([[1,1,1],
[2, 2, -2],
B = np.array([2,4,5])
try:
solution = np.linalg.solve(A, B)
except np.linalg.LinAlgError:
26b)
x= Symbol('x')
f=(1-cos(x))/(x*log(1+x))
LHS=Limit(f,x,00)
RHS=limit(f,x,00)
display(Eq(LHS,RHS))
27a)
import numpy as np
def is_diagonally_dominant(matrix):
n = len(matrix)
for i in range(n):
return False
return True
n = len(matrix)
x = np.zeros(n) if x0 is None else x0.copy()
for _ in range(max_iter):
x_old = x.copy()
for i in range(n):
return x
raise ValueError("Gauss-Seidel method did not converge within the maximum number of
iterations.")
# Given system
A = np.array([[1,1,1],
[2,2,-2],
[1,-2,-1]])
b = np.array([2,4,5])
if is_diagonally_dominant(A):
solution = gauss_seidel(A, b)
else:
print("The system is not diagonally dominant. Gauss-Seidel method may not converge.")
28a)
import numpy as np
def is_diagonally_dominant(matrix):
n = len(matrix)
for i in range(n):
return False
return True
n = len(matrix)
for _ in range(max_iter):
x_old = x.copy()
for i in range(n):
return x
raise ValueError("Gauss-Seidel method did not converge within the maximum number of
iterations.")
# Given system
A = np.array([[25,1,1],
[2,10,-3],
[4,-2,-12]])
b = np.array([27,9,-10])
if is_diagonally_dominant(A):
solution = gauss_seidel(A, b)
else:
print("The system is not diagonally dominant. Gauss-Seidel method may not converge.")
29a)
import numpy as np
# Coefficient matrix A
A = np.array([[25,1,1],
[2,10,-3],
[4,-2,-12]])
B = np.array([27,9,-10])
try:
solution = np.linalg.solve(A, B)
except np.linalg.LinAlgError:
29b)
x= Symbol('x')
f=((1**(1/x)+2**(1/x)+3**(1/x))/3)**(3*x)
LHS=Limit(f,x,00)
RHS=limit(f,x,00)
display(Eq(LHS,RHS))
30a)
import numpy as np
for i in range(max_iter):
Y = np.dot(A, X)
eigenvalue = np.dot(Y.T, X) / np.dot(X.T, X)
eigenvector = Y / np.linalg.norm(Y)
X = eigenvector
raise ValueError("Power iteration did not converge within the maximum number of iterations.")
# Display results
print("Corresponding Eigenvector:")
print(eigenvector)
30b)
import numpy as np
# Parameter values
a_values = np.linspace(0, 6 * np.pi, 1000)
# Parametric equations
y_values = 2 * (1 - np.cos(a_values))
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()