Home Site Statistics  |   Contact  |   About Us       Tuesday, March 02, 2021   

j0182084- Back to Home

Skip Navigation Links.

   Skip Navigation LinksHOME ›  AREAS OF EXPERTISE ›   Vectors / Matrices ›  ~ Matrix Manipulation

"Number Matrix Manipulation"
Matrix Manipulator Method
Results =

Matrix m1 = { , , },{ , , }, , , }
Matrix m2 = { , , },{ , , }, , , }
Vector v = ( , , )


Matrix Manipulation

A matrix can be used to describe linear equations, to keep track of the coefficients of the linear transformations and also to record data that depend on two parameters. Matrices can be added, multiplied and decomposed in many ways. Our sample involve square matrices. Although no details are given regarding the various operations, we do the following:

  • Vector from Matrix - in some instances we extract a vector from a row or column of a matrix.

  • Swap, Transpose and Trace - interchange two rows or two columns of a matrix as needed.

  • Transformations - often used when performing operations on graphic objects. In our case we implement matrix transformation for n-dimensional vectors and n by n matrices (squared matrices).

  • Matrix Multiplication - in our case the number of columns of the first matrix is the same as the number of rows of the second matrix.

  • Mathematical Operators - we implement various mathematical operations (see results above).

  • Determinant and Inverse - important qualities associated with square matrices.

Testing Matrix Operator Method

In order to test the Matrix Operator Method, a new TestMatrixOperators() static method has been added and executed. Supporting code and methods are not shown.

           static void TestMatrixOperators();
                 MatrixR m1 = new MatrixR(new double[3, 3] { {t1, t2, t3}, {t4, t5, t6},
                       {t7, t8, t9}});
                 MatrixR m2 = new MatrixR(new double[3, 3] { {8, 1, 6}, {3, 5, 7},
                       {4, 9, 2}});
                 VectorR v = new VectorR(new double[] { t19, t20, t21 });
                 ListBox1.Items.Add(" matrix: m1 = " + m1);
                 ListBox1.Items.Add(" matrix: m2 = " + m2);
                 ListBox1.Items.Add(" vector: v = " + (v));
                 ListBox1.Items.Add("m1 + m2 = " + (m1 + m2));
                 ListBox1.Items.Add("m1 - m2 = " + (m1 - m2));
                 ListBox1.Items.Add("m1 * m2 = " + (m1 * m2));
                 ListBox1.Items.Add("m2 * m1 = " + (m2 * m1));
                 ListBox1.Items.Add("m1 * v = " + MatrixR.Transform(m1, v));
                 ListBox1.Items.Add("v * m1 = " + MatrixR.Transform(v, m2));
                 ListBox1.Items.Add("Inverse of m1 = " + MatrixR.Inverse(m1));
                 ListBox1.Items.Add("Inverse of m2 = " + MatrixR.Inverse(m2));
                 ListBox1.Items.Add("Determinant of m1 = " + MatrixR.Determinant(m1));
                 ListBox1.Items.Add("Determinant of m2 = " + MatrixR.Determinant(m2));

As a sample we provide the input data points using double arrays for matrix m1, matrix m2 and vector v. Results of the various mathematical operators are shown on the screen above.

The user can manipulate matrix m1 and vector v values and try variations on the arrays themselves by specifying new matrix and vector values.

Other Implementations...

Object-Oriented Implementation
Graphics and Animation
Sample Applications
Ore Extraction Optimization
Vectors and Matrices
Complex Numbers and Functions
Ordinary Differential Equations - Euler Method
Ordinary Differential Equations 2nd-Order Runge-Kutta
Ordinary Differential Equations 4th-Order Runge-Kutta
Higher Order Differential Equations
Nonlinear Systems
Numerical Integration
Numerical Differentiation
Function Evaluation

Consulting Services - Back to Home

Home Math, Analysis,

Eigen Inverse Iteration
Rayleigh-Quotient Method
Cubic Spline Method


Applied Mathematical Algorithms

Home A complex number z = x + iy, where...

Complex Functions
Home Non-linear system methods...

Non Linear Systems
Home Construction of differentiation...

Home Consider the function where...

About Us

KMP Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms.

Contact Us

2461 E Orangethorpe Ave Fullerton, CA 92631 USA info@keystoneminingpost.com
Site Map

   Areas of Expertise
   Reference Items
   Managed Services

Mining & Software Engineering

Since 2006 All Rights Reserved  © KMP Engineering LINKS | PRIVACY POLICY | LEGAL NOTICE