Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.2.0 🎉 #65

Merged
merged 47 commits into from
Aug 6, 2023
Merged

Release v1.2.0 🎉 #65

merged 47 commits into from
Aug 6, 2023

Conversation

dependabot bot and others added 30 commits July 5, 2023 14:10
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](lxml/lxml@lxml-4.9.2...lxml-4.9.3)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
...after moved the exception classes.
This also changed its package name.
This also fixed error during tests (e6c04f6)
This update make user know that `MatrixUtils` is an interface with all
methods has their own default implementation.
In "Java Language Specification" (JLS) 11:
> Every field declaration in the body of an interface is implicitly public, static, and final.
> It is permitted to redundantly specify any or all of these modifiers for such fields.

So here only removed the access modifier, but leave the `static` declared for code clarity and to avoid confusion.
For more details, refer to <https://docs.oracle.com/javase/specs/jls/se11/html/jls-9.html#jls-9.3>
In "Java Language Specification" (JLS) 11:
> Every field declaration in the body of an interface is implicitly public, static, and final.
> It is permitted to redundantly specify any or all of these modifiers for such fields.

Therefore, the access modifier was removed, but the `static` modifier was retained for code clarity and to avoid confusion.
For more details, refer to <https://docs.oracle.com/javase/specs/jls/se11/html/jls-9.html#jls-9.3>.
These changes contribute to a more organized and streamlined codebase,
improving code clarity, maintainability, and adherence to Java language
standards.
`JMBaseException.java` -> `JMatrixBaseException.java`
Deprecate the `MatrixArrayFullException` because it contradicts the principles of linear algebra,
where matrices can grow dynamically with matrix operations.

And this exception no longer needed by `Matrix` class since deprecating the
`add` methods. For more details about deprecating `add` method, see 59f5ea6.

This change also add javadoc for `MatrixArrayFullException` to suppress warning (Documentation Warning).
For more details about warning issue, see #58
Fix the import statements after renamed the base exception, in the following classes:
  - `Matrix.java`
  - `util/Options.java`
  - `util/XMLParser.java`

For more details about renaming the base exception, see e09fc2b.
This change include the following classes:
  - `IllegalMatrixSizeException`
  - `InvalidIndexException`
  - `JMatrixBaseException`
  - `MatrixArrayFullException`
  - `NullMatrixException`
These changes contribute to the overall improvement of exception handling and code quality for JMatrix library and also resolves the serial warning issue on #58.
* Add and update the javadoc for `Main`

* Add and update the javadoc for `OSUtils`

* Add and update the javadoc for `XMLParser`

* Add and update the javadoc for `Options`
The `isLowerTriangular` method would checks whether the matrix's elements
above the main diagonal are zero or within the threshold defined
by the constant `THRESHOLD` (with value 1e-6) and returns a boolean value.

This change defined the following methods:
    * `isLowerTriangular()`         ->  Non-static
    * `isLowerTriangular(Matrix)`   ->  Static
This change overloaded the `isLowerTriangular` method with differ
parameter arguments, this new method accepts a two-dimensional array.

    public static boolean isLowerTriangular(double[][] arr);

Note:
The two-dimensional array must be a square (with number of rows and
columns the same). This also applies to other `isLowerTriangular` methods.
The `isUpperTriangular` method would checks whether the matrix's elements
below the main diagonal are zero or within the threshold defined
by the constant `THRESHOLD` (with value 1e-6) and returns a boolean value.

This change defined the following methods:
    * `isUpperTriangular()`             ->  Non-static
    * `isUpperTriangular(Matrix)`       ->  Static
    * `isUpperTriangular(double[][])`   ->  Static
* Update and improving javadoc on these methods:
    - `isLowerTriangular`    (all)
    - `isUpperTriangular`    (all)
* Added example matrix to those methods (mentioned above)
* Fixed several errors during generating HTML documentation
Rephrase several words and update the documentation about this project
Rephrase several words and update the documentation about this project
These changes contribute to the versatility and usability of JMatrix by
providing additional matrix type checkers and descriptive documentation for users.
This changes includes:
  * Moved and changed the 'Table of Contents'
  * Created a new header named `Installation` and improved its description
  * Improved readability on the example matrix by changing its matrix display
    with LaTex instead built-in Markdown code display
* Added 'About JMatrix' section
* Updated the 'Table of Contents'
* Added the description for each matrix operation
* Enhanced the code examples
These changes are intended to make it easier for users to understand and use the JMatrix library.
@mitsuki31 mitsuki31 added the releases Release a new version label Aug 6, 2023
@mitsuki31 mitsuki31 self-assigned this Aug 6, 2023
@mitsuki31 mitsuki31 marked this pull request as ready for review August 6, 2023 10:58
@mitsuki31 mitsuki31 merged commit fc5e032 into release Aug 6, 2023
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
releases Release a new version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant