In [1]:
using Unums
In [2]:
X = map(Ubound34, randn(5,5))
Out[2]:
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-0.7657852172851562,-0.765777587890625) … (0.35677337646484375,0.3567771911621094)
(0.261260986328125,0.2612648010253906) (-0.0039327144622802734,-0.003932654857635498)
(-0.368988037109375,-0.3689842224121094) (0.030651092529296875,0.030651330947875977)
(-0.1469268798828125,-0.1469249725341797) (-0.3243675231933594,-0.32436370849609375)
(-0.08223628997802734,-0.08223533630371094) (2.6845703125,2.684600830078125)
In [3]:
L,U,p = lu(X,Val{false}) # disable pivoting
Out[3]:
(
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
1.0 … 0.0
(-0.34117889404296875,-0.34116363525390625) 0.0
(0.48183441162109375,0.48184967041015625) 0.0
(0.19186019897460938,0.19186782836914062) 0.0
(0.10738658905029297,0.10738945007324219) 1.0,
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-0.7657852172851562,-0.765777587890625) … (0.35677337646484375,0.3567771911621094)
0.0 (0.11778450012207031,0.11779308319091797)
0.0 (-0.16199684143066406,-0.16198158264160156)
0.0 (-0.8811798095703125,-0.88104248046875)
0.0 (2.507293701171875,2.507537841796875) ,
[1,2,3,4,5])
In [4]:
L*U
Out[4]:
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-0.7657852172851562,-0.765777587890625) … (0.35677337646484375,0.3567771911621094)
(0.26125335693359375,0.2612724304199219) (-0.003940582275390625,-0.003924369812011719)
(-0.36899566650390625,-0.3689765930175781) (0.030637741088867188,0.030666351318359375)
(-0.14693069458007812,-0.14692115783691406) (-0.324493408203125,-0.3242340087890625)
(-0.08223819732666016,-0.08223342895507812) (2.684417724609375,2.68475341796875)
In [5]:
L*U - X
Out[5]:
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-7.62939453125e-6,7.62939453125e-6) … (-3.814697265625e-6,3.814697265625e-6)
(-1.1444091796875e-5,1.1444091796875e-5) (-7.927417755126953e-6,8.344650268554688e-6)
(-1.1444091796875e-5,1.1444091796875e-5) (-1.3589859008789062e-5,1.52587890625e-5)
(-5.7220458984375e-6,5.7220458984375e-6) (-0.00012969970703125,0.000133514404296875)
(-2.86102294921875e-6,2.86102294921875e-6) (-0.00018310546875,0.00018310546875)
In [6]:
Lp,Up,p = lu(X) # with pivoting
Out[6]:
(
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
1.0 … 0.0
(-0.34117889404296875,-0.34116363525390625) 0.0
(0.19186019897460938,0.19186782836914062) 0.0
(0.48183441162109375,0.48184967041015625) 0.0
(0.10738658905029297,0.10738945007324219) 1.0,
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-0.7657852172851562,-0.765777587890625) … (0.35677337646484375,0.3567771911621094)
0.0 (0.11778450012207031,0.11779308319091797)
0.0 (-0.42533111572265625,-0.4253120422363281)
0.0 (-0.31317138671875,-0.3131256103515625)
0.0 (2.50732421875,2.507568359375) ,
[1,2,4,3,5])
In [7]:
Lp*Up - X[p,:]
Out[7]:
5x5 Array{Unums.Ubound{3,4,UInt64},2}:
(-7.62939453125e-6,7.62939453125e-6) … (-3.814697265625e-6,3.814697265625e-6)
(-1.1444091796875e-5,1.1444091796875e-5) (-7.927417755126953e-6,8.344650268554688e-6)
(-5.7220458984375e-6,5.7220458984375e-6) (-1.52587890625e-5,1.9073486328125e-5)
(-1.1444091796875e-5,1.1444091796875e-5) (-4.220008850097656e-5,4.57763671875e-5)
(-2.86102294921875e-6,2.86102294921875e-6) (-0.00018310546875,0.000244140625)
In [ ]:
Content source: simonbyrne/UnumX.jl
Similar notebooks: