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

Crout Decomposition #52

Merged
merged 16 commits into from Jul 2, 2013

Conversation

Projects
None yet
2 participants
@yuronew
Contributor

yuronew commented Jun 29, 2013

my first pull request)

@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jun 30, 2013

Owner

Hi Yuriy @yuronew,

Thank you for the contribution! I have few questions:

  1. Is Crout method faster then triangularize().product(), which is used currently?
  2. Is your implementation faster then call to existed LU decompositor: decompose(Matrices.LU_DECOMPOSITOR)[0].product()?

So, if yes, we need replace current implementation of determinant method with your Crout or default LU. The only line should be replaced is triangularize().product().

Please, try to collect some performance data for this.

Owner

vkostyukov commented Jun 30, 2013

Hi Yuriy @yuronew,

Thank you for the contribution! I have few questions:

  1. Is Crout method faster then triangularize().product(), which is used currently?
  2. Is your implementation faster then call to existed LU decompositor: decompose(Matrices.LU_DECOMPOSITOR)[0].product()?

So, if yes, we need replace current implementation of determinant method with your Crout or default LU. The only line should be replaced is triangularize().product().

Please, try to collect some performance data for this.

yuronew added some commits Jun 30, 2013

added CroutDecompositor to org.la4j.decomposition
changed determinant searching, now CroutDecompositor is used
added Crout_DECOMPOSITOR instance to Matrices class
added test case for CroutDecompositor
@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jun 30, 2013

Owner

@yuronew, could you please remove "bin" and other files from pull-request? You can do it by changing the last commit git commit --amend.

Owner

vkostyukov commented Jun 30, 2013

@yuronew, could you please remove "bin" and other files from pull-request? You can do it by changing the last commit git commit --amend.

@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/matrix/Matrices.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/matrix/Matrix.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/decomposition/CroutDecompositor.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/decomposition/CroutDecompositor.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/decomposition/CroutDecompositor.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/decomposition/CroutDecompositor.java
@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/matrix/AbstractMatrix.java
@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jun 30, 2013

Owner

@yuronew,

I've came through the patch. Please, make sure that you use spaces instead of tabs. Configure your IDE and try to figure out why it doesn't look like the rest of la4j's code.

Also, please follow the code convetion (by Oracle). There is no much spaces in you code. In statemens like:

a.set(i,j,5+4) -> a.set(i, j, 5 + 4);

Please, also follow my comments to improve your patch.

Owner

vkostyukov commented Jun 30, 2013

@yuronew,

I've came through the patch. Please, make sure that you use spaces instead of tabs. Configure your IDE and try to figure out why it doesn't look like the rest of la4j's code.

Also, please follow the code convetion (by Oracle). There is no much spaces in you code. In statemens like:

a.set(i,j,5+4) -> a.set(i, j, 5 + 4);

Please, also follow my comments to improve your patch.

@vkostyukov

View changes

Show outdated Hide outdated src/main/java/org/la4j/matrix/AbstractSafeMatrix.java
@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jun 30, 2013

Owner

Hi @yuronew,

Just one thing. Please remove crout method. It raises compile error.

Owner

vkostyukov commented Jun 30, 2013

Hi @yuronew,

Just one thing. Please remove crout method. It raises compile error.

@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jul 1, 2013

Owner

Hi @yuronew,

There is still a failed test:

Running org.la4j.decomposition.CroutDecompositorTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec <<< FAILURE!

Please, run mvn test to make sure all tests are passed.

Owner

vkostyukov commented Jul 1, 2013

Hi @yuronew,

There is still a failed test:

Running org.la4j.decomposition.CroutDecompositorTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec <<< FAILURE!

Please, run mvn test to make sure all tests are passed.

@vkostyukov

This comment has been minimized.

Show comment
Hide comment
@vkostyukov

vkostyukov Jul 2, 2013

Owner

Thanks Yuriy!

Owner

vkostyukov commented Jul 2, 2013

Thanks Yuriy!

vkostyukov added a commit that referenced this pull request Jul 2, 2013

@vkostyukov vkostyukov merged commit 135ca3c into vkostyukov:master Jul 2, 2013

1 check passed

default The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment