ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਰੇਖਿਕ ਅਲਜਬਰੇ ਵਿੱਚ ਇੱਕ ਬੁਨਿਆਦੀ ਕਾਰਵਾਈ ਹੈ।
ਅਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਇਸਦੀ ਵਰਤੋਂ ਕਈ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਕਰਦੇ ਹਾਂ ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ ਪ੍ਰੋਸੈਸਿੰਗ, ਮਸ਼ੀਨ ਸਿਖਲਾਈ, ਅਤੇ ਹੋਰ ਬਹੁਤ ਸਾਰੇ। NumPy ਵਿਗਿਆਨਕ ਕੰਪਿਊਟਿੰਗ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਾਈਥਨ ਪੈਕੇਜ ਹੈ।
ਹਾਲਾਂਕਿ, ਇਸ ਪੋਸਟ ਵਿੱਚ, ਅਸੀਂ NumPy ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਪਾਈਥਨ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨੂੰ ਵੇਖਾਂਗੇ।
ਅਸੀਂ ਵਰਤਾਂਗੇ ਨੇਸਟਡ ਲੂਪਸ, ਬਿਲਟ-ਇਨ ਨਕਸ਼ਾ() ਫੰਕਸ਼ਨ, ਅਤੇ ਸੂਚੀ ਸਮਝ.
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਹਰੇਕ ਰਣਨੀਤੀ ਦੇ ਲਾਭਾਂ ਅਤੇ ਕਮੀਆਂ ਨੂੰ ਦੇਖਾਂਗੇ, ਨਾਲ ਹੀ ਉਹਨਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਨੂੰ ਕਦੋਂ ਲਾਗੂ ਕਰਨਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਰੇਖਿਕ ਅਲਜਬਰੇ ਲਈ ਨਵੇਂ ਹੋ ਅਤੇ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਬਾਰੇ ਹੋਰ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ; ਪੜ੍ਹਦੇ ਰਹੋ.
ਅਸੀਂ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਦੀ ਵਰਤੋਂ ਕਿੱਥੇ ਕਰਦੇ ਹਾਂ?
ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕੰਪਿਊਟਰ ਗਰਾਫਿਕਸ 2D ਅਤੇ 3D ਵਿਜ਼ੁਅਲ ਨੂੰ ਬਦਲਣ ਲਈ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਸਕ੍ਰੀਨ 'ਤੇ ਵਸਤੂਆਂ ਨੂੰ ਘੁੰਮਾ ਸਕਦੇ ਹੋ, ਸਕੇਲ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਅਨੁਵਾਦ ਕਰ ਸਕਦੇ ਹੋ। ਮੈਟ੍ਰਿਕਸ ਦੀ ਵਰਤੋਂ ਚਿੱਤਰ ਪ੍ਰੋਸੈਸਿੰਗ ਵਿੱਚ ਤਸਵੀਰਾਂ ਨੂੰ ਪਿਕਸਲ ਦੇ ਐਰੇ ਵਜੋਂ ਦਰਸਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਚਿੱਤਰ ਫਿਲਟਰਿੰਗ ਵਰਗੀਆਂ ਕਾਰਵਾਈਆਂ ਕਰਨ ਲਈ ਮੈਟ੍ਰਿਕਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਅਸੀਂ ਵਿੱਚ ਮੈਟਰਿਕਸ ਦੀ ਵਰਤੋਂ ਵੀ ਕਰਦੇ ਹਾਂ ਮਸ਼ੀਨ ਸਿਖਲਾਈ. ਉਹ ਡੇਟਾ ਅਤੇ ਮਾਡਲ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਦਰਸਾਉਣ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ। ਅਸੀਂ ਬਹੁਤ ਸਾਰੇ ਓਪਰੇਸ਼ਨ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਕੰਪਿਊਟਿੰਗ ਡਾਟ ਉਤਪਾਦ ਅਤੇ ਮੈਟਰਿਕਸ-ਵੈਕਟਰ ਉਤਪਾਦ।
ਯਕੀਨਨ, ਇਹ ਓਪਰੇਸ਼ਨ ਵਿਗਿਆਨਕ ਕਾਰਜਾਂ ਵਿੱਚ ਵੀ ਬਹੁਤ ਫਾਇਦੇਮੰਦ ਹੈ। ਅਸੀਂ ਇਸਦੀ ਵਰਤੋਂ ਭੌਤਿਕ ਮਾਤਰਾਵਾਂ ਦਾ ਵਰਣਨ ਕਰਨ ਲਈ ਭੌਤਿਕ ਵਿਗਿਆਨ ਅਤੇ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਸ ਲਈ, ਅਸੀਂ ਵੈਕਟਰਾਂ ਅਤੇ ਟੈਂਸਰਾਂ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦੇ ਹਾਂ।
ਅਸੀਂ NumPy ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਚੋਣ ਕਿਉਂ ਨਹੀਂ ਕਰ ਸਕਦੇ?
ਜਦੋਂ ਕਿ NumPy ਏ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀ, ਇਹ ਹਮੇਸ਼ਾ ਮੈਟਰਿਕਸ ਗੁਣਾ ਲਈ ਆਦਰਸ਼ ਵਿਕਲਪ ਨਹੀਂ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਆਕਾਰ ਅਤੇ ਨਿਰਭਰਤਾ, ਸਿੱਖਣ, ਅਤੇ ਵਿਰਾਸਤੀ ਪ੍ਰਣਾਲੀਆਂ ਵਰਗੇ ਕਾਰਨਾਂ ਕਰਕੇ NumPy ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਚੋਣ ਨਹੀਂ ਕਰ ਸਕਦੇ।
ਪਾਈਥਨ ਦੇ ਬਿਲਟ-ਇਨ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਾਂ ਕਸਟਮ ਕੋਡ ਵਿਕਸਿਤ ਕਰਨਾ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਵਧੇਰੇ ਕੁਸ਼ਲ ਹੋ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ NumPy ਇੱਕ ਮਜ਼ਬੂਤ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ ਇਸਨੂੰ ਮੈਟਰਿਕਸ ਗੁਣਾ ਲਈ ਵੀ ਵਰਤ ਸਕਦੇ ਹੋ।
ਹੁਣ, ਆਓ ਦੇਖੀਏ ਕਿ ਅਸੀਂ NumPy ਤੋਂ ਬਿਨਾਂ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ।
ਨੇਸਟਡ ਲੂਪਸ ਵਿਧੀ
ਨੇਸਟਡ ਲੂਪਸ ਤਕਨੀਕ ਪਾਈਥਨ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਨੂੰ ਚਲਾਉਣ ਲਈ ਨੇਸਟਡ ਲੂਪਸ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਫੰਕਸ਼ਨ ਹਰੇਕ ਮੈਟ੍ਰਿਕਸ ਐਲੀਮੈਂਟ ਉੱਤੇ ਦੁਹਰਾਉਂਦਾ ਹੈ। ਅਤੇ, ਇਹ ਨੇਸਟਡ ਲੂਪਸ ਦੀ ਇੱਕ ਲੜੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਹਨਾਂ ਨੂੰ ਗੁਣਾ ਕਰਦਾ ਹੈ। ਫੰਕਸ਼ਨ ਨਤੀਜਾ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜੋ ਇੱਕ ਨਵੇਂ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਇਹ ਪਹੁੰਚ ਸਮਝਣ ਲਈ ਸਿੱਧੀ ਹੈ. ਹਾਲਾਂਕਿ, ਇਹ ਹੋਰ ਤਰੀਕਿਆਂ ਜਿੰਨਾ ਕੁਸ਼ਲ ਨਹੀਂ ਹੋ ਸਕਦਾ, ਖਾਸ ਤੌਰ 'ਤੇ ਵੱਡੇ ਮੈਟ੍ਰਿਕਸ ਲਈ। ਫਿਰ ਵੀ, ਜੇਕਰ ਤੁਸੀਂ ਰੇਖਿਕ ਅਲਜਬਰੇ ਲਈ ਨਵੇਂ ਹੋ ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਸ਼ਾਨਦਾਰ ਵਿਕਲਪ ਹੈ।
def matrix_multiplication(A, B):
# Determine the matrices' dimensions.
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# ਨਤੀਜਾ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਜ਼ੀਰੋ 'ਤੇ ਸੈੱਟ ਕਰੋ।
result = [[0 for row in range(cols_B)] for col in
range(rows_A)]
# Iterate through rows of A
for s in range(rows_A):
# Iterate through columns of B
for j in range(cols_B):
# Iterate through rows of B
for k in range(cols_A):
result[s][j] += A[s][k] * B[k][j]
return result
ਆਓ ਇਸ ਨੂੰ ਕਿਵੇਂ ਕਰਨਾ ਹੈ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਦੇਈਏ. ਤੁਸੀਂ ਇਸ ਉਦਾਹਰਨ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਹੇਠਾਂ ਕੋਡ ਦੀਆਂ ਇਹਨਾਂ ਲਾਈਨਾਂ ਨੂੰ ਜੋੜ ਸਕਦੇ ਹੋ।
# Sample matrices
A = [[1, 4, 3], [4, 9, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Perform matrix multiplication
result = matrix_multiplication(A, B)
# Print the result
print(result)
# Output: [[76, 84], [175, 194]]
ਲਾਭ:
- ਸਮਝਣ ਲਈ ਆਸਾਨ.
- ਨਵੇਂ ਲੋਕਾਂ ਲਈ ਜਾਂ ਮੈਟਰਿਕਸ ਗੁਣਾ ਦੀ ਡੂੰਘੀ ਸਮਝ ਦੀ ਮੰਗ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਵਧੀਆ।
ਨੁਕਸਾਨ:
- ਵਿਕਲਪਕ ਤਕਨੀਕਾਂ ਜਿੰਨਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਨਹੀਂ, ਖਾਸ ਤੌਰ 'ਤੇ ਵੱਡੀਆਂ ਮੈਟ੍ਰਿਕਸ ਲਈ।
- ਇਹ ਬਦਲਵੀਂ ਪਹੁੰਚ ਵਾਂਗ ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ।
ਨਕਸ਼ਾ() ਫੰਕਸ਼ਨ ਵਿਧੀ
ਨਕਸ਼ਾ() ਫੰਕਸ਼ਨ ਵਿਧੀ ਪਾਈਥਨ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਕਰਨ ਲਈ ਇੱਕ ਵਿਕਲਪਿਕ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਅਸੀਂ ਬਿਲਟ-ਇਨ ਮੈਪ() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਇਸ ਲਈ, ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨਲ ਪ੍ਰੋਗਰਾਮਿੰਗ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਜੋ ਹਰੇਕ ਦੁਹਰਾਉਣ ਯੋਗ ਤੱਤ (ਸੂਚੀ, ਟੂਪਲ, ਆਦਿ) ਲਈ ਇੱਕ ਪ੍ਰਦਾਨ ਕੀਤੇ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਨਾਲ ਹੀ, ਨਕਸ਼ਾ() ਫੰਕਸ਼ਨ ਦੋ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ, ਇੱਕ ਫੰਕਸ਼ਨ ਅਤੇ ਇੱਕ ਦੁਹਰਾਉਣ ਯੋਗ। ਅਤੇ, ਇਹ ਇੱਕ ਇਟਰੇਟਰ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੋ ਫੰਕਸ਼ਨ ਨੂੰ ਹਰੇਕ ਦੁਹਰਾਉਣ ਯੋਗ ਤੱਤ 'ਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ।
ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਅਸੀਂ ਮੈਟ੍ਰਿਕਸ ਦੇ ਹਰੇਕ ਮੈਂਬਰ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਾਂ ਅਤੇ ਨੇਸਟਡ ਮੈਪ() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗੁਣਾ ਕਰਦੇ ਹਾਂ।
zip() ਫੰਕਸ਼ਨ ਨੂੰ ਸਮਾਨਾਂਤਰ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਦੇ ਹਰੇਕ ਤੱਤ ਦੁਆਰਾ ਦੁਹਰਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, sum() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਨਤੀਜਿਆਂ ਨੂੰ ਜੋੜਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
def matrix_multiplication(A, B):
# To get the dimensions of the matrices
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# We use map() function for multiplication.
result = [[sum(a * b for a, b in zip(row_a, col_b)) for
col_b in zip(*B)] for row_a in A]
return result
ਹੁਣ, ਦੁਬਾਰਾ, ਅਸੀਂ ਇੱਕ ਉਦਾਹਰਣ ਦੇ ਨਾਲ ਆਪਣੇ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹਾਂ।
# Example matrices
A = [[3, 2, 3], [4, 5, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Use map() function to perform matrix multiplication
result = list(map(lambda x: list(map(lambda y: sum(i*j
for i,j in zip(x,y)), zip(*B))), A))
# Print the result
print(result)
# Output: [[72, 80], [139, 154]]
ਫਾਇਦੇ
- ਸਟੈਕਡ ਲੂਪਸ ਪਹੁੰਚ ਨਾਲੋਂ ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ
- ਇਹ ਕੋਡ ਨੂੰ ਸਰਲ ਬਣਾਉਣ ਲਈ ਫੰਕਸ਼ਨਲ ਪ੍ਰੋਗਰਾਮਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਨੁਕਸਾਨ
- ਕੁਝ ਲੋਕ ਜੋ ਫੰਕਸ਼ਨਲ ਪ੍ਰੋਗਰਾਮਿੰਗ ਤੋਂ ਜਾਣੂ ਨਹੀਂ ਹਨ ਉਹਨਾਂ ਨੂੰ ਇਹ ਘੱਟ ਪੜ੍ਹਨਯੋਗ ਲੱਗ ਸਕਦਾ ਹੈ।
- ਇਹ ਨੇਸਟਡ ਲੂਪਸ ਤਕਨੀਕ ਨਾਲੋਂ ਘੱਟ ਸਮਝਣ ਯੋਗ ਹੈ।
ਸੂਚੀ ਸਮਝ ਵਿਧੀ
ਸੂਚੀ ਸਮਝ ਤੁਹਾਨੂੰ ਕੋਡ ਦੀ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਸੂਚੀ ਬਣਾਉਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ। ਇਸ ਲਈ, ਇਹ ਮੌਜੂਦਾ ਸੂਚੀ ਦੇ ਹਰੇਕ ਮੈਂਬਰ ਲਈ ਇੱਕ ਸਮੀਕਰਨ ਲਾਗੂ ਕਰਕੇ ਹੈ।
ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਗੁਣਾ ਨੂੰ ਹਰੇਕ ਮੈਟਰਿਕਸ ਮੈਂਬਰ ਦੁਆਰਾ ਵਾਰ-ਵਾਰ ਦੁਹਰਾਉਣ ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਅਸੀਂ ਲੇਅਰਡ ਸੂਚੀ ਸਮਝ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ।
# Sample matrices
A = [[1, 12, 3], [14, 5, 6]]
B = [[7, 8], [9, 10], [12, 12]]
# Matrix multiplication using list comprehension
result = [[sum(A[i][k] * B[k][j] for k in range(len(A[0])))
for j in range(len(B[0]))] for i in range(len(A))]
# Print the result
print(result)
[[151, 164], [215, 234]]
ਲਾਭ
- ਨਕਸ਼ਾ() ਫੰਕਸ਼ਨ ਵਿਧੀ ਦੇ ਮੁਕਾਬਲੇ, ਛੋਟਾ ਅਤੇ ਵਧੇਰੇ ਪੜ੍ਹਨਯੋਗ।
ਨੁਕਸਾਨ
- ਇਹ ਮੈਪ() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲੋਂ ਘੱਟ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਵੱਡੇ ਮੈਟ੍ਰਿਕਸ ਲਈ।
- ਇਹ ਨੇਸਟਡ ਲੂਪਸ ਪਹੁੰਚ ਨਾਲੋਂ ਵਧੇਰੇ ਮੁਸ਼ਕਲ ਹੈ।
ਸਿੱਟਾ
ਇਸ ਪੋਸਟ ਵਿੱਚ, ਅਸੀਂ ਪਾਈਥਨ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਗੁਣਾ ਕਰਨ ਵੇਲੇ NumPy ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਵਿਕਲਪਾਂ ਨੂੰ ਦੇਖਿਆ। ਅਸੀਂ ਨੇਸਟਡ ਲੂਪਸ, ਬਿਲਟ-ਇਨ ਮੈਪ() ਫੰਕਸ਼ਨ, ਅਤੇ ਸੂਚੀ ਸਮਝ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਗੁਣਾ ਕੀਤਾ।
ਸਭ ਤੋਂ ਵਧੀਆ ਰਣਨੀਤੀ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਖਾਸ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰੇਗੀ।
ਹਰੇਕ ਰਣਨੀਤੀ ਦੇ ਆਪਣੇ ਫਾਇਦੇ ਅਤੇ ਨੁਕਸਾਨ ਹਨ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਫੰਕਸ਼ਨ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ, ਵੱਖ-ਵੱਖ ਮੈਟ੍ਰਿਕਸ ਮਾਪਾਂ ਅਤੇ ਮੁੱਲਾਂ ਦੇ ਨਾਲ ਕੁਝ ਟੈਸਟ ਕੇਸਾਂ ਨੂੰ ਜੋੜਨਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ।
ਇਹ ਵਿਧੀਆਂ ਕਿੰਨੀ ਚੰਗੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ, ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਕੁਝ ਪ੍ਰਦਰਸ਼ਨ ਟੈਸਟ ਵੀ ਸ਼ਾਮਲ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ।
ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