B_eq_A_spec.F
c**********************************************************************
#include "author.inc"
c* $Id: B_eq_A_spec.F,v 1.1 1995/11/14 02:19:34 turner Exp $
c*
c* Copies a matrix stored in full conventional format.
c*
c* <PARAMETER LIST>
c*
c* Input:
c* idim_a - leading dimension of a
c* idim_b - leading dimension of b
c* nrows - number of rows
c* ncols - number of columns
c* a - matrix to be copied
c*
c* Output:
c* b - destination matrix
c* status - return status
c*
c* <SUBROUTINES REQUIRED>
c*
c* JT_y_eq_x
c*
#include "copyright.inc"
c**********************************************************************
subroutine JT_B_eq_A_Full (idim_a, idim_b, nrows, ncols, a, b,
& status)
implicit none
c
c ... Input:
integer idim_a, idim_b, nrows, ncols
real a(idim_a,ncols)
c
c ... Output:
integer status
real b(idim_b,ncols)
c
c ... Local:
integer j
c
do j=1,ncols
call JT_y_eq_x (nrows, a(1,j), b(1,j), status)
enddo
c
return
end
c**********************************************************************
#include "author.inc"
c* $Id: B_eq_A_spec.F,v 1.1 1995/11/14 02:19:34 turner Exp $
c*
c* Copies a matrix stored in ELL format.
c*
c* <PARAMETER LIST>
c*
c* Input:
c* idim_a - leading dimension of a
c* idim_b - leading dimension of b
c* nrows - number of rows
c* ncols - number of columns
c* a - matrix to be copied
c* ja - map array for a
c*
c* Output:
c* b - destination matrix
c* jb - map array for b
c* status - return status
c*
c* <SUBROUTINES REQUIRED>
c*
c* JT_B_eq_A_Full
c*
#include "copyright.inc"
c**********************************************************************
subroutine JT_B_eq_A_ELL (idim_a, idim_b, nrows, ncols, a, ja,
& b, jb, status)
implicit none
c
c ... Input:
integer idim_a, idim_b, nrows, ncols
integer ja(idim_a,ncols)
real a(idim_a,ncols)
c
c ... Output:
integer status
integer jb(idim_b,ncols)
real b(idim_b,ncols)
c
c ... Local:
integer i, j
c
call JT_B_eq_A_Full (idim_a, idim_b, nrows, ncols, a, b, status)
c
do j=1,ncols
do i=1,nrows
jb(i,j) = ja(i,j)
enddo
enddo
c
status = 0
return
end
c**********************************************************************
#include "author.inc"
c* $Id: B_eq_A_spec.F,v 1.1 1995/11/14 02:19:34 turner Exp $
c*
c* Copies a matrix stored in coordinate format.
c*
c* <PARAMETER LIST>
c*
c* Input:
c* nelem_a - number of active elements in a and b
c* a - matrix to be copied
c* ja - map array for a
c*
c* Output:
c* b - destination matrix
c* jb - map array for b
c* status - return status
c*
c* <SUBROUTINES REQUIRED>
c*
c* JT_y_eq_x
c* JT_iy_eq_ix
c*
#include "copyright.inc"
c**********************************************************************
subroutine JT_B_eq_A_COO (nelem, a, ja, b, jb, status)
implicit none
c
c ... Input:
integer nelem
integer ja(2*nelem)
real a(nelem)
c
c ... Output:
integer status
integer jb(2*nelem)
real b(nelem)
c
call JT_y_eq_x (nelem, a, b, status)
call JT_iy_eq_ix (2*nelem, ja, jb, status)
c
status = 0
return
end
c**********************************************************************
#include "author.inc"
c* $Id: B_eq_A_spec.F,v 1.1 1995/11/14 02:19:34 turner Exp $
c*
c* Copies a matrix stored in RSS or CSS format.
c*
c* <PARAMETER LIST>
c*
c* Input:
c* nelem - number of active elements in a and b
c* a - matrix to be copied
c* ja - map array for a
c*
c* Output:
c* b - destination matrix
c* jb - map array for b
c* status - return status
c*
c* <SUBROUTINES REQUIRED>
c*
c* JT_y_eq_x
c* JT_iy_eq_ix
c*
#include "copyright.inc"
c**********************************************************************
subroutine JT_B_eq_A_xSS (nelem, a, ja, b, jb, status)
implicit none
c
c ... Input:
integer nelem
integer ja(nelem)
real a(nelem)
c
c ... Output:
integer status
integer jb(nelem)
real b(nelem)
c
call JT_y_eq_x (nelem, a, b, status)
call JT_iy_eq_ix (nelem, ja, jb, status)
c
status = 0
return
end