Electronics is the study of electrical circuits that involve active electrical components such as vacuum tubes, transistors, diodes, and integrated circuits, and associated passive interconnection technologies.
Semiconductor, P and N type semiconductors,
Formation of PN junction diode, it’s working
Zener diode, LED, Photo diode
Notes of Unit-1)
2) Bipolar Junction Transistor (BJT)
A semiconductor is a material that has electrical conductivity between that of a conductor and an insulator. They are the foundation of modern electronics.
Bipolar Junction Transistor (BJT) symbol, types, construction, working principle
Transistor, Amplifier configurations - CB, CC (only concept),
CE configuration: input and output characteristics, Definition of α, β and ϒ , Concept of Biasing
Notes of Unit-2)
3) Oscillators
A diode is a semiconductor device that allows current to flow in one direction only. It's one of the most basic components in electronics.
Barkhauson Criteria,
Low frequency Wein-bridge oscillator,
High frequency crystal oscillator
Notes of Unit-3)
Coming Soon
4) Data converters
Transistors are semiconductor devices used to amplify or switch electronic signals. They are the building blocks of modern electronic devices.
Need of Digital to Analog converters, parameters,
weighted resistive network, R-2R ladder network
need of Analog to Digital converters, parameters, Flash ADC
Notes of Unit-4)
5) Introduction to Instrumentation System
Circuit design is the process of designing electronic circuits that achieve a specific functionality. It involves selecting components and creating schematics for electronic devices.
Block diagram of Instrumentation system, Definition of sensor and transducer Classification of
sensors: Active and passive sensors.
Specifications of sensors: Accuracy, range, linearity,
sensitivity, resolution, reproducibility.
Temperature sensor (Thermistor, LM-35), Passive Infrared
sensor (PIR),
Actuators: DC Motor, stepper motor
Notes of Unit-5)
6) OPAMP as signal Conditioner
Circuit design is the process of designing electronic circuits that achieve a specific functionality. It involves selecting components and creating schematics for electronic devices.
Concept, block diagram of Op amp,
basic parameters (ideal and practical): input and output
impedance
bandwidth, differential and common mode gain, CMRR,
slew rate, IC741/ LM324,
Concept of virtual ground.
Assignment 8: SymPy for Advanced Matrix Operations
Assignment 9: Determinants and Rank of Matrix using SymPy
Assignment 10: Matrix Inversion using SymPy
Assignment 11: Triangular Matrix and LU Decomposition using SymPy
Assignment 12: Solving Systems of Linear Equations using SymPy
Assignment 1: Introduction to Python
1.1 Installation of Python
Python is a popular programming language known for its simplicity and readability. You can download and install Python from the official website: python.org. Follow these steps to install Python on your machine:
For Windows: Download the installer and follow the instructions.
For Linux/MacOS: Use your package manager to install Python, e.g., sudo apt-get install python3 for Ubuntu.
# Check Python version in the terminal:
python --version
1.2 Values and Types: int, float, str, etc.
In Python, every value has a type. Some basic types include:
int: Integer values, e.g., 5, 10, -3
float: Floating-point numbers, e.g., 3.14, 0.1
str: Strings of characters, e.g., "Hello", "Python"
age = 20 # Integer
pi = 3.14 # Float
name = "Alice" # String
print(type(age)) #
print(type(pi)) #
print(type(name)) #
1.3 Variables: Assignment, Printing Variable Values, Types of Variables
Variables in Python are dynamically typed, which means you don't need to declare their type explicitly. You assign a value to a variable using the = operator.
x = 5
y = "Hello"
z = 3.14
print(x) # Outputs: 5
print(y) # Outputs: Hello
print(z) # Outputs: 3.14
1.4 Boolean and Logical Operators
Boolean values in Python can be True or False. Logical operators include and, or, and not.
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
1.5 Mathematical Functions from math and cmath Modules
Python has built-in mathematical functions through the math module (for real numbers) and cmath (for complex numbers).
import math
import cmath
# Basic math functions
print(math.sqrt(16)) # Outputs: 4.0
print(math.factorial(5)) # Outputs: 120
z = 1 + 2j
print(cmath.sqrt(z)) # Complex square root of z
Assignment 2: Python Strings
2.1 Accessing Values in Strings
Strings are sequences of characters. You can access individual characters using indexing, starting from 0.
name = "Python"
print(name[0]) # Outputs: P
print(name[1]) # Outputs: y
2.2 Updating Strings
Strings in Python are immutable, but you can create a new string by concatenating strings.
Sets in Python allow for the removal of elements using methods like remove(), discard(), and pop(). The difference is that remove() raises an error if the element doesn't exist, while discard() does not.
my_set = {1, 2, 3, 4, 5}
my_set.remove(3) # Removes the element 3
print(my_set) # Outputs: {1, 2, 4, 5}
my_set.discard(5) # Discards the element 5
print(my_set) # Outputs: {1, 2, 4}
# Using pop to remove a random element
removed_element = my_set.pop()
print(f"Removed: {removed_element}") # Outputs: Removed: 1 (or another element)
print(my_set) # Remaining elements
4.4 Python Set Operations
Python sets support common mathematical operations like union,
intersection, difference, and symmetric difference. These can be performed using
operators or set methods:
Union (|): Combines two sets, removing duplicates.
Intersection (&): Finds common elements between two sets.
Difference (-): Finds elements present in the first set but not the second.
Symmetric Difference (^): Finds elements present in either set but not both.
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# Union
print(A | B) # Outputs: {1, 2, 3, 4, 5, 6}
# Intersection
print(A & B) # Outputs: {3, 4}
# Difference
print(A - B) # Outputs: {1, 2}
# Symmetric Difference
print(A ^ B) # Outputs: {1, 2, 5, 6}
4.5 Built-in Functions with Set
Python provides various built-in functions that work with sets:
len(): Returns the number of elements in a set.
max() and min(): Returns the largest and smallest elements, respectively.
sum(): Returns the sum of elements in a set (for numeric sets).
sorted(): Returns a sorted list of the set’s elements.
You can remove elements from a dictionary using methods like del, pop(), and clear():
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
# Removing a specific key-value pair
del my_dict["age"]
print(my_dict) # Outputs: {'name': 'Alice', 'city': 'New York'}
# Using pop to remove a key and return its value
city = my_dict.pop("city")
print(city) # Outputs: New York
print(my_dict) # Outputs: {'name': 'Alice'}
5.4 Python Dictionary Operations
keys(): Returns a view object of all the keys in the dictionary.
values(): Returns a view object of all the values.
items(): Returns a view object of all key-value pairs.
The if statement is used to execute a block of code only if a certain condition is true.
x = 10
if x > 5:
print("x is greater than 5") # This will be executed
6.2 IF...ELIF...ELSE Statements
If you want to test multiple conditions, you can use elif (else if) and else blocks.
x = 10
if x > 15:
print("x is greater than 15")
elif x > 5:
print("x is greater than 5 but less than or equal to 15") # This will be executed
else:
print("x is less than or equal to 5")
6.3 Nested IF Statements
It's possible to nest if statements inside one another to check multiple conditions.
x = 10
y = 20
if x > 5:
if y > 15:
print("x is greater than 5 and y is greater than 15") # This will be executed
6.4 While Loop
A while loop repeatedly executes a block of code as long as a condition is true.
i = 1
while i <= 5:
print(i)
i += 1 # Increment i
6.5 For Loop
A for loop is used to iterate over a sequence (like a list, tuple, or string).
for i in range(5):
print(i)
Assignment 7: Using SymPy for Basic Operations on Matrices
7.1 Addition, Subtraction, Multiplication, Power
SymPy allows for basic matrix operations like addition, subtraction, multiplication, and exponentiation.
from sympy import Matrix
# Creating matrices
A = Matrix([[1, 2], [3, 4]])
B = Matrix([[5, 6], [7, 8]])
# Addition
C = A + B
print(C) # Outputs the matrix result of A + B
# Subtraction
D = A - B
print(D) # Outputs the matrix result of A - B
# Multiplication
E = A * B
print(E) # Outputs the matrix result of A * B
# Power
F = A ** 2
print(F) # Outputs the matrix result of A squared
7.2 Accessing Elements, Rows, Columns of a Matrix
Individual elements, rows, and columns of a matrix can be accessed using SymPy’s indexing methods.
Assignment 8: Using SymPy for Operations on Matrices
8.1 Inserting an Element into a Matrix
In SymPy, although matrices are immutable, you can create a new matrix by
replacing elements or inserting them. To insert a new element into a row or
column, you may have to rebuild the matrix using concatenation or element replacement methods.
from sympy import Matrix
# Create a matrix
A = Matrix([[1, 2], [3, 4]])
# Rebuilding the matrix by inserting an element at position (1, 1)
A_new = A.row_insert(1, Matrix([[5, 6]]))
print(A_new) # Outputs the new matrix with inserted row
8.2 Inserting a Matrix into Another Matrix
You can insert a submatrix into another matrix by using methods
like row_insert or col_insert for adding rows or columns.
from sympy import Matrix
A = Matrix([[1, 2], [3, 4]])
B = Matrix([[5, 6]])
# Insert matrix B as a new row in matrix A
A_new = A.row_insert(1, B)
print(A_new) # Outputs the new matrix
8.3 Deleting a Row or Column from a Matrix
You can delete a row or column from a matrix by creating a new matrix without that row or column.
from sympy import Matrix
A = Matrix([[1, 2], [3, 4], [5, 6]])
# Delete the second row
A_new = A.row_del(1)
print(A_new) # Outputs the matrix after deleting row 1
8.4 Elementary Row Operations
Elementary row operations include row swapping, row multiplication,
and row addition. These operations are useful for manipulating matrices,
especially in solving systems of equations.
Assignment 9: Using SymPy to Obtain Matrix Properties
9.1 Determinant of a Matrix
The determinant of a matrix is a scalar value that can be computed using
the det() method. It is crucial in solving linear systems,
finding the inverse of matrices, and understanding matrix properties.
from sympy import Matrix
A = Matrix([[1, 2], [3, 4]])
# Calculate determinant
det_A = A.det()
print(det_A) # Outputs: -2
9.2 Rank of a Matrix
The rank of a matrix is the maximum number of linearly independent row
or column vectors. You can compute it using the rank() method in SymPy.
rank_A = A.rank()
print(rank_A) # Outputs: 2
9.3 Transpose of a Matrix
The transpose of a matrix is achieved by swapping its rows and columns.
This operation is useful in many mathematical contexts.
transpose_A = A.T
print(transpose_A) # Outputs the transpose of matrix A
9.4 Reduced Row Echelon Form of a Matrix
The reduced row echelon form (RREF) of a matrix is used in solving systems of
linear equations. It transforms the matrix into a form where back substitution can be applied easily.
rref_A, pivots = A.rref()
print(rref_A) # Outputs the RREF of matrix A
Assignment 10: Using SymPy for Matrix Inverses and Related Operations
10.1 The Inverse of a Matrix
You can calculate the inverse of a matrix using the inv() method.
The matrix must be square and have a non-zero determinant to be invertible.
inverse_A = A.inv()
print(inverse_A) # Outputs the inverse of matrix A
10.2 Inverse of a Matrix by Row Reduction
The inverse of a matrix can also be computed using row reduction techniques,
where elementary row operations are applied until the matrix is reduced to the identity matrix.
# SymPy allows you to apply row reduction techniques to find the inverse
inverse_A = A.inv(method="GE")
print(inverse_A)
10.3 Minor and Cofactors of a Matrix
The minor of an element is the determinant of the matrix obtained by deleting
the element's row and column. The cofactor includes the minor along with a sign.
# Minor of element at (0, 0)
minor_A = A.minor_submatrix(0, 0).det()
print(minor_A) # Outputs the minor of element A[0, 0]
10.4 Inverse of a Matrix by Adjoint Method
The adjoint method is another way to compute the inverse of a matrix.
It involves computing the cofactor matrix, transposing it, and dividing by the determinant.
adjoint_A = A.adjugate()
inverse_A = adjoint_A / A.det()
print(inverse_A) # Outputs the inverse using the adjoint method
Assignment 11: Using SymPy for LU Decomposition
11.1 Lower Triangular Matrix
A lower triangular matrix is a matrix where all the entries above the
diagonal are zero. SymPy can compute this using LU decomposition.
L, U, _ = A.LUdecomposition()
print(L) # Outputs the lower triangular matrix L
11.2 Upper Triangular Matrix
An upper triangular matrix is one where all the entries below the diagonal
are zero. SymPy provides this using LU decomposition as well.
print(U) # Outputs the upper triangular matrix U
11.3 LU Decomposition of a Matrix
LU decomposition expresses a matrix as the product of a lower triangular matrix
and an upper triangular matrix. This is useful in solving linear systems and computing matrix inverses.
# The matrices L and U are already computed in the LUdecomposition step
print(L * U) # Rebuilds the original matrix A
Assignment 12: Using SymPy to Solve Systems of Linear Equations
12.1 Cramer's Rule
Cramer’s rule is used to solve a system of linear equations using determinants.
It works for systems where the number of equations equals the number of unknowns.
from sympy import symbols
x, y = symbols('x y')
eq1 = 2*x + y - 1
eq2 = x - 2*y - 3
sol = A.solve((x, y))
print(sol) # Outputs the solution using Cramer's rule
12.2 Gauss Elimination Method
Gauss elimination transforms a system of linear equations into an
upper triangular matrix, which is then solved using back substitution.
# Use row reduction (RREF) to solve the system
rref_A, pivots = A.rref()
print(rref_A)
12.3 Gauss-Jordan Method
Gauss-Jordan elimination extends the Gauss method by reducing the matrix to its
reduced row echelon form (RREF), allowing direct solutions without back substitution.
rref_A, pivots = A.rref()
print(rref_A) # Outputs the RREF, which can be directly solved
12.4 LU Decomposition Method for Solving Systems
LU decomposition can also be used to solve systems of linear equations by solving two triangular systems: one for the lower
Matrices are fundamental mathematical objects used in linear algebra and many other areas of mathematics and science. There are various types of matrices, each with unique characteristics. In this blog, we’ll explore different types of matrices with examples for each type.
1. Square Matrix
A matrix is said to be a square matrix if it has an equal number of rows and columns.
Examples:
2 4
1 3
5 7 1
3 6 2
8 4 9
2. Diagonal Matrix
A diagonal matrix is a square matrix where all off-diagonal elements are zero.
Examples:
3 0 0
0 5 0
0 0 7
1 0
0 9
3. Identity Matrix
An identity matrix is a special type of diagonal matrix where all diagonal elements are 1, and all off-diagonal elements are 0.
Examples:
1 0
0 1
1 0 0
0 1 0
0 0 1
4. Symmetric Matrix
A symmetric matrix is a square matrix that is equal to its transpose, i.e., A = AT.
Examples:
4 1 2
1 3 5
2 5 6
2 7
7 4
5. Skew-Symmetric Matrix
A skew-symmetric matrix is a square matrix whose transpose is equal to the negative of the original matrix, i.e., A = -AT.
Examples:
0 3 -2
-3 0 1
2 -1 0
0 4
-4 0
6. Upper Triangular Matrix
An upper triangular matrix is a square matrix where all the elements below the main diagonal are zero.
Examples:
4 5 6
0 7 8
0 0 9
3 2
0 1
7. Lower Triangular Matrix
A lower triangular matrix is a square matrix where all the elements above the main diagonal are zero.
Examples:
2 0 0
5 3 0
7 1 9
6 0
4 1
8. Zero Matrix
A zero matrix (or null matrix) is a matrix in which all elements are zero.
Examples:
0 0
0 0
0 0 0
0 0 0
0 0 0
Conclusion
Understanding the different types of matrices is essential in linear algebra as they have distinct properties and applications. The examples provided give a practical representation of each matrix type to help solidify the concepts.
---------------------------
Matrix Operations: Types, Examples, and Properties
Matrix operations are fundamental in various fields such as mathematics, physics, computer science, and engineering. Understanding these operations, along with their properties and applications, is essential for solving complex problems. This blog covers the primary matrix operations, provides examples using different types of matrices, and discusses the key properties associated with these operations.
Types of Matrices
Before delving into matrix operations, let's briefly revisit some common types of matrices:
Square Matrix: Same number of rows and columns.
Diagonal Matrix: All off-diagonal elements are zero.
Identity Matrix: A diagonal matrix with all diagonal elements as 1.
Symmetric Matrix: Equal to its transpose.
Skew-Symmetric Matrix: Transpose is the negative of the original matrix.
Upper Triangular Matrix: All elements below the main diagonal are zero.
Lower Triangular Matrix: All elements above the main diagonal are zero.
Zero Matrix: All elements are zero.
Matrix Operations
Let's explore the primary matrix operations with examples using different types of matrices.
1. Matrix Addition
Matrix addition involves adding corresponding elements of two matrices of the same dimensions.
Example 1: Adding Two Square Matrices
A = [1 2]
[3 4]
B = [5 6]
[7 8]
Result:
A + B = [6 8]
[10 12]
Example 2: Adding a Diagonal and an Identity Matrix
C = [2 0]
[0 3]
D = [1 0]
[0 1]
Result:
C + D = [3 0]
[0 4]
2. Matrix Subtraction
Matrix subtraction involves subtracting corresponding elements of two matrices of the same dimensions.
Example 1: Subtracting Two Symmetric Matrices
E = [4 1]
[1 3]
F = [2 0]
[0 2]
Result:
E - F = [2 1]
[1 1]
Example 2: Subtracting an Upper Triangular Matrix from a Lower Triangular Matrix
G = [3 0]
[4 5]
H = [1 2]
[0 3]
Result:
G - H = [2 -2]
[4 2]
3. Scalar Multiplication
Scalar multiplication involves multiplying every element of a matrix by a scalar (a constant).
Example 1: Multiplying a Diagonal Matrix by a Scalar
I = [2 0]
[0 3]
Scalar: 4
Result:
4 * I = [8 0]
[0 12]
Example 2: Multiplying a Symmetric Matrix by a Scalar
J = [1 2 3]
[2 4 5]
[3 5 6]
Scalar: -1
Result:
-1 * J = [-1 -2 -3]
[-2 -4 -5]
[-3 -5 -6]
4. Matrix Multiplication
Matrix multiplication involves taking the dot product of rows and columns from two matrices. Note that the number of columns in the first matrix must equal the number of rows in the second matrix.
Example 1: Multiplying Two 2x2 Matrices
K = [1 2]
[3 4]
L = [5 6]
[7 8]
Result:
K * L = [19 22]
[43 50]
Example 2: Multiplying a Diagonal Matrix with a Lower Triangular Matrix
M = [2 0]
[0 3]
N = [1 0]
[4 5]
Result:
M * N = [2 0]
[12 15]
5. Transpose of a Matrix
The transpose of a matrix is obtained by swapping its rows with its columns.
Example 1: Transposing a 2x3 Matrix
O = [1 2 3]
[4 5 6]
Result:
OT = [1 4]
[2 5]
[3 6]
Example 2: Transposing a Symmetric Matrix
P = [7 8]
[8 9]
Result:
PT = [7 8]
[8 9]
6. Inverse of a Matrix
The inverse of a matrix A is a matrix A-1 such that A * A-1 = I, where I is the identity matrix. Not all matrices have inverses; only non-singular (invertible) square matrices do.
Example 1: Inverse of a 2x2 Matrix
Q = [4 7]
[2 6]
Inverse:
Q-1 = [ 0.6 -0.7]
[-0.2 0.4]
Example 2: Inverse of a Diagonal Matrix
R = [3 0]
[0 5]
Inverse:
R-1 = [1/3 0]
[0 1/5]
7. Element-wise Multiplication (Hadamard Product)
The Hadamard product involves multiplying corresponding elements of two matrices of the same dimensions.
Example 1: Element-wise Multiplication of Two 2x2 Matrices
S = [1 2]
[3 4]
T = [5 6]
[7 8]
Result:
S ⊙ T = [5 12]
[21 32]
Example 2: Element-wise Multiplication of a Diagonal Matrix and an Identity Matrix
U = [2 0]
[0 3]
V = [1 0]
[0 1]
Result:
U ⊙ V = [2 0]
[0 3]
Properties of Matrix Operations
Matrix operations adhere to several important properties that facilitate computations and theoretical developments in linear algebra. Here are some key properties:
Commutativity of Addition:A + B = B + A
Associativity of Addition:(A + B) + C = A + (B + C)
Associativity of Multiplication:(A * B) * C = A * (B * C)
Distributive Property:A * (B + C) = A * B + A * C
Multiplicative Identity:A * I = I * A = A, where I is the identity matrix.
Non-Commutativity of Multiplication: In general, A * B ≠ B * A
Inverse Property:A * A-1 = A-1 * A = I, provided A is invertible.
Transpose of a Product:(A * B)T = BT * AT
Scalar Multiplication Distribution:k * (A + B) = k * A + k * B
Hadamard Product Commutativity:A ⊙ B = B ⊙ A
Hadamard Product Associativity:A ⊙ (B ⊙ C) = (A ⊙ B) ⊙ C
Applications of Matrix Operations
Matrix operations are widely used in various applications, including:
Computer Graphics: Transformations such as rotation, scaling, and translation are performed using matrix multiplication.
Engineering: Solving systems of linear equations for structural analysis and electrical circuits.
Data Science: Handling and manipulating large datasets using matrix operations.
Machine Learning: Algorithms like neural networks rely heavily on matrix multiplications and other operations.
Economics: Input-output models and optimization problems utilize matrix operations.
Conclusion
Understanding matrix operations, along with their properties and applications, is crucial for tackling complex problems in various scientific and engineering disciplines. The examples provided demonstrate how different types of matrices interact under various operations, highlighting the versatility and power of matrices in mathematical computations.
----------------------------
Row Echelon Form and Reduced Row Echelon FormElementary Matrices and Elementary Row Operations
Elementary Matrices and Elementary Row Operations
Elementary Matrices
An elementary matrix is a matrix that represents a single elementary row operation. These matrices are obtained by performing an elementary row operation on an identity matrix. There are three types of elementary matrices corresponding to the three types of elementary row operations:
Row swapping (interchanging two rows).
Row scaling (multiplying a row by a non-zero scalar).
Row addition (adding a multiple of one row to another row).
Let’s consider a 3x3 identity matrix:
1
0
0
0
1
0
0
0
1
Performing elementary row operations on this identity matrix results in elementary matrices.
Types of Elementary Matrices
1. Row Interchange
If we interchange rows 1 and 2 of the identity matrix, we get the following elementary matrix:
0
1
0
1
0
0
0
0
1
This matrix can be used to swap the first and second rows of any matrix when multiplied from the left.
2. Row Scaling
If we multiply the second row of the identity matrix by 3, the resulting elementary matrix is:
1
0
0
0
3
0
0
0
1
This matrix can be used to scale the second row of a matrix by 3 when multiplied from the left.
3. Row Addition
If we add 2 times the first row to the second row of the identity matrix, we get:
1
0
0
2
1
0
0
0
1
This matrix can be used to add 2 times the first row to the second row of a matrix when multiplied from the left.
Elementary Row Operations
An elementary row operation is an operation that can be performed on a matrix to simplify it. There are three types of elementary row operations:
Row Interchange: Interchanging two rows of a matrix.
Row Scaling: Multiplying all entries of a row by a non-zero scalar.
Row Addition: Adding a multiple of one row to another row.
Example: Applying Elementary Row Operations
Consider the following matrix:
1
2
1
2
4
3
3
6
5
Step 1: Row Interchange
Interchange rows 1 and 2:
2
4
3
1
2
1
3
6
5
Step 2: Row Scaling
Multiply the first row by 1/2 to make the leading coefficient 1:
1
2
1.5
1
2
1
3
6
5
Step 3: Row Addition
Subtract row 1 from row 2 (R2 - R1) and subtract 3 times row 1 from row 3 (R3 - 3*R1):
1
2
1.5
0
0
-0.5
0
0
0.5
The resulting matrix shows how elementary row operations transform the matrix.
Row Echelon Form (REF) and Reduced Row Echelon Form (RREF)
Definition
The Row Echelon Form (REF) of a matrix is a form in which:
All non-zero rows are above any rows of all zeros.
The leading entry (first non-zero number from the left) of each non-zero row is 1, known as the pivot.
The pivot in any row is to the right of the pivot in the row above it.
The Reduced Row Echelon Form (RREF) further requires that:
The leading 1 in each row is the only non-zero entry in its column.
Standard Form of Matrix
The standard form of a matrix can be written as:
a11
a12
...
a1n
a21
a22
...
a2n
...
...
...
...
am1
am2
...
amn
Example 1: Row Echelon Form (REF)
Consider the following matrix:
1
2
1
2
4
3
3
6
5
Step 1: Subtract twice the first row from the second row, and subtract three times the first row from the third row:
1
2
1
0
0
1
0
0
2
Step 2: Subtract twice the second row from the third row:
1
2
1
0
0
1
0
0
0
Thus, the matrix is now in Row Echelon Form.
Example 2: Reduced Row Echelon Form (RREF)
Consider the following matrix:
1
3
1
0
1
2
0
0
1
Step 1: Subtract 3 times the second row from the first row:
1
0
-5
0
1
2
0
0
1
Thus, the matrix is now in Reduced Row Echelon Form.
F.Y.B.Sc.(Computer Science)
Structure of the course:-
Semester - I
and
Semester -II
F.Y.B.Sc.(Computer Science)
Sr. No.
Subject
Download link
1
Computer Science
2
Mathematics
3
Electronic Science
4
STATISTICS
SYBSC(comp.sci.) Syllabus
2019 pattern. Effective from 2020,
S.Y.B.Sc.(Computer Science)
Sr. No.
Subject
Download link
1
Computer Science
2
Mathematics
3
Electronic Science
4
ENGLISH
Sem-1.
Group and Coding Theory,
Semester III
MTC-231 : Groups and Coding Theory
Unit 1. Integers [05 Lectures]
1.1 Division Algorithm (without Proof)
1.2 G.C.D. using division algorithm and expressing it as linear combination
1.3 Euclid’s lemma
1.4 Equivalence relation (revision), Congruence relation on set of integers, Equivalence
class partition
Unit 2. Groups [03 Lectures]
2.1 Binary Operation
2.2 Group: Definition and Examples
2.3 Elementary Properties of Groups
Unit 3. Finite Groups and Subgroups [10 Lectures]
3.1 Order of a group, order of an element
3.2 Examples (Zn, +) and (U(n), *)
3.3 Subgroup definition, Finite subgroup test, subgroups of Zn
3.4 Generator, cyclic group, finding generators of Zn( Corollary 3,4 without proof)
3.5 Permutation group, definition, composition of two permutations, representation
as product of disjoint cycles, inverse and order of a permutation, even/ odd
permutation
3.6 Cosets: Definition, Examples and Properties, Lagrange Theorem(without Proof)
Unit 4. Groups and Coding Theory [18 Lectures]
4.1 Coding of Binary Information and Error detection
4.2 Decoding and Error Correction
4.3 Public Key Cryptography
Text Books:-
1. Contemporary Abstract Algebra By J. A, Gallian (Seventh Edition)
Unit 1:Chapter 0, Unit 2: Chapter 2, Unit 3: Chapter 3 ,4, 5 and 7
2. Discrete Mathematical Stuctures By Bernard Kolman, Robert C. Busby and Sharon
Ross (6th Edition) Pearson Education Publication
Unit 4: Chapter 11
MTC-232 : Numerical Techniques
Unit 1: Algebraic and Transcendental Equation [04 Lectures]
1.1 Introduction to Errors
1.2 False Position Method
1.3 Newton-Raphson Method
Unit 2: Calculus of Finite Differences and Interpolation [16 Lectures]
2.1 Differences
2.2. Forward Differences
2.3 Backward Differences
2.4 Central Differences
2.5 Other Differences (δ, μ operators)
2.6 Properties of Operators
2.7 Relation between Operators
2.8 Newton’s Gregory Formula for Forward Interpolation
2.9 Newton’s Gregory Formula for Backward Interpolation
2.10 Lagrange’s Interpolation Formula
2.11 Divided Difference
2.12 Newton’s Divided Difference Formula
Unit 3: Numerical Integration [08 Lectures]
3.1 General Quadrature Formula
3.2 Trapezoidal Rule
3.3 Simpson’s one-Third Rule
3.4 Simpson’s Three-Eight Rule
Unit 4: Numerical Solution of Ordinary Differential Equation [08 Lectures]
4.1 Euler’s Method
4.2 Euler’s Modified Method
4.3 Runge-Kutta Methods
Text Book:-
1. A textbook of Computer Based Numerical and Statistical Techniques, by A. K.
Jaiswal and Anju Khandelwal. New Age International Publishers.
Unit 1: Chapter 2: Sec. 2.1, 2.5, 2.7
Unit 2: Chapter 3: Sec. 3.1, 3.2, 3.4, 3.5, Chapter 4: Sec. 4.1, 4.2, 4.3,
Chapter 5: Sec. 5.1, 5.2, 5.4, 5.5
Unit 3: Chapter 6: Sec. 6.1, 6.3, 6.4, 6.5, 6.6, 6.7
Unit 4: Chapter 7: Sec. 7.1, 7.4, 7.5, 7.6
Reference Books:-
1. S.S. Sastry; Introductory Methods of Numerical Analysis, 3rd edition,
Prentice Hall of India, 1999.
2. H.C. Saxena; Finite differences and Numerical Analysis, S. Chand and
Company.
3. K.E. Atkinson; An Introduction to Numerical Analysis, Wiley Publications.
4. Balguruswamy; Numerical Analysis.
Practical based on python programming language-1.
Practicals:
Practical 1: Introduction to Python, Python Data Types-I (Unit 1)
Practical 2: Python Data Types- II (Unit 2)
Practical 3: Control statements in Python-I (Unit 3- 3.1, 3.2)
Practical 4: Control statements in Python-II (Unit 3- 3.3)
Practical 5: Application : Matrices (Unit 4 – 4.1-4.3)
Practical 6: Application : Determinants, system of Linear Equations (Unit 4- 4.4, 4.5)
Practical 7: Application : System of equations (Unit 4- 4.5)
Practical 8: Application : Eigenvalues, Eigenvectors (Unit 4 – 4.6)
Practical 9: Application : Eigenvalues, Eigenvectors (Unit 4 – 4.6)
Practical 10: Application : Roots of equations (Unit 5 – 5.1)
Practical 11: Application : Numerical integration (Unit 5 – 5.2, 5.3)
Practical 12: Application : Numerical integration (Unit 5 – 5.4)
Detail syllabus given in following pdf.
Sem-2. Computational Geometry,
Operations Research,
Practical based on python programming language-2.
Semester - IV
MTC-241: Computational Geometry
Unit 1. Two dimensional transformations: [12 Lectures]
1.1 Introduction.
1.2 Representation of points.
1.3 Transformations and matrices.
1.4 Transformation of points.
1.5 Transformation of straight lines
1.6 Midpoint Transformation
1.7 Transformation of parallel lines
1.8 Transformation of intersecting lines
1.5 Transformation: rotations, reflections, scaling, shearing.
1.6 Combined transformations.
1.7 Transformation of a unit square.
1.8 Solid body transformations.
1.9 Translations and homogeneous coordinates.
1.10 Rotation about an arbitrary point.
1.11 Reflection through an arbitrary line.
Unit 2. Three dimensional transformations: [08 Lectures]
2.1 Introduction.
2.2 Three dimensional – Scaling, shearing, rotation, reflection, translation.
2.3 Multiple transformations.
2.4 Rotation about – an axis parallel to coordinate axes, an arbitrary line
2.5 Reflection through – coordinate planes, planes parallel to coordinate
planes , an arbitrary plane
Unit 3. Projection [08 Lectures]
3.1 Orthographic projections.
3.2 Axonometric projections.
3.3 Oblique projections
3.4 Single point perspective projection
Unit 4. Plane and space Curves: [08 Lectures ]
4.1 Introduction.
4.2 Curve representation.
4.3 Parametric curves.
4.4 Parametric representation of a circle and generation of circle.
4.5 Bezier Curves – Introduction, definition, properties (without proof),
Curve fitting (up to n = 3), equation of the curve in matrix form (upto n = 3)
Textbook:
1. D. F. Rogers, J. A. Adams, Mathematical elements for Computer graphics,
Mc Graw Hill Intnl Edition.
Unit 1: Chapter 2: Sec. 2-1 to 2.17
Unit 2: Chapter 3: Sec. 3.1 to 3.10,
Unit 3: Chapter 3: Sec. 3.12 to 3.14
Unit 4: Chapter 4: Sec. 4.1, 4.2, 4.5, Chapter 5: Sec. 5.1, 5.8
Reference books:
1. Computer Graphics with OpenGL, Donald Hearn, M. Pauline Baker, Warren Carithers,
Pearson (4th Edition)
2. Schaum Series, Computer Graphics.
Detail syllabus given in following pdf.
MTC-242: Operations Research
Unit 1: Linear Programming Problem I [12 Lectures]
1.1 Introduction Definition and Examples
1.2 Problem solving using Graphical method
1.3 Theory of Linear Programming, Slack and surplus variables, Standard form of LPP,
Some important definitions, Assumptions in LPP, Limitations of Linear
programming, Applications of Linear programming, Advantages of
programming Techniques
1.4 Simplex method, Big- M-method
Unit 2: Linear Programming Problem II [08 Lectures]
2.1 Special cases of LPP : Alternative solution, Unbounded solution, Infeasible solution
2.2 Duality in Linear Programming, Primal to dual conversion, Examples
Unit 3: Assignment Models [06 Lectures ]
3.1 Assignmment Model -Introduction
3.2 Hungerian method for Assignment problem
Unit 4: Transportation Models [10 Lectures]
4.1 Introduction, Tabular representation
4.2 Methods of IBFS (North-West rule, Matrix-minima, Vogel’s Approximation),
Algorithms
4.3 The Optimality Test of Transportation Model (MODI method only)
Text Book:-
Operation Research (12 th Edition), by S.D.Sharma.
Unit 1: Chapter 1: Sec. 1.1, 1.3-1, 1.3-2, 1.5, 1.6, 1.8, 1.9, 1.10, 1.11, 1.12,
Chapter 3: Sec. 3.1, 3.2, 3.3, 3. 4, 3.5-4,
Unit 2: Chapter 3: Sec. 3.8-1,3.8-2, Chapter 5: Sec. 5.1-1, 5.2-1,5.3,5.7-1, 5.7-2
Unit 3: Chapter 9: Sec. 9.1, 9.2, 9.4-1, 9.4-2, 9.5, 9.6, 9.7-1, 9.7-2
Unit 4: Chapter 10: 10.1, 10.2, 10.5, 10.8-1,10.9, 10.10
Reference Books:-
1. Operations Research by H. A. Taha
2.Operations Research by R. Panneerselvam, Prentice Hall of India.
3. Principles of Operations Research by H. M. Wagner, Prentice Hall of India.
4. Operations Research by Gupta and Hira.
5. Operation Research by J.K. Sharma
Detail syllabus given in following pdf.
MTC-243: Mathematics Practical: Python Programming Language-II
Unit 1: 2D, 3D Graphs
1.1 Installation of numpy, matplotlib packages
1.2 Graphs plotting of functions such as ... etc.
1.3 Different formats of graphs.
1.3 Three-dimensional Points and Lines
1.4 Three-dimensional Contour Plots
1.5 Wireframes and Surface Plots
1.6 Graphs plotting of functions such as... etc.
Unit 2: Computational Geometry
1.1 Points: The distance between two points, Lists of Points - the PointList class, Integer
point lists, Ordered Point sets, Extreme Points of a PointList, Random sets of Points not
in general position
2.2 Points: Displaying Points and other geometrical objects, Lines, rays, and line segments,
The geometry of line segments, Displaying lines, rays and line segments
2.3 Polygon : Representing polygons in Python, Triangles, Signed area of a triangle,
Triangles and the relationships of points to lines, is Collinear, is Left, is Left On, is Right,
is Right On, Between
2.4 Two dimensional rotation and reflection
2.5 Three dimensional rotation and reflection
2.6 Generation of Bezier curve with given control points
Unit 3: Study of Operational Research in Python
3.1 Linear Programming in Python
3.2 Introduction to Simplex Method in Python
Practicals:
Practical 1: Graph Plotting (Unit 1 – 1.1 – 1.3)
Practical 2: Graph Plotting (Unit 1 – 1.4 – 1.7)
Practical 3: Application to Computational Geometry (Unit 2 – 2.1)
Practical 4: Application to Computational Geometry (Unit 2 – 2.2)
Practical 5: Application to Computational Geometry (Unit 2 – 2.3)
Practical 6: Study of Graphical aspects of Two dimensional transformation matrix using
matplotlib
Practical 7: Study of Graphical aspects of Three dimensional transformation matrix using
matplotlib
Practical 8: Study of Graphical aspects of Three dimensional transformation matrix using
matplotlib
Practical 9: Study of effect of concatenation of Two dimensional and Three dimensional
transformations
Practical 10: Generation of Bezier curve using given control points
Practical 11: Study of Operational Research in Python (Unit 3.1)
Practical 12: Study of Operational Research in Python (Unit 3.2)
Text Books:-
1. Jaan Kiusalaas, Numerical Methods in Engineering with Python, Cambridge
University Press, (2005)
Sections: 3
2. Robert Johansson, Introduction to Scientific Computing in Python
Section: 1
3. Jason Brownlee, Basics of Linear Algebra for Machine Learning, Discover the
Mathematical Language of Data in Python
Sections: 2
Reference Books:-
1. Lambert K. A., Fundamentals of Python - First Programs, Cengage Learning India,
2015.
2. Guzdial, M. J., Introduction to Computing and Programming in Python, Pearson India.
3. Perkovic, L., Introduction to Computing Using Python, 2/e, John Wiley, 2015.
4. Zelle, J., Python Programming: An Introduction to Computer Science, Franklin,
Beedle and Associates Inc.
5. Jim Arlow, Interactive Computational Geometry in Python
Note:
Detail syllabus given in following pdf.
(i) In paper -I , paper-II and paper-III, each course is of 50 marks ( 35 marks theory and
15 marks internal examination).
(ii) Paper III: Mathematics Practical - MTC-233 and MTC-243 is practical course and
is of 50 marks. Practicals shall be perforemed on computer.
Examination:
A) Pattern of examination: Paper- I, Paper-II and paper-III: Semesterwise
B) Pattern of question papers: For Paper -I and Paper-II
Q 1. Attempt any 05 out of 07 questions each of 01 marks. [05 Marks]
Q 2. Attempt any 02 out of 04 questions each of 05 marks. [10 Marks]
Q 3. Attempt any 02 out of 04 questions each of 05 marks. [10 Marks]
Q 4. Attempt any 02 out of 04 questions each of 10 marks. [10 Marks]
C) Instructions Regarding Practical:
Paper-III:Mathematics Practical:
(i) Mathematics Practical, external examiner shall be appointed by
Savitribai Phule Pune University, Pune.
(ii) The minimum duration of parctical examination is 3 hours.
(iii) The semester examination is of 35 marks 15 marks are from internal
evaluation (Journal, attendence and viva-voce or internal test etc.)
(iv) The slips for the questions on programming and problem solving
using python shall be prepared and provided and these can be used
at least for 3 years.
D) Standard of passing:
For Paper- I, Paper-II and Papaer -III: 14 Marks out of 35 and 06 marks out of 15
marks and total should be 20 marks for each course.
Use following link for previous year question papers of BCA
Use following link for previous year question papers of B.Sc (Computer Science)