Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
	- Ryabenkii Tsynkov U Solution Array (5, 6)
	- Ryabenkii Tsynkov V Solution Array (9, 10)
	- Ryabenkii Tsynkov x1 Calculation #1 (11, 12)
	- Ryabenkii Tsynkov x1 Calculation #2 (13, 14)
	- Ryabenkii Tsynkov UV Solution #1 (15, 16)
	- Ryabenkii Tsynkov UV Solution #2 (17, 18, 19)
	- Sherman-Morrison Tridiagonal Periodic Solver (24, 25)
	- Sherman-Morrison Solver Square Matrix (26, 27)
	- Sherman-Morrison Solver RHS Matrix (28, 29)
	- Sherman-Morrison Solver Default Gamma (30)
	- Sherman-Morrison Tridiagonal Solver Gamma (31, 32)
	- Sherman-Morrison Tridiagonal Solver Constructor (33, 34, 35)
	- Sherman-Morrison Batista-Karawia Gamma (36)
	- Sherman-Morrison Batista-Karawia #1 (37, 38)
	- Sherman-Morrison Batista-Karawia #2 (39, 40)
	- Sherman-Morrison U RHS Array (45, 46, 47)
	- Sherman-Morrison V RHS Array (50, 51, 52)
	- Sherman-Morrison U Solution Array (55, 56)
	- Sherman-Morrison V Solution Array (57, 58)
	- Sherman-Morrison Q Solution Array (65, 66)
	- Sherman-Morrison Y Solution (67)
	- Sherman-Morrison Q Y #1 (70, 71, 72)
	- Sherman-Morrison Q Y #2 (73, 74, 75)
	- Standard Sherman-Morrison Tridiagonal Solver (99, 100, 101)
	- Sherman-Morrison Batista-Karawia #1 (102, 103)
	- Sherman-Morrison Batista-Karawia #2 (104, 105)
	- Ryabenkii Tsynkov UV Solution Robustness (112, 113)
	- Forward Sweep Back Substitution Robustness (116)


Bug Fixes/Re-organization:

	- Ryabenkii Tsynkov V Array Fix (4)
	- Ryabenkii Tsynkov UV Array Fix (23)
	- RHS V Solution Array Fix (63, 64)
	- Sherman Morrison Batista-Karawia B (90, 91)
	- Regular/Periodic Tridiagonal Solver Schemes (115)


Samples:

	- Ryabenkii Tsynkov Tridiagonal Run #1 (1, 2, 3)
	- Ryabenkii Tsynkov Tridiagonal Run #2 (7, 8)
	- Ryabenkii Tsynkov Tridiagonal Run #3 (11, 12)
	- Ryabenkii Tsynkov Tridiagonal Run #4 (20, 21, 22)
	- Batista-Karawia Tridiagonal Periodic #1 (41, 42)
	- Batista-Karawia Tridiagonal Periodic #2 (43, 44)
	- Batista-Karawia Tridiagonal Periodic #3 (48, 49)
	- Batista-Karawia Tridiagonal Periodic #4 (53, 54)
	- Batista-Karawia Tridiagonal Periodic #5 (59, 60)
	- Batista-Karawia Tridiagonal Periodic #6 (61, 62)
	- Batista-Karawia Tridiagonal Periodic #7 (68, 69)
	- Batista-Karawia Tridiagonal Periodic #8 (76, 77)
	- Batista-Karawia Tridiagonal Periodic #9 (78, 79)
	- Batista-Karawia Tridiagonal Periodic #10 (80, 81, 82)
	- Batista-Karawia Tridiagonal Periodic #11 (83, 84)
	- Batista-Karawia Tridiagonal Periodic #12 (85, 86)
	- Batista-Karawia Tridiagonal Periodic #13 (87, 88, 89)
	- Batista-Karawia Tridiagonal Periodic #14 (92, 93, 94)
	- Batista-Karawia Tridiagonal Periodic #15 (95, 96, 97)
	- Batista-Karawia Tridiagonal Periodic #16 (98)
	- Batista-Karawia Tridiagonal Periodic #17 (106, 107, 108)
	- Batista-Karawia Tridiagonal Periodic #18 (109, 110, 111)
	- Ryabenkii Tsynkov Tridiagonal Run #5 (114)
	- Forward Sweep Back Substitution Run (117)
	- Non-period Tridiagonal Solver Shell (118, 119, 120)


