|
37 | 37 | * The <b>Matrix</b> class represents a two-dimensional (2D) array of {@code double}s.
|
38 | 38 | * An array with two dimensions (has rows and columns), also can be called a matrix.
|
39 | 39 | *
|
40 |
| - * <p>It provides methods for creating, accessing and manipulating matrices, |
| 40 | + * <p><b>In mathematics, a matrix is a rectangular array or table of numbers, arranged in rows and columns, |
| 41 | + * and enclosed by brackets {@code ( )} or square brackets {@code [ ]}, which is used to represent a |
| 42 | + * mathematical object or a property of such an object</b>. Numbers arranged in a matrix are called matrix's |
| 43 | + * <b>elements</b> or <b>entries</b>. Matrices are usually symbolized using upper-case letters, while the corresponding |
| 44 | + * lower-case letters, with two subscript indices. Matrices are widely used in various fields, including |
| 45 | + * mathematics, computer science, physics, and engineering, to represent and manipulate data. |
| 46 | + * |
| 47 | + * <p>This class provides methods for creating, accessing and manipulating matrices, |
41 | 48 | * as well as basic matrix operations such as:
|
42 | 49 | * <ul>
|
43 | 50 | * <li> {@linkplain #sum(Matrix) Addition}
|
|
48 | 55 | * <li> {@linkplain #trace() Trace}
|
49 | 56 | * </ul>
|
50 | 57 | *
|
51 |
| - * <p>This also provides several matrix type checkers, such as: |
| 58 | + * <p>Also it provides several matrix type checkers, such as: |
52 | 59 | * <ul>
|
53 |
| - * <li> {@link #isSquare()} |
54 |
| - * <li> {@link #isDiagonal()} |
55 |
| - * <li> {@link #isLowerTriangular()} |
56 |
| - * <li> {@link #isUpperTriangular()} |
57 |
| - * <li> {@link #isSparse()} |
| 60 | + * <li> {@link #isSquare()} - Checks whether the matrix is a square matrix. |
| 61 | + * <li> {@link #isDiagonal()} - Checks whether the matrix is a diagonal matrix. |
| 62 | + * <li> {@link #isLowerTriangular()} - Checks whether the matrix is a lower triangular matrix. |
| 63 | + * <li> {@link #isUpperTriangular()} - Checks whether the matrix is a upper triangular matrix. |
| 64 | + * <li> {@link #isSparse()} - Checks whether the matrix is a sparse matrix. |
58 | 65 | * </ul>
|
59 | 66 | *
|
| 67 | + * <p>Moreover, there are also some helper methods, such as: |
| 68 | + * <ul> |
| 69 | + * <li> {@link #addRow(double[])} - Appends a given array to the last row in the matrix. |
| 70 | + * <li> {@link #addColumn(double[])} - Appends a given array to the last column in the matrix. |
| 71 | + * <li> {@link #insertRow(int, double[])} - Inserts a given array at the specified row index in the matrix. |
| 72 | + * <li> {@link #insertColumn(int, double[])} - Inserts a given array at the specified column index in the matrix. |
| 73 | + * <li> {@link #dropRow(int)} - Drops and removes specific row at the given row index. |
| 74 | + * <li> {@link #dropColumn(int)} - Drops and removes specific column at the given column index. |
| 75 | + * </ul> |
| 76 | + * |
| 77 | + * <blockquote> |
| 78 | + * <p><b>Note:</b> All the above helper methods are implemented in such a way that they help in transforming the |
| 79 | + * matrix entries efficiently. Additionally, they also allow the use of negative indices in arguments that depend |
| 80 | + * on the matrix index (all of them, except {@link #addRow} and {@link #addColumn} methods). |
| 81 | + * </blockquote> |
| 82 | + * |
60 | 83 | * <p><b>Example:</b></p>
|
61 | 84 | *
|
62 | 85 | * <pre><code class="language-java">
|
|
93 | 116 | *
|
94 | 117 | * @author <a href="https://github.com/mitsuki31" target="_blank">
|
95 | 118 | * Ryuu Mitsuki</a>
|
96 |
| - * @version 3.0, 8 February 2024 |
| 119 | + * @version 3.2, 30 May 2024 |
97 | 120 | * @since 0.1.0
|
98 | 121 | * @license <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
99 | 122 | * Apache License 2.0</a>
|
|
0 commit comments