Swapna Kumar Panda Profile picture
Oct 21, 2021 19 tweets 6 min read Read on X
🔥 MATRIX Operations implemented in JavaScript 🚀

Welcoming you to this super exciting 🧵 where we will implement various matrix operations in JavaScript along with their Complexity Analysis (both Time and Space).

Are you excited to know? 👇
We will cover 👇

🔹 Dimension
🔹 Square Matrix
🔹 Diagonal Matrix
🔹 Upper Triangular
🔹 Lower Triangular
🔹 Identity Matrix
🔹 Zero Matrix
🔹 Transpose Matrix
🔹 Scalar Multiplication
🔹 Matrix Addition
🔹 Matrix Subtraction
🔹 Matrix Multiplication
🔹 Orthogonal Matrix

0️⃣ Introduction

Matrix is a 2-dimensional (array) arrangement of numbers and it has vast use in Linear Algebra.

Example:
[[a₁₁, a₁₂, a₁₃],
[a₂₁, a₂₂, a₂₃],
[a₃₁, a₃₂, a₃₃]]

Each element in the inner array is called an element of the matrix. Eg, a₁₁

++
Each element in the main array is called a row. Eg, [a₁₁, a₁₂, a₁₃]

A column is formed by taking elements at a specific index from each row in order. Eg, [a₁₁, a₂₁, a₃₁]

1️⃣ Dimension of a Matrix

Dimension of a Matrix is specified as the number of rows and number of columns in the matrix.

Example:
[[a₁₁, a₁₂],
[a₂₁, a₂₂],
[a₃₁, a₃₂]]

Dimension is 3x2

2️⃣ Square Matrix

A matrix is called as a "Square Matrix" only if its "number of rows" is equal to its "number of columns".

Example:
[[a₁₁, a₁₂, a₁₃],
[a₂₁, a₂₂, a₂₃],
[a₃₁, a₃₂, a₃₃]]

Here, number of rows is 3 and number of columns is also 3.

3️⃣ Diagonal Matrix

A "Diagonal Matrix" is a square matrix which has only Zeroes (0s) as its non-diagonal elements (row index = column index).

Diagonal elements can be both Non-Zero and Zero.

Example:
[[5, 0, 0],
[0, 2, 0],
[0, 0, -3]]

4️⃣ Upper Triangular Matrix

An "Upper Triangular Matrix" is a square matrix which has only Zeroes (0s) as elements "below" the diagonal elements.

Example:
[[5, 6, 7],
[0, 2, 3],
[0, 0, -3]]

5️⃣ Lower Triangular Matrix

An "Lower Triangular Matrix" is a square matrix which has only Zeroes (0s) as elements "above" the diagonal elements.

Example:
[[5, 0, 0],
[1, 2, 0],
[4, 7, -3]]

6️⃣ Identity/Unity Matrix

An "Identity Matrix" is a diagonal matrix with only 1s as its diagonal elements.