IdeaDRIP:
  • Loading branch information
Lakshmik committed Jun 26, 2024
1 parent 3ad1e5e commit 095f50f
Show file tree
Hide file tree
Showing 6 changed files with 774 additions and 4 deletions.
72 changes: 72 additions & 0 deletions ReleaseNotes/01_17_2024.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@

Features:

- Ryabenkii Tsynkov U Solution Array (5, 6)
- Ryabenkii Tsynkov V Solution Array (9, 10)
- Ryabenkii Tsynkov x1 Calculation #1 (11, 12)
- Ryabenkii Tsynkov x1 Calculation #2 (13, 14)
- Ryabenkii Tsynkov UV Solution #1 (15, 16)
- Ryabenkii Tsynkov UV Solution #2 (17, 18, 19)
- Sherman-Morrison Tridiagonal Periodic Solver (24, 25)
- Sherman-Morrison Solver Square Matrix (26, 27)
- Sherman-Morrison Solver RHS Matrix (28, 29)
- Sherman-Morrison Solver Default Gamma (30)
- Sherman-Morrison Tridiagonal Solver Gamma (31, 32)
- Sherman-Morrison Tridiagonal Solver Constructor (33, 34, 35)
- Sherman-Morrison Batista-Karawia Gamma (36)
- Sherman-Morrison Batista-Karawia #1 (37, 38)
- Sherman-Morrison Batista-Karawia #2 (39, 40)
- Sherman-Morrison U RHS Array (45, 46, 47)
- Sherman-Morrison V RHS Array (50, 51, 52)
- Sherman-Morrison U Solution Array (55, 56)
- Sherman-Morrison V Solution Array (57, 58)
- Sherman-Morrison Q Solution Array (65, 66)
- Sherman-Morrison Y Solution (67)
- Sherman-Morrison Q Y #1 (70, 71, 72)
- Sherman-Morrison Q Y #2 (73, 74, 75)
- Standard Sherman-Morrison Tridiagonal Solver (99, 100, 101)
- Sherman-Morrison Batista-Karawia #1 (102, 103)
- Sherman-Morrison Batista-Karawia #2 (104, 105)
- Ryabenkii Tsynkov UV Solution Robustness (112, 113)
- Forward Sweep Back Substitution Robustness (116)


Bug Fixes/Re-organization:

- Ryabenkii Tsynkov V Array Fix (4)
- Ryabenkii Tsynkov UV Array Fix (23)
- RHS V Solution Array Fix (63, 64)
- Sherman Morrison Batista-Karawia B (90, 91)
- Regular/Periodic Tridiagonal Solver Schemes (115)


Samples:

- Ryabenkii Tsynkov Tridiagonal Run #1 (1, 2, 3)
- Ryabenkii Tsynkov Tridiagonal Run #2 (7, 8)
- Ryabenkii Tsynkov Tridiagonal Run #3 (11, 12)
- Ryabenkii Tsynkov Tridiagonal Run #4 (20, 21, 22)
- Batista-Karawia Tridiagonal Periodic #1 (41, 42)
- Batista-Karawia Tridiagonal Periodic #2 (43, 44)
- Batista-Karawia Tridiagonal Periodic #3 (48, 49)
- Batista-Karawia Tridiagonal Periodic #4 (53, 54)
- Batista-Karawia Tridiagonal Periodic #5 (59, 60)
- Batista-Karawia Tridiagonal Periodic #6 (61, 62)
- Batista-Karawia Tridiagonal Periodic #7 (68, 69)
- Batista-Karawia Tridiagonal Periodic #8 (76, 77)
- Batista-Karawia Tridiagonal Periodic #9 (78, 79)
- Batista-Karawia Tridiagonal Periodic #10 (80, 81, 82)
- Batista-Karawia Tridiagonal Periodic #11 (83, 84)
- Batista-Karawia Tridiagonal Periodic #12 (85, 86)
- Batista-Karawia Tridiagonal Periodic #13 (87, 88, 89)
- Batista-Karawia Tridiagonal Periodic #14 (92, 93, 94)
- Batista-Karawia Tridiagonal Periodic #15 (95, 96, 97)
- Batista-Karawia Tridiagonal Periodic #16 (98)
- Batista-Karawia Tridiagonal Periodic #17 (106, 107, 108)
- Batista-Karawia Tridiagonal Periodic #18 (109, 110, 111)
- Ryabenkii Tsynkov Tridiagonal Run #5 (114)
- Forward Sweep Back Substitution Run (117)
- Non-period Tridiagonal Solver Shell (118, 119, 120)


IdeaDRIP:
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,101 @@ public double[] vRHSArray()
vRHSArray[size - 1] = -1. * _squareMatrix[size][0];

for (int i = 2; i <= size - 1; ++i) {
vRHSArray[i - 1] = _rhsArray[i];
vRHSArray[i - 1] = 0.;
}

return vRHSArray;
}

/**
* Compute the U Solution Array
*
* @return U Solution Array
*/

public double[] uSolutionArray()
{
try {
return new TridiagonalSolver (tridiagonalMatrix(), uRHSArray()).forwardSweepBackSubstitution();
} catch (Exception e) {
e.printStackTrace();
}

return null;
}

/**
* Compute the V Solution Array
*
* @return V Solution Array
*/

public double[] vSolutionArray()
{
try {
return new TridiagonalSolver (tridiagonalMatrix(), vRHSArray()).forwardSweepBackSubstitution();
} catch (Exception e) {
e.printStackTrace();
}

return null;
}

/**
* Compute the Solution Array based on U/V Scheme
*
* @return Solution Array
*/

public double[] uvSolver()
{
double[] uSolutionArray = null;
double[] vSolutionArray = null;
int size = _rhsArray.length - 1;
double[] solutionArray = new double[size + 1];

double[][] tridiagonalMatrix = tridiagonalMatrix();

if (null == tridiagonalMatrix) {
return null;
}

try {
uSolutionArray = new TridiagonalSolver (
tridiagonalMatrix,
uRHSArray()
).forwardSweepBackSubstitution();

vSolutionArray = new TridiagonalSolver (
tridiagonalMatrix,
vRHSArray()
).forwardSweepBackSubstitution();
} catch (Exception e) {
e.printStackTrace();

return null;
}

if (!NumberUtil.IsValid (
solutionArray[0] = (
_rhsArray[0] - _squareMatrix[0][size] * uSolutionArray[size - 1] -
_squareMatrix[0][1] * uSolutionArray[0]
) / (
_squareMatrix[0][0] + _squareMatrix[0][size] * vSolutionArray[size - 1] +
_squareMatrix[0][1] * vSolutionArray[0]
)
))
{
return null;
}

for (int i = size; i >= 1; --i) {
solutionArray[i] = uSolutionArray[i - 1] + solutionArray[0] * vSolutionArray[i - 1];
}

return solutionArray;
}

public static final void main (
final String[] argumentArray)
throws Exception
Expand Down Expand Up @@ -253,5 +342,25 @@ public static final void main (
System.out.println (
NumberUtil.Print1DArrayRow (ryabenkiiTsynkovSolver.uRHSArray(), 4, false)
);

System.out.println (
NumberUtil.Print1DArrayRow (ryabenkiiTsynkovSolver.vRHSArray(), 4, false)
);

System.out.println();

System.out.println (
NumberUtil.Print1DArrayRow (ryabenkiiTsynkovSolver.uSolutionArray(), 4, false)
);

System.out.println (
NumberUtil.Print1DArrayRow (ryabenkiiTsynkovSolver.vSolutionArray(), 4, false)
);

System.out.println();

System.out.println (
NumberUtil.Print1DArrayRow (ryabenkiiTsynkovSolver.uvSolver(), 4, false)
);
}
}
Loading

0 comments on commit 095f50f

Please sign in to comment.