Inflation is a Hidden form of Tax in Nepal: A Granger Causality Test
Golden Section Search Method: Fortran f90
Consider
the nonlinear equation f(x)=4x2 –exp(x). Write a Fortran program
that uses the Golden Section Search Method to find the solution accurate to
within 10-6 for the nonlinear equation on [4,8].
Sauce Code:
Program Assignmentq2
implicit none
real:: f
real::x, r, q1, q2,a, b, tol=1.0e-6
!Define Interval and Function
f(x) = 4*x**2-exp(x)
a=4
b=8
print*, "a", a, "b", b
!Evaluation of the function at the end point
r=(sqrt(5.0)-1)/2
q1=b-r*(b-a)
q2=a+r*(b-a)
print*, "q1",q1, "q2", q2
! Creating Loop
!if ((b-a)<=tol) stop
do while ((b-a)>tol)
!if(f(a)*f(b)<=0) then
if(f(a)*f(q2)<=0) then
b=q2
q2=q1
q1=b-r*(b-a)
else
a=q1
q1=q2
q2=a+r*(b-a)
print*, "q1",q1, "q2", q2,
"a", a, "b", b
end if
end do
end program assignmentq2
Gaussian Elimination Method: Fortran f90
Question:
Solve the following system of linear equations using Gaussian Elimination using Fortran.
x1
+ x2 - x3 + x4 - x5 = 2
2x1+
2 x2 + x3 - x4 + x5 = 4
3x1
+ x2-3 x3 -2x4+ 3 x5 = 8
4x1
+ x2 - x3 +4 x4 -5x5 =16
16x1
-x2 + x3 - x4 - x5 =32
Solution:
program main
implicit none
integer, parameter :: n=5
double precision:: a(n,n), b(n), x(n)
integer:: i,j
! matrix A
data (a(1,i), i=1,5) / 1.0, 1.0, -1.0, 1.0, -1.0 /
data (a(2,i), i=1,5) / 2.0, 2.0, 1.0, -1.0, 1.0 /
data (a(3,i), i=1,5) / 3.0, 1.0, -3.0, -2.0, 3.0 /
data (a(4,i), i=1,5) / 4.0, 1.0, -1.0, 4.0, -5.0 /
data (a(5,i), i=1,5) / 16.0, -1.0, 1.0, -1.0, -1.0 /
! matrix b
data (b(i), i=1,5) / 2.0, 4.0, 8.0, 16.0, 32.0 /
! print a header and the original equations
write (*,200)
do i=1,n
write (*,201) (a(i,j),j=1,n), b(i)
end do
call gauss_2(a,b,x,n)
! print matrix A and vector b after the elimination
write (*,202)
do i = 1,n
write (*,201) (a(i,j),j=1,n), b(i)
end do
! print solutions
write (*,203)
write (*,201) (x(i),i=1,n)
200 format (' Gauss elimination with scaling and pivoting ' &
,/,/,' Matrix A and vector b')
201 format (6f12.6)
202 format (/,' Matrix A and vector b after elimination')
203 format (/,' Solutions x(n)')
end
subroutine gauss_2(a,b,x,n)
implicit none
integer:: n
double precision:: a(n,n), b(n), x(n)
double precision:: s(n)
double precision:: c, pivot, store
integer:: i, j, k, l
! step 1: begin forward elimination
do k=1, n-1
! step 2: "scaling"
! s(i) will have the largest element from row i
do i=k,n
s(i) = 0.0
do j=k,n
s(i) = max(s(i),abs(a(i,j)))
end do
end do
! "pivoting 1"
! row with the largest pivoting element
pivot = abs(a(k,k)/s(k))
l = k
do j=k+1,n
if(abs(a(j,k)/s(j)) > pivot) then
pivot = abs(a(j,k)/s(j))
l = j
end if
end do
! Check if the system has a sigular matrix
if(pivot == 0.0) then
write(*,*) ' The matrix is sigular '
return
end if
! "pivoting 2" interchange rows k and l (if needed)
if (l /= k) then
do j=k,n
store = a(k,j)
a(k,j) = a(l,j)
a(l,j) = store
end do
store = b(k)
b(k) = b(l)
b(l) = store
end if
! elimination (after scaling and pivoting)
do i=k+1,n
c=a(i,k)/a(k,k)
a(i,k) = 0.0
b(i)=b(i)- c*b(k)
do j=k+1,n
a(i,j) = a(i,j)-c*a(k,j)
end do
end do
end do
! backward substitution
x(n) = b(n)/a(n,n)
do i=n-1,1,-1
c=0.0
do j=i+1,n
c= c + a(i,j)*x(j)
end do
x(i) = (b(i)- c)/a(i,i)
end do
end subroutine gauss_2
A "Lost Decade" in Nepalese Economy
Provision of Grants (Fiscal Equalization, Conditional, Complementary and Special) in Nepal
S.N | Types of Grants | Objective of Grants | Criterion of Distribution |
---|---|---|---|
1 | Fiscal Equalization | To minimize the Vertical Fiscal Imbalances. | Distribute fiscal equalization grants to the State and Local Level on the basis of their need for expenditures and revenue capacity. |
2 | Conditional | To implement any project of the State or Local Level or the Government of Nepal on the basis as prescribed by the Commission. | Specify necessary terms and conditions in relation to the implementation of the project and the concerned State and Local Level shall abide by such terms and conditions. |
3 | Complementary | To implement any project related to infrastructure development in the State and Local Level. |
While providing complementary grants the following criteria shall be taken into account:
|
4 | Special | To operate the specific project by the State or Local Level. |
Special grants have any of the following objectives:
|