Example:
[[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]

7️⃣ Zero Matrix

A "Zero Matrix" has only Zeroes (0s) as all its elements.

Example:
[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]

8️⃣ Transpose Matrix

A "Transpose Matrix" is formed by converting rows of a matrix into columns (and thus columns into rows).

Dimension of a transpose matrix is exactly opposite of the dimension of the original matrix.

9️⃣ Scalar Multiplication

By doing "Scalar Multiplication", each element of the matrix is multiplied by a scalar value.

1️⃣0️⃣ Matrix Addition

By "Matrix Addition", elements at a specific row and column from 2 matrices are added.

1️⃣1️⃣ Matrix Subtraction

By "Matrix Subtraction", elements at a specific row and column from one matrix is subtracted from the another.

1️⃣2️⃣ Matrix Multiplication

By "Matrix Multiplication", elements of a row from the first matrix is first multiplied with elements of a column from the second matrix and then summation is taken.

1️⃣3️⃣ Orthogonal Matrix

A matrix is known as "Orthogonal" when multiplied with its transpose results into an Identity Matrix.

In other words, if transpose of a matrix is equivalent to its inverse, the matrix is orthogonal.

OMISSIONS:

Inverse and, Determinant of a Matrix are omitted because of time constraints.

But, by now you must be familiar with matrix operations. Can you implement these 2 on your own? If you do, share that here in the reply.
We reached to the end of this 🧵. I hope you enjoyed implementing all these matrix operations in JavaScript.

If you haven't followed yet, do follow me for receiving such informative threads in future.

Share your feedbacks. Support me by giving a Like and RT.

See you soon,👋

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Swapna Kumar Panda

Swapna Kumar Panda Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @swapnakpanda

Jul 4
Python is a MANDATORY skills in 2025.

This is how you can be an EXPERT in 1 year:
0. Preliminary Steps

Before deciding to start, ensure you do these

⬩Know your final goal
⬩Set a target for spending daily 1 hour minimum.
⬩Research about Python ecosystem (libraries, frameworks, code editors).

P.S: This is my personal roadmap. I could spend 1 to 2 hours daily for learning and practicing. And it took me ~1 year to finish. It may differ from person to person.
➊ Start with a bang: Simple Data Types

Schedule: Month-1
Effort: 1 to 2 hours daily + Normal practice

❯ Boolean
⬩bool
❯ Number
⬩int
⬩float
⬩complex
❯ String
⬩str
❯ Bytes
⬩bytes
⬩bytearray
⬩memoryview
Read 16 tweets
Jul 1
👩‍💻 Practice these 150+ Algorithms in

❍ C/C++
❍ Java
❍ Python
❍ JavaScript
Or, any language of your choice

Stay in top 5% of programmers.
➊ Arrays

➀ Creating an Array
➁ Iterate through Array
➂ Get an Element
➃ Search an Element
➄ Insert Element(s)
➅ Delete Element(s)
➆ Filter an Array
➇ Fetch a Sub-Array
➈ Merging Arrays
➉ Reverse Array
➀➀ Rotate Array
➋ Linked Lists

➀ Creating a Linked List
➁ Iterate through Linked List
➂ Get an Element
➃ Find an Element

➤ Insert Element(s)
➄ At Start
➅ At End
➆ At Anywhere

➤ Delete Element(s)
➇ From Start
➈ From End
➉ From Anywhere

➀➀ IsEmpty
➀➁ Merging Linked Lists
➀➂ Reverse Linked List
➀➃ Check for Cycles

Implement these algorithms for linked lists, double linked lists, circular linked lists, etc.
Read 19 tweets
Jun 27
FREE FREE FREE

11 Python Books, Absolutely FREEImage
Image
Image
Image
1. Machine Learning with Python

🎄 python-course.eu/books/bernd_kl…Image
Image
2. Data Structures & Algorithms using Python

This book of 222 pages implements all types of data structures and algorithms.

🎄 donsheehy.github.io/datastructures…Image
Image
Read 12 tweets
Jun 23
Top 60+ YouTube Courses to learn

- Python
- Java
- C/C++
- JavaScript
- C#
- PHP
- SQL
- RustImage
Image
Image
Image
Read 11 tweets
Jun 20
MIT's FREE AI & ML Courses

❯ 6.036 - Machine Learning
❯ 6.S191 - Deep Learning
❯ 6.034 - Artificial Intelligence
❯ 18.05 - Probability and Statistics
❯ 18.06 - Linear Algebra
❯ 18.S096 - Matrix Calculus

All course links inside:
1. 6.036 - Machine Learning

❯ Course Link
openlearninglibrary.mit.edu/courses/course…

❯ YouTube Playlist
youtube.com/playlist?list=…Image
Image
2. 6.S191 - Deep Learning

❯ Course Link
introtodeeplearning.com

❯ YouTube Playlist
youtube.com/playlist?list=…Image
Image
Read 8 tweets
Jun 19
Save these 100+ Sites FOREVER!!!

Open the thread for all the links: Image
1. Python, AI & ML, Data Science

❯ Python ➟ realpython.com
❯ Python ➟ fullstackpython.com
❯ Python ➟ planetpython.org

❯ Django ➟ learndjango.com

❯ Flask ➟ blog.miguelgrinberg.com/post/the-flask…

❯ FastAPI ➟ fastapi.tiangolo.com/learn/

❯ Machine Learning ➟ developers.google.com/machine-learni…

❯ Machine Learning ➟ tensorflow.org/resources/lear…

❯ Tensorflow ➟ tensorflow.org/learn

❯ Data Science ➟ towardsdatascience.com
2. SQL and NoSQL

❯ SQL ➟ sqlbolt.com
❯ SQL ➟ sqlzap.com
❯ SQL ➟ sqltutorial.org
❯ SQL ➟ mode.com/sql-tutorial
❯ MySQL ➟ mysqltutorial.org
❯ PostgreSQL ➟ postgresqltutorial.com
❯ SQL Server ➟ sqlservertutorial.org
❯ Oracle ➟ oracletutorial.com
❯ MongoDB ➟ mongodbtutorial.org
❯ Redis ➟ university.redis.io/academy
❯ Kafka ➟ confluent.io/lp/apache-kafk…
Read 14 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(