26 lines
		
	
	
		
			353 B
		
	
	
	
		
			Matlab
		
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			353 B
		
	
	
	
		
			Matlab
		
	
	
scale = 1e-10;
 | 
						|
length = 10000;
 | 
						|
 | 
						|
A = spalloc(length, length, 2*length);
 | 
						|
b = zeros(length, 1);
 | 
						|
 | 
						|
A(1,1) = 1;
 | 
						|
 | 
						|
for i = 2:length
 | 
						|
    A(i, i-1) = 1e2*scale;
 | 
						|
    A(i, i) = -scale;
 | 
						|
end
 | 
						|
 | 
						|
L = A'*A;
 | 
						|
eta = A'*b;
 | 
						|
 | 
						|
R = choleskyNaive(L);
 | 
						|
clear opts
 | 
						|
opts.LT = true;
 | 
						|
d = R' \ eta; %linsolve(R', eta, opts);
 | 
						|
 | 
						|
clear opts
 | 
						|
opts.UT = true;
 | 
						|
x = R \ d; %linsolve(R, d, opts);
 | 
						|
 |