<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=TriDiagonal%2F1002</id>
	<title>TriDiagonal/1002 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=TriDiagonal%2F1002"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;action=history"/>
	<updated>2026-05-15T06:21:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=87654&amp;oldid=prev</id>
		<title>Maintenance script: Repair MoniWiki formatting after migration</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=87654&amp;oldid=prev"/>
		<updated>2026-03-29T00:34:32Z</updated>

		<summary type="html">&lt;p&gt;Repair MoniWiki formatting after migration&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:34, 29 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;수치해석 레포트로 나온 TriDiagonal 문제에 대한 나름대로의 (--;) TFP 식 접근 풀이. 오히려 다른 사람들보다 소스가 커지긴 했지만, 소스를 원한다면 더 줄일 수 있고 (단, 코드를 알아보기 어려워질까봐 묶을 수 있는 부분에 대해서도 풀어 씀), LU 분해 부분에 대해서는 어느정도 일반화를 시켰다고 생각하기에 그리 나쁘진 않다고 생각하는중.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;수치해석 레포트로 나온 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;TriDiagonal&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;문제에 대한 나름대로의 (--;) TFP 식 접근 풀이. 오히려 다른 사람들보다 소스가 커지긴 했지만, 소스를 원한다면 더 줄일 수 있고 (단, 코드를 알아보기 어려워질까봐 묶을 수 있는 부분에 대해서도 풀어 씀), LU 분해 부분에 대해서는 어느정도 일반화를 시켰다고 생각하기에 그리 나쁘진 않다고 생각하는중.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LU 분해 뒤 해당 계산이 제대로 되었는지를 확인하기 위해 Numeric Python 모듈을 이용했다. [http://sourceforge.net/project/showfiles.php?group_id=1369 여기] 에서 받을 수 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LU 분해 뒤 해당 계산이 제대로 되었는지를 확인하기 위해 Numeric Python 모듈을 이용했다. [http://sourceforge.net/project/showfiles.php?group_id=1369 여기] 에서 받을 수 있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=85050&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0003 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=85050&amp;oldid=prev"/>
		<updated>2026-03-27T00:29:12Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0003 pages from live compare&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;amp;diff=85050&amp;amp;oldid=39768&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=39768&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TriDiagonal/1002&amp;diff=39768&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;수치해석 레포트로 나온 TriDiagonal 문제에 대한 나름대로의 (--;) TFP 식 접근 풀이. 오히려 다른 사람들보다 소스가 커지긴 했지만, 소스를 원한다면 더 줄일 수 있고 (단, 코드를 알아보기 어려워질까봐 묶을 수 있는 부분에 대해서도 풀어 씀), LU 분해 부분에 대해서는 어느정도 일반화를 시켰다고 생각하기에 그리 나쁘진 않다고 생각하는중.&lt;br /&gt;
&lt;br /&gt;
LU 분해 뒤 해당 계산이 제대로 되었는지를 확인하기 위해 Numeric Python 모듈을 이용했다. [http://sourceforge.net/project/showfiles.php?group_id=1369 여기] 에서 받을 수 있다.&lt;br /&gt;
&lt;br /&gt;
* 느낀점 - LU 분해를 일반화시키는 부분에 대해서는 연습장에서 계산을 시키고 대입을 해보고 패턴을 찾아낸 뒤 일반화시켰다. 만일 이 부분을 코드를 짜면서 [[TestFirstProgramming]] * [[Refactoring]] 의 방법으로 풀었더라면 어떠했을까. (두 개의 과정이 비슷하다고 여겨진다. 코드가 줄어들고 OAOO 의 원칙을 지킬 수 있을테니까.)  -- 석천&lt;br /&gt;
&lt;br /&gt;
* 해결한 시간 : 대략 6시간 10분 (수학 일반화 계산 1시간 30분, LU 분해 2시간 30분, tri-diagonal 2시간 12분)&lt;br /&gt;
=== test_lu.py - LU Decomposition 을 위한 test code ===&lt;br /&gt;
 import unittest&lt;br /&gt;
 from Numeric import *&lt;br /&gt;
 from Matrix import *&lt;br /&gt;
 from LuDecomposition import *&lt;br /&gt;
 &lt;br /&gt;
 class TestLuDecomposition(unittest.TestCase):&lt;br /&gt;
 	def setUp(self):&lt;br /&gt;
 		self.a = [[1.0,2.0,3.0],[4.0,5.0,6.0],[7.0,8.0,9.0]]&lt;br /&gt;
 		self.matrixA = Matrix(array(self.a))&lt;br /&gt;
 &lt;br /&gt;
 	def testLwrite(self):&lt;br /&gt;
 		ld = LuDecomposition(self.a)&lt;br /&gt;
 		col = 0	&lt;br /&gt;
 		ld._writeL(col)&lt;br /&gt;
 		self.assertEquals(ld._getL(), [[1,0,0],[4,0,0],[7,0,0]])&lt;br /&gt;
 &lt;br /&gt;
 	def testUwrite(self):&lt;br /&gt;
 		ld = LuDecomposition(self.a)&lt;br /&gt;
 		col = 0&lt;br /&gt;
 		ld._writeL(col)&lt;br /&gt;
 		row = 0&lt;br /&gt;
 		ld._writeU(row)&lt;br /&gt;
 		self.assertEquals(ld._getU(), [[1,2.0,3.0],[0,1,0], [0,0,1]])&lt;br /&gt;
 &lt;br /&gt;
 	def testLuDecMore(self):&lt;br /&gt;
 		ld = LuDecomposition(self.a)&lt;br /&gt;
 		ld._writeL(0)&lt;br /&gt;
 		ld._writeU(0)&lt;br /&gt;
 		self.assertEquals(ld._getL(), [[1,0,0],[4,0,0],[7,0,0]])&lt;br /&gt;
 		self.assertEquals(ld._getU(), [[1,2,3],[0,1,0], [0,0,1]])&lt;br /&gt;
 		ld._writeL(1)&lt;br /&gt;
 		ld._writeU(1)&lt;br /&gt;
 		self.assertEquals(ld._getL(), [[1,0,0],[4,-3,0],[7,-6,0]])&lt;br /&gt;
 		self.assertEquals(ld._getU(), [[1,2,3],[0,1,2], [0,0,1]])&lt;br /&gt;
 		ld._writeL(2)&lt;br /&gt;
 		ld._writeU(2)&lt;br /&gt;
 		self.assertEquals(ld._getL(), [[1,0,0],[4,-3,0],[7,-6,0]])&lt;br /&gt;
 		self.assertEquals(ld._getU(), [[1,2,3],[0,1,2], [0,0,1]])&lt;br /&gt;
 &lt;br /&gt;
 	def testLuDecomposition(self):&lt;br /&gt;
 		l, u = LuDecomposition(self.a).perform()&lt;br /&gt;
 		matrixL = Matrix(array(l))&lt;br /&gt;
 		matrixU = Matrix(array(u))&lt;br /&gt;
 		actual = matrixL * matrixU&lt;br /&gt;
 		self.assertEquals(str(actual), str(self.matrixA))&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
 	unittest.main()&lt;br /&gt;
&lt;br /&gt;
=== LuDecomposition.py - LU Decomposition ===&lt;br /&gt;
 from Numeric import *&lt;br /&gt;
 from ArrayPrinter import *&lt;br /&gt;
 &lt;br /&gt;
 class LuDecomposition:&lt;br /&gt;
 	def __init__(self, aSquareArray):&lt;br /&gt;
 		assert len(aSquareArray) == len(aSquareArray[0])&lt;br /&gt;
 		self.array = aSquareArray&lt;br /&gt;
 		self.n = len(aSquareArray)&lt;br /&gt;
 &lt;br /&gt;
 		self.l = self.makeEmptySquareMatrix(self.n)&lt;br /&gt;
 		self.u = self.makeEmptySquareMatrix(self.n)&lt;br /&gt;
 &lt;br /&gt;
 		for i in range(self.n):&lt;br /&gt;
 			self.u[i][i] = 1.0&lt;br /&gt;
 &lt;br /&gt;
 	def makeEmptySquareMatrix(self, n):&lt;br /&gt;
 		matrix = []&lt;br /&gt;
 		for i in range(0,n):&lt;br /&gt;
 			row = []&lt;br /&gt;
 			for j in range(0,n):&lt;br /&gt;
 				row.append(0.0)&lt;br /&gt;
 			matrix.append(row)&lt;br /&gt;
 		return matrix&lt;br /&gt;
 &lt;br /&gt;
 	def perform(self):&lt;br /&gt;
 		for i in range(self.n):&lt;br /&gt;
 			self._writeL(i)&lt;br /&gt;
 			self._writeU(i)&lt;br /&gt;
 		return self.l, self.u&lt;br /&gt;
 &lt;br /&gt;
 	def _writeL(self, aCol):&lt;br /&gt;
 		for eachRow in range(aCol, self.n):&lt;br /&gt;
 			self.l[eachRow][aCol] = self.array[eachRow][aCol] - self._minusForWriteL(eachRow, aCol)&lt;br /&gt;
 &lt;br /&gt;
 	def _minusForWriteL(self, aRow, aCol):&lt;br /&gt;
 		totalMinus = 0&lt;br /&gt;
 		for n in range(0, aCol):&lt;br /&gt;
 			totalMinus += self.l[aRow][n] * self.u[n][aCol]&lt;br /&gt;
 		return totalMinus&lt;br /&gt;
 &lt;br /&gt;
 	def _writeU(self, aRow):&lt;br /&gt;
 		for eachCol in range(aRow+1, self.n):&lt;br /&gt;
 			self.u[aRow][eachCol] = float(self.array[aRow][eachCol] - self._minusForWriteU(eachCol, aRow)) / float(self.l[aRow][aRow]) &lt;br /&gt;
 &lt;br /&gt;
 	def _minusForWriteU(self, aCol, aRow):&lt;br /&gt;
 		totalMinus = 0&lt;br /&gt;
 		for n in range(0, aRow):&lt;br /&gt;
 			totalMinus += self.l[aRow][n] * self.u[n][aCol]&lt;br /&gt;
 		return totalMinus&lt;br /&gt;
 &lt;br /&gt;
 	def _getL(self): &lt;br /&gt;
 		return self.l&lt;br /&gt;
 &lt;br /&gt;
 	def _getU(self):&lt;br /&gt;
 		return self.u&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
 		a = [[1.0,2.0,3.0],[4.0,5.0,6.0],[7.0,8.0,9.0]]&lt;br /&gt;
 		l, u = LuDecomposition(a).perform()&lt;br /&gt;
 		print &amp;quot;array : &amp;quot;&lt;br /&gt;
 		print array2string(array(a))&lt;br /&gt;
 		print &amp;quot;Lu Decomposition - L&amp;quot; &lt;br /&gt;
 		print array2string(array(l))&lt;br /&gt;
 		print &amp;quot;Lu Decomposition - U&amp;quot;&lt;br /&gt;
 		print array2string(array(u))&lt;br /&gt;
&lt;br /&gt;
=== test_tridiagonal.py - tri-diagonal 부분에 대한 test-code ===&lt;br /&gt;
 import unittest&lt;br /&gt;
 from Numeric import *&lt;br /&gt;
 from Matrix import *&lt;br /&gt;
 from LuDecomposition import *&lt;br /&gt;
 from TriDiagonal import *&lt;br /&gt;
 &lt;br /&gt;
 class TestTridiagonal(unittest.TestCase):&lt;br /&gt;
 	def testGetMatrixY(self):&lt;br /&gt;
 		a = [[1,1,-1],[2,6,-4],[1,-1,-1]]&lt;br /&gt;
 		b = [[3],[6],[8]]&lt;br /&gt;
 		l, u = LuDecomposition(a).perform()&lt;br /&gt;
 		expected = [[3],[0],[-5]]&lt;br /&gt;
 		actual = getMatrixY(l, b)&lt;br /&gt;
 		self.assertEquals(actual, expected)&lt;br /&gt;
 	&lt;br /&gt;
 	def testGetMatrixX(self):&lt;br /&gt;
 		a = [[1,1,-1],[2,6,-4],[1,-1,-1]]&lt;br /&gt;
 		b = [[3],[6],[8]]&lt;br /&gt;
 		l, u = LuDecomposition(a).perform()&lt;br /&gt;
 		expectedY = [[3],[0],[-5]]&lt;br /&gt;
 		matrixY = getMatrixY(l, b)&lt;br /&gt;
 		self.assertEquals(matrixY, expectedY)&lt;br /&gt;
 		expectedX = [[0.5],[-2.5],[-5]]&lt;br /&gt;
 		matrixX = getMatrixX(u, matrixY)&lt;br /&gt;
 		self.assertEquals(matrixX, expectedX)&lt;br /&gt;
 		&lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
 	unittest.main()&lt;br /&gt;
&lt;br /&gt;
=== tri-diagonal.py - 실질적인 tri-diagonal 을 계산하는 모듈 ===&lt;br /&gt;
 from LuDecomposition import *&lt;br /&gt;
 from Numeric import *&lt;br /&gt;
 from ArrayPrinter import *&lt;br /&gt;
 import pdb&lt;br /&gt;
 &lt;br /&gt;
 def getMatrixY(aMatrixLower, b):&lt;br /&gt;
 	matrixY = makeEmptyMatrix(len(b),1)&lt;br /&gt;
 	for n in range(len(b)):&lt;br /&gt;
 		matrixY[n][0] = float(b[n][0] - _minusForGetMatrixY(n, aMatrixLower, matrixY)) / float(aMatrixLower[n][n])&lt;br /&gt;
 	return matrixY&lt;br /&gt;
 &lt;br /&gt;
 def getMatrixX(aMatrixUpper, y):&lt;br /&gt;
 	limitedMatrix = len(y)&lt;br /&gt;
 	matrixX = makeEmptyMatrix(limitedMatrix,1)&lt;br /&gt;
 	for n in range(limitedMatrix-1, -1,-1):&lt;br /&gt;
 		matrixX[n][0] = float(y[n][0] - _minusForGetMatrixX(n, aMatrixUpper, matrixX)) / float(aMatrixUpper[n][n])&lt;br /&gt;
 		print &amp;quot;x[%d]: y[%d][0] - minus:[%f] / u[%d][%d]:%f : %f&amp;quot;% (n,n,_minusForGetMatrixX(n, aMatrixUpper, matrixX),n,n, aMatrixUpper[n][n], matrixX[n][0])&lt;br /&gt;
 	return matrixX&lt;br /&gt;
 &lt;br /&gt;
 def _minusForGetMatrixX(n, aUpperMatrix, aMatrixX):&lt;br /&gt;
 	totalMinus = 0&lt;br /&gt;
 	limitedMatrix = len(aMatrixX)&lt;br /&gt;
 	for t in range(n+1,limitedMatrix):&lt;br /&gt;
 		totalMinus += aUpperMatrix[n][t] * aMatrixX[t][0]&lt;br /&gt;
 	return totalMinus&lt;br /&gt;
 &lt;br /&gt;
 def _minusForGetMatrixY(n, aLowerMatrix, aMatrixY):&lt;br /&gt;
 	totalMinus = 0&lt;br /&gt;
 	for t in range(n):&lt;br /&gt;
 		totalMinus += aLowerMatrix[n][t] * aMatrixY[t][0]&lt;br /&gt;
 	return totalMinus&lt;br /&gt;
 	&lt;br /&gt;
 &lt;br /&gt;
 def makeEmptyMatrix(aRow, aCol):&lt;br /&gt;
 	emptyMatrix = []&lt;br /&gt;
 	for i in range(0,aRow):&lt;br /&gt;
 		emptyRow = []&lt;br /&gt;
 		for j in range(0,aCol):&lt;br /&gt;
 			emptyRow.append(0.0)&lt;br /&gt;
 		emptyMatrix.append(emptyRow)&lt;br /&gt;
 	return emptyMatrix&lt;br /&gt;
 &lt;br /&gt;
 def prettyPrintMatrix(aMatrix):&lt;br /&gt;
 	print array2string(array(aMatrix))&lt;br /&gt;
 def printSeparator():&lt;br /&gt;
 	print &amp;quot;*-&amp;quot; * 35&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
 	a =	[[4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],&lt;br /&gt;
 		 [1.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],&lt;br /&gt;
 		 [0.0, 1.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0],&lt;br /&gt;
 		 [0.0, 0.0, 1.0, 4.0, 1.0, 0.0, 0.0, 0.0, 0.0],&lt;br /&gt;
 		 [0.0, 0.0, 0.0, 1.0, 4.0, 1.0, 0.0, 0.0, 0.0],&lt;br /&gt;
 		 [0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 1.0, 0.0, 0.0],&lt;br /&gt;
 		 [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 1.0, 0.0],&lt;br /&gt;
 		 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 1.0],&lt;br /&gt;
 		 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0]]&lt;br /&gt;
 	b = [[5.0], [6.0], [6.0], [6.0], [6.0], [6.0], [6.0], [6.0], [5.0]]&lt;br /&gt;
 	l, u = LuDecomposition(a).perform()&lt;br /&gt;
 	printSeparator()&lt;br /&gt;
 	print &amp;quot;LuDecomposition - Matrix L:&amp;quot;&lt;br /&gt;
 	prettyPrintMatrix(l)&lt;br /&gt;
 	#pdb.set_trace()&lt;br /&gt;
 	printSeparator()&lt;br /&gt;
 	matrixY = getMatrixY(l, b)&lt;br /&gt;
 	print &amp;quot;Calculated - Matrix Y&amp;quot;&lt;br /&gt;
 	prettyPrintMatrix(matrixY)&lt;br /&gt;
 	printSeparator()&lt;br /&gt;
 	print &amp;quot;LuDecomposition - Matrix U:&amp;quot;&lt;br /&gt;
 	prettyPrintMatrix(u)&lt;br /&gt;
 	printSeparator()&lt;br /&gt;
 	print &amp;quot;Final - Matrix X&amp;quot;&lt;br /&gt;
 	matrixX = getMatrixX(u, matrixY)&lt;br /&gt;
 	prettyPrintMatrix(matrixX)&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>