Skip to content

Commit 8eee83d

Browse files
committed
Updated readme. Updated extention file
1 parent b58acad commit 8eee83d

File tree

2 files changed

+155
-27
lines changed

2 files changed

+155
-27
lines changed

MatrixCalculator/MatrixCalculator/MatrixExtention.cs

Lines changed: 48 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,49 @@ public static class MatrixExtention
2727
}
2828

2929
/// <summary>
30-
/// Calculates cofactor matrix.
30+
/// Calculates determinant for double matrix.
3131
/// </summary>
32-
/// <param name="rowIndex">Index of row element(starts from 0)</param>
33-
/// <param name="columnIndex">Index of column element(starts from 0)</param>
3432
/// <param name="matrix">Input matrix</param>
35-
/// <returns>Cofactor matrix</returns>
36-
public static double[,] CofactorMatrix(this double[,] matrix, int rowIndex, int columnIndex)
33+
/// <param name="row">Input row</param>
34+
/// <returns>Determinant value</returns>
35+
public static double Determinant(this double[,] matrix, int row)
3736
{
38-
return MatrixCalculator.CalculateElementCofactor(rowIndex, columnIndex, matrix);
37+
return MatrixDeterminantCalculator.CalculateDeterminant(row, matrix);
3938
}
4039

4140
/// <summary>
42-
/// Calculates cofactor matrix.
41+
/// Calculates determinant for int matrix.
4342
/// </summary>
44-
/// <param name="rowIndex">Index of row element(starts from 0)</param>
45-
/// <param name="columnIndex">Index of column element(starts from 0)</param>
4643
/// <param name="matrix">Input matrix</param>
47-
/// <returns>Cofactor matrix</returns>
48-
public static int[,] CofactorMatrix(this int[,] matrix, int rowIndex, int columnIndex)
44+
/// <param name="row">Input row</param>
45+
/// <returns>Determinant value</returns>
46+
public static int Determinant(this int[,] matrix, int row)
4947
{
50-
return MatrixCalculator.CalculateElementCofactor(rowIndex, columnIndex, matrix);
48+
return MatrixDeterminantCalculator.CalculateDeterminant(row, matrix);
5149
}
5250

5351
/// <summary>
54-
/// Calculates determinant for double matrix.
52+
/// Calculates cofactor matrix.
5553
/// </summary>
54+
/// <param name="rowIndex">Index of row element(starts from 0)</param>
55+
/// <param name="columnIndex">Index of column element(starts from 0)</param>
5656
/// <param name="matrix">Input matrix</param>
57-
/// <param name="row">Input row</param>
58-
/// <returns>Determinant value</returns>
59-
public static double Determinant(this double[,] matrix, int row)
57+
/// <returns>Cofactor matrix</returns>
58+
public static double[,] ElementCofactor(this double[,] matrix, int rowIndex, int columnIndex)
6059
{
61-
return MatrixDeterminantCalculator.CalculateDeterminant(row, matrix);
60+
return MatrixCalculator.CalculateElementCofactor(rowIndex, columnIndex, matrix);
6261
}
6362

6463
/// <summary>
65-
/// Calculates determinant for int matrix.
64+
/// Calculates cofactor matrix.
6665
/// </summary>
66+
/// <param name="rowIndex">Index of row element(starts from 0)</param>
67+
/// <param name="columnIndex">Index of column element(starts from 0)</param>
6768
/// <param name="matrix">Input matrix</param>
68-
/// <param name="row">Input row</param>
69-
/// <returns>Determinant value</returns>
70-
public static int Determinant(this int[,] matrix, int row)
69+
/// <returns>Cofactor matrix</returns>
70+
public static int[,] ElementCofactor(this int[,] matrix, int rowIndex, int columnIndex)
7171
{
72-
return MatrixDeterminantCalculator.CalculateDeterminant(row, matrix);
72+
return MatrixCalculator.CalculateElementCofactor(rowIndex, columnIndex, matrix);
7373
}
7474

7575
/// <summary>
@@ -92,15 +92,37 @@ public static int Determinant(this int[,] matrix, int row)
9292
return InvertMatrixCalculator.CalculateInvertMatrix(matrix);
9393
}
9494

