Table of Contents

Class Matrix3D

Namespace
SearchAThing.Sci
Assembly
netcore-sci.dll

basic matrix3d with 3x3 double elements and operations to allow arithmetic and 3d linear equation resolution.

public class Matrix3D
Inheritance
Matrix3D
Inherited Members

Constructors

Matrix3D()

empty matrix

public Matrix3D()

Matrix3D(double[])

Init matrix using terms m00 m01 m02 - m10 m11 m12 - m20 m21 m22

public Matrix3D(double[] terms)

Parameters

terms double[]

Properties

this[int, int]

indexed matrix component [row,col]

public double this[int r, int c] { get; }

Parameters

r int
c int

Property Value

double

Methods

Adjoint()

public Matrix3D Adjoint()

Returns

Matrix3D

Cofactor()

public Matrix3D Cofactor()

Returns

Matrix3D

CopyVectorAsColumn(Vector3D, int)

public Matrix3D CopyVectorAsColumn(Vector3D v, int colIdx)

Parameters

v Vector3D
colIdx int

Returns

Matrix3D

CopyVectorAsRow(Vector3D, int)

public Matrix3D CopyVectorAsRow(Vector3D v, int rowIdx)

Parameters

v Vector3D
rowIdx int

Returns

Matrix3D

Determinant()

public double Determinant()

Returns

double

EqualsTol(double, Matrix3D)

public bool EqualsTol(double tol, Matrix3D other)

Parameters

tol double
other Matrix3D

Returns

bool

FromVectorsAsColumns(Vector3D, Vector3D, Vector3D)

public static Matrix3D FromVectorsAsColumns(Vector3D v1, Vector3D v2, Vector3D v3)

Parameters

v1 Vector3D
v2 Vector3D
v3 Vector3D

Returns

Matrix3D

FromVectorsAsRows(Vector3D, Vector3D, Vector3D)

public static Matrix3D FromVectorsAsRows(Vector3D v1, Vector3D v2, Vector3D v3)

Parameters

v1 Vector3D
v2 Vector3D
v3 Vector3D

Returns

Matrix3D

Inverse()

public Matrix3D Inverse()

Returns

Matrix3D

Minor()

public Matrix3D Minor()

Returns

Matrix3D

Solve(Vector3D)

Solve linear system of eq represented by this matrix defined n known term. Ax = B -> x = A^(-1)B

public Vector3D Solve(Vector3D n)

Parameters

n Vector3D

Returns

Vector3D

Solve(double, double, double)

Solve linear system of eq represented by this matrix defined (a,b,c) known terms.

public Vector3D Solve(double a, double b, double c)

Parameters

a double
b double
c double

Returns

Vector3D

Transpose()

swap row, cols

public Matrix3D Transpose()

Returns

Matrix3D

Operators

operator +(Matrix3D, Matrix3D)

sum

public static Matrix3D operator +(Matrix3D a, Matrix3D b)

Parameters

a Matrix3D
b Matrix3D

Returns

Matrix3D

operator /(Matrix3D, double)

scalar div

public static Matrix3D operator /(Matrix3D m, double s)

Parameters

m Matrix3D
s double

Returns

Matrix3D

operator /(double, Matrix3D)

scalar div

public static Matrix3D operator /(double s, Matrix3D m)

Parameters

s double
m Matrix3D

Returns

Matrix3D

operator *(Matrix3D, Vector3D)

matrix * vector as column -> vector 3x3 x 3x1 -> 3x1

public static Vector3D operator *(Matrix3D m, Vector3D v)

Parameters

m Matrix3D
v Vector3D

Returns

Vector3D

operator *(Matrix3D, double)

scalar multiply

public static Matrix3D operator *(Matrix3D m, double s)

Parameters

m Matrix3D
s double

Returns

Matrix3D

operator *(Vector3D, Matrix3D)

vector as row * matrix -> vector 1x3 * 3x3 -> 1x3

public static Vector3D operator *(Vector3D v, Matrix3D m)

Parameters

v Vector3D
m Matrix3D

Returns

Vector3D

operator *(double, Matrix3D)

scalar multiply

public static Matrix3D operator *(double s, Matrix3D m)

Parameters

s double
m Matrix3D

Returns

Matrix3D

operator -(Matrix3D, Matrix3D)

sub

public static Matrix3D operator -(Matrix3D a, Matrix3D b)

Parameters

a Matrix3D
b Matrix3D

Returns

Matrix3D

operator -(Matrix3D)

neg

public static Matrix3D operator -(Matrix3D m)

Parameters

m Matrix3D

Returns

Matrix3D