Applications of LA in SE

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

DEPARTMENT OF SOFTWARE ENGINEERING

Assignment#1
Topic: Applications of Matrices in Software Engineering
Submitted by: Faiza Rani
Roll No: 21011598-001
Section: SE(A)
Course Title: Linear Algebra
Course Code: Math-314
Submitted to: Sir Naveel

Applications of Matrices in Software Engineering


Matrix:
Matrices are the rectangular arrangements of numbers, expressions, symbols which are
arranged in columns and rows that kept inside brackets subject to certain rules of operations.

Role of Matrices:
Matrices can play a vital role in the projection of three dimensional images into two dimensional
screens, creating the realistic decreeing motion. Now day’s matrices are used in the ranking of web
pages in the Google search. It can also be used in generalization of analytical motion like experimental &
derivatives to their high dimensional. The most important usages of matrices in computer side
application are encryption of message codes with the help of encryptions only, internal function are
working and even could work with transmission of sensitive & private data. Matrices are also used in
robotics & automation in terms of base elements for the robot movements. The movements of the
robots are programmed with the calculation of matrices ‘row &column “Controlling of matrices are done
by calculation of matrices.

Applications:
Matrices have many applications in software engineering that is:

 Computer Graphics
 Robotics and animation
 Encryption
 Wireless communication and signal processing
 Application to Games
 Application to image processing
 In coding theory
 Steganography
 Applications in Data Analysis /Machine Learning

Computer Graphics:
In computer graphics, matrices are used for the operations such as translations, rotations,
scaling and more. These concepts appear in video game graphics. In the video game industry,
they(matrices) are the major mathematical tools to construct and manipulate a realistic
animation of a polygonal figure. Some of the basic and advanced matrix transformations are
used in video games. Understanding of matrices is a basic necessity for programming 3D video
games.

In Graphics, digital image is treated as a matrix to be start with. The rows and columns of matrix
correspond to rows and columns of pixels and the numerical entries correspond to the pixels’
color values. Using matrices to manipulate a point is common mathematical approach in video
game graphics Matrices are used to express graphs. Every graph can be representing as a matrix
each column and each row of a matrix is node and value of their intersection is strength of the
connection between them. Matrix operations such as translation, rotation and sealing are used
in graphics. For transformation of a point we use the equation.

Robotics and Animation:


Earlier architecture, cartoon, automation were done by hand drawings but nowadays they are done by
using computer graphics. In video gaming industry matrices are major mathematical tool to construct
and manipulate a realistic animation of a polygonal figure. Computer graphics software uses matrices to
process linear transformations to translate images. For this purpose square matrices are very easily
represent linear transformation of objects. Matrices are used to project three dimensional images into
two dimensional planes.

Movements of the robots are programmed with the calculations of matrices rows and columns.
The inputs for controlling robots are based on calculations from matrices.

Encryption:
 Encryption is the transformation of data into some unreadable form. Its purpose is to ensure
privacy by keeping the information hidden from anyone for whom it is not intended, even those
who can see the encrypted data.
Cryptography is the technique to encrypting data so that only the relevant person can get the data and
relate information. In earlier days, video signals were not used to encrypt. Anyone with satellite dish was
able to watch videos which results in the loss for satellite owners, so they started encrypting the video
signals so that only those who have videos cipher can unencryptedthe signals. This encrypting is done by
using an invertible key is not invertible then the encrypted signals cannot be unencrypted and they
cannot get back to original form. This process is done using matrices.

A digital audio or video signal is firstly taken as a sequence of numbers representing the variation over
time of air pressure of an acoustic audio signal. The filtering techniques are used which depends on
matrix multiplication.

Wireless communication and signal processing:


Matrices are used to model the wireless signals and to optimize them. For detection, extractions and
processing of the information embedded in signals matrices one used. Matrices play a key role in signal
estimation and detection problems. They are used in sensor array signal processing and design of
adaptive filter. Matrices play a major role in representing and processing digital images.

We know that wireless and communication is important part of telecommunication industry. Sensor
array signal processing focuses on signal enumeration and source location applications and presents a
huge importance in many domains such as radar signals and underwater surveillance. Main problem in
sensor array signal processing is to detect and locate the radiating sources given the temporal and
spatial information collected from the sensors.