95+
/// <summary>
96+
/// Multiplies double matrix to matrix.
97+
/// </summary>
98+
/// <param name="a">First matrix</param>
99+
/// <param name="b">Secont matrix</param>
100+
/// <returns>Result of multiply</returns>
101+
public static double[,] Multiply(this double[,] a, double[,] b)
102+
{
103+
return MultiplyMatrixCalculator.Multiply(a, b);
104+
}
105+
106+
/// <summary>
107+
/// Multiplies int matrix to matrix.
108+
/// </summary>
109+
/// <param name="a">First matrix</param>
110+
/// <param name="b">Secont matrix</param>
111+
/// <returns>Result of multiply</returns>
112+
public static int[,] Multiply(this int[,] a, int[,] b)
113+
{
114+
return MultiplyMatrixCalculator.Multiply(a, b);
115+
}
116+
95117
/// <summary>
96118
/// Multiplies double matrix to number.
97119
/// </summary>
98120
/// <param name="number">Number for multiply</param>
99121
/// <param name="matrix">Input matrix</param>
100122
/// <returns>Result of multiply</returns>
101-
public static double[,] Multiply(this double[,] a, double[,] b)
123+
public static double[,] MultiplyToNumber(this double[,] matrix, double number)
102124
{
103-
return MultiplyMatrixCalculator.Multiply(a, b);
125+
return MultiplyMatrixCalculator.MultiplyToNumber(number, matrix);
104126
}
105127

106128
/// <summary>
@@ -109,9 +131,9 @@ public static int Determinant(this int[,] matrix, int row)
109131
/// <param name="number">Number for multiply</param>
110132
/// <param name="matrix">Input matrix</param>
111133
/// <returns>Result of multiply</returns>
112-
public static int[,] Multiply(this int[,] a, int[,] b)
134+
public static int[,] MultiplyToNumber(this int[,] matrix, int number)
113135
{
114-
return MultiplyMatrixCalculator.Multiply(a, b);
136+
return MultiplyMatrixCalculator.MultiplyToNumber(number, matrix);
115137
}
116138

117139
public static double[,] Round(this double[,] matrix, int number)

README.md

Lines changed: 107 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,107 @@
1-
# Matrix Calculator
1+
<p align="center">
2+
<h2>A&A</h2>
3+
</p>
4+
<p align="center">
5+
## Matrix Calculator
6+
</p>
7+
8+
## What鈥檚 In This Document
9+
10+
- [How to connect in your app](#-how-to-connect-in-your-app)
11+
- [How to use in code](#-how-to-use-in-code)
12+
- [Code examples](#-code-examples)
13+
14+
## How to connect in your app
15+
16+
1. Download as zip.
17+
2. Open and build solution.
18+
3. In your project add reference to **MatrixCalculateLibrary.dll**
19+
20+
## How to use in code
21+
22+
**Add using to list**
23+
24+
```using MatrixCalculateLibrary;```
25+
26+
## Code examples
27+
28+
**Create matrix(array)**
29+
30+
```double[,] A = new double[3, 3]
31+
{
32+
{ 3, 0, 2 },
33+
{ 2, 0, -2 },
34+
{ 0, 1, 1 }
35+
};
36+
double[,] B = new double[3, 3]
37+
{
38+
{ 3, -1, 2 },
39+
{ 1, 0, 3 },
40+
{ 2, -1, 0 }
41+
};```
42+
43+
In examples we will use the A and the B matrixies.
44+
45+
**Matrix sum**
46+
47+
```var result = BasicMatrixArithmetic.Add(a, b);```
48+
49+
or
50+
51+
```var result = A.Add(B);```
52+
53+
**Matrix subtract**
54+
55+
```var result = BasicMatrixArithmetic.Subtract(a, b);```
56+
57+
or
58+
59+
```var result = A.Subtract(B);```
60+
61+
**Matrix inverting**
62+
63+
```var result = InvertMatrixCalculator.CalculateInvertMatrix(A);```
64+
65+
or
66+
67+
```var result = A.Invert();```
68+
69+
**Matrix element cofactor**
70+
71+
```var result = MatrixCalculator.CalculateElementCofactor(0, 0, A);```
72+
73+
or
74+
75+
```var result = A.ElementCofactor(0, 0);```
76+
77+
**Matrix transpose**
78+
79+
```var result = MatrixCalculator.CalculateTransposeMatrix(A);```
80+
81+
or
82+
83+
```var result = A.TransposeMatrix();```
84+
85+
**Matrix determinant**
86+
87+
```var result = MatrixDeterminantCalculator.CalculateDeterminant(0, A);```
88+
89+
or
90+
91+
```var result = A.Determinant(0);```
92+
93+
**Matrix multiply**
94+
95+
```var result = MultiplyMatrixCalculator.Multiply(A, B);```
96+
97+
or
98+
99+
```var result = A.Multiply(B);```
100+
101+
**Matrix multiply on number**
102+
103+
```var result = MultiplyMatrixCalculator.MultiplyToNumber(A, B);```
104+
105+
or
106+
107+
```var result = A.MultiplyToNumber(5);```

0 commit comments

Comments
 (0)