- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Subroutine rank1(m, n, A, B)
use Mod_A
Integer m, n, i, j, k
Real(8), Dimension (:,:) :: A(m,n), B(m,n)
c This program first finds out the rank matrix KR of A, then
c re-arrange the the elements in matrix B according to this
c rank matrix, so A and B will have the rank correlation matrix.
c ******************************************************************
c
Allocate(kra(m,n))
Allocate(krb(m,n))
Call sub1(m, n, A, kra)
print*, 'kra(1,1)=',kra(1,1)
! print*, 'size of kra=',size(kra)
! print*, 'inbetween'
Call sub1(m, n, B, krb)
print*, 'krb(1,1)=',krb(1,1)
! print*, 'size of krb=',size(krb)
print*, 'Done'
Deallocate (C)
Allocate(C(m,n))
print*, 'kra(1,1)=',kra(1,1)
print*, 'krb(1,1)=',krb(1,1)
do 500 k=1,n
do 600 i=1, m
! C(krb(i,k),k)=B(i,k)
600 continue
do 610 i=1,m
! B(i,k)=C(kra(i,k),k)
610 continue
500 continue
c
Deallocate(kra)
Deallocate(krb)
Return
End
c
c
c
c Sub1 is the program to find out the rank matrix M_rank for X matrix
c *********************************************************************
c
Subroutine sub1(m, n, X, M_rank)
use Mod_A
Real(8), Dimension(:,:), Target :: X(m,n)
Integer, dimension(:,:), Pointer :: M_rank(:,:)
allocate(M_rank(m,n))
do 10 i=1, m
do 10 j=1,n
M_rank(i,j)=1
10 continue
do 100 k=1, n
do 200 i=1, m
do 200 j=i+1, m
if (x(i,k) .GT. x(j,k)) then
M_rank(i,k)= M_rank(i,k)+1
M_rank(j,k)= M_rank(j,k)-1
endif
200 continue
100 continue
print*, 'M_rank(1,1)=',M_rank(1,1)
! print*, 'size of M_rank=',size(M_rank)
! print*, 'M_rank 10=',M_rank(1:10,1:10)
! pause
c
Return
End
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page