Application to Games:
In any game development, you need to use linear algebra to do things related to position or
motion of objects. Linear algebra uses matrices to do calculation related to position or motion,
we call these calculations transformation. Transformation consists of three types Translation,
Rotation, Scaling. Each transformation can be represent using a matrix. This is called
Transformation Matrix. Transformation Matrix just need to do a Matrix multiplication to
achieve that. Transformation Matrices can also be multiplied to other Transformation Matrices.
This is used to achieve multiple Transformations.

TRANSFORMED POINT = TRANSFORMATION MATRIX * ORIGINAL POINT

1. Model Matrix - This a Transformation matrix to transform the objects vertices


which are relative to its origin, to the vertices relative to the world’s origin. e.g.
movement of an object.
2. View Matrix - This matrix is used to transform world’s coordinates to camera’s
coordinates. Like if you move the camera in game then this matrix actually transforms
the whole world to mimic the motion of the camera in game.
3. Projection Matrix - This is the final transformation matrix which is used to cut out
the desired part of the game to the screen. This is like when you play any game you
view certain part of the world at a time i.e. you can watch a limit area in front of
your camera/character. 

Application to Image Processing:


Introduction
 When retrieved from the Internet, digital images take a considerable amount of time to
download and use a large amount of computer memory. The Haar wavelet transform that we
will discuss in this application is one way of compressing digital images so they take less space
when stored and transmitted. As we will see later, the word ``wavelet’’ stands for an
orthogonal basis of a certain vector space.
Basic idea
The basic idea behind this method of compression is to treat a digital image as an array of
numbers i.e., a matrix. Each image consists of a fairly large number of little squares
called pixels (picture elements). The matrix corresponding to a digital image assigns a whole
number to each pixel. For example, in the case of a 256x256 pixel gray scale image, the image is
stored as a 256x256 matrix, with each element of the matrix being a whole number ranging
from 0 (for black) to 225 (for white).
The JPEG compression technique divides an image into 8x8 blocks and assigns a matrix to each
block. One can use some linear algebra techniques to maximize compression of the image and
maintain a suitable level.

 
In coding theory:
Introduction:
 Transmitted messages, like data from a satellite, are always subject to noise. It is important;
therefore, to be able to encode a message in such a way that after noise scrambles it, it can be
decoded to its original form. This is done sometimes by repeating the message two or three
times, something very common in human speech. However, copying data stored on a compact
disk, or a floppy disk once or twice requires extra space to store. In this application, we will
examine ways of decoding a message after it gets distorted by some kind of noise. This process
is called coding. A code that detects errors in a scrambled message is called error detecting. If,
in addition, it can correct the error it is called error correcting.  It is much harder to find error
correcting than error-detecting codes.
Some basic coding techniques:
Most messages are sent as digital-sequences of 0’s and 1’s, such as 10101 or 1010011, so let us
assume we want to send the message 1011. This binary “word” may stand for a real word, such
as buy, or a sentence such as buy stocks. One way of encoding 1011 would be to attach a binary
“tail” to it so that if the message gets distorted to, say, 0011, we can detect the error. One such
tail could be a 1 or 0, depending on whether we have an odd or an even number of 1’s in the
word. This way all encoded words will have an even number of 1’s. So 1011 will be encoded as
10111. Now if this is distorted to 00111 we know that an error has occurred, because we only
received an odd number of 1’s. This error-detecting code is called a parity check and is too
simple to be very useful.
For example:
if two digits were changed, our scheme will not detect the error, so this is definitely not an
error-correcting code. Another approach would be to encode the message by repeating it
twice, such as 10111011.

Steganography:
Matrices are used to cover channels, hidden tent within web pages, hidden files in plain sight,
null ciphers and steganography. In recent wireless internet connection through mobile phone,
known as wireless application protocol (wap) also utilize matrices in the form of stenography.

Applications in Data Analysis:


Matrices are a foundational element of linear algebra. Matrices are used throughout the field of
machine learning in the description of algorithms and processes such as the input data variable
(X) when training an algorithm. Matrix algebra plays an important role in many core artificial
intelligence (AI) areas, including machine learning, neural networks, support vector machines
(SVMs) and evolutionary computation.
Question:54 A square matrix A is said to be idempotent if

(a) Show that if A is idempotent, then so is I-A

(b) Show that if A is idempotent, then 2A-I is invertible and is its own inverse.

Solution:

You might also like