<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic problem in DSS_FACTOR_complex in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823086#M4932</link>
    <description>&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;I just modified the test program dss_sym_f90 in examples\\solver\\source &lt;/SPAN&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;by converting the real data to complex type with real part are zero. the program complies well without error,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;but exit at calling DSS_FACTOR_complex.  I do not know why?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!               INTEL CONFIDENTIAL&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Copyright(C) 2004-2009 Intel Corporation. All Rights Reserved.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  The source code contained or described herein and all documents related to&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  the source code ("Material") are owned by Intel Corporation or its suppliers&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  or licensors. Title to the Material remains with Intel Corporation or its&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  suppliers and licensors. The Material contains trade secrets and proprietary&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  and confidential information of Intel or its suppliers and licensors. The&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Material is protected by worldwide copyright and trade secret laws and&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  treaty provisions. No part of the Material may be used, copied, reproduced,&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  modified, published, uploaded, posted, transmitted, distributed or disclosed&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  in any way without Intel's prior express written permission.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  No license under any patent, copyright, trade secret or other intellectual&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  property right is granted to or conferred upon you by disclosure or delivery&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  of the Materials, either expressly, by implication, inducement, estoppel or&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  otherwise. Any license under such intellectual property rights must be&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  express and approved by Intel in writing.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Content : MKL DSS Fortran-90 example&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!--------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Example program for solving a symmetric positive definite system of&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! equations.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!--------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INCLUDE 'mkl_dss.f90' ! Include the standard DSS "header file."&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PROGRAM solver_f90_test&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;use mkl_dss&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IMPLICIT NONE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, PARAMETER :: dp = KIND(1.0D0)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: error&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: i&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, PARAMETER :: bufLen = 20&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Define the data arrays and the solution and rhs vectors.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, ALLOCATABLE :: columns( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nCols&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nNonZeros&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nRhs&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nRows&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP), ALLOCATABLE :: rhst( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(kind=dp),allocatable :: rhs(:)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, ALLOCATABLE :: rowIndex( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!REAL(KIND=DP), ALLOCATABLE :: solution( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!REAL(KIND=DP), ALLOCATABLE :: values( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(KIND=DP), ALLOCATABLE :: solution( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP), ALLOCATABLE :: valuest( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(KIND=DP), ALLOCATABLE :: values(:)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;TYPE(MKL_DSS_HANDLE) :: handle ! Allocate storage for the solver handle.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP),ALLOCATABLE::statOUt( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;CHARACTER*15 statIn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER perm(1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER buff(bufLen)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(kind=dp) ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Set the problem to be solved.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ci = (0_DP,1_DP)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nRows = 5&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nCols = 5&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nNonZeros = 9&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nRhs = 1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;perm(1) = 0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( rowIndex( nRows + 1 ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rowIndex = (/ 1, 6, 7, 8, 9, 10 /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( columns( nNonZeros ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;columns = (/ 1, 2, 3, 4, 5, 2, 3, 4, 5 /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( valuest( nNonZeros ), values(nNonZeros ))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;valuest = (/ 9.0_DP, 1.5_DP, 6.0_DP, 0.75_DP, 3.0_DP, 0.5_DP, 12.0_DP, &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&amp;amp; 0.625_DP, 16.0_DP /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;values = valuest*ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( rhs( nRows ),rhst(nrows) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rhst = (/ 1.0_DP, 2.0_DP, 3.0_DP, 4.0_DP, 5.0_DP /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rhs = rhst*ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Initialize the solver.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_CREATE( handle, MKL_DSS_DEFAULTS )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Define the non-zero structure of the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_DEFINE_STRUCTURE( handle, MKL_DSS_SYMMETRIC_COMPLEX, rowIndex, nRows, &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&amp;amp; nCols, columns, nNonZeros )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Reorder the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_REORDER( handle, MKL_DSS_DEFAULTS, perm )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Factor the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_FACTOR_complex( handle, MKL_DSS_DEFAULTS, values )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Allocate the solution vector and solve the problem.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( solution( nRows ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_SOLVE_complex(handle, MKL_DSS_DEFAULTS, rhs, nRhs, solution )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print Out the determinant of the matrix (no statistics for a diagonal matrix)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF( nRows .LT. nNonZeros ) THEN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE(statOut( 5 ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;statIn = 'determinant'&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;call mkl_cvt_to_null_terminated_str(buff,bufLen,statIn)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_STATISTICS(handle, MKL_DSS_DEFAULTS, buff, statOut )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('pow of determinant is '(5F10.3))") ( statOut(1) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('base of determinant is '(5F10.3))") ( statOut(2) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('Determinant is '(5F10.3))") ( (10**statOut(1))*statOut(2) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;END IF&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Deallocate solver storage and various local arrays.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_DELETE( handle, MKL_DSS_DEFAULTS )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS ) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( rowIndex) ) DEALLOCATE( rowIndex )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( columns ) ) DEALLOCATE( columns )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( values ) ) DEALLOCATE( values )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( rhs ) ) DEALLOCATE( rhs )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( statOut ) ) DEALLOCATE( statOut )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print the solution vector, deallocate it and exit&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('Solution Array: '(5F10.3))") ( solution(i), i = 1, nCols )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( solution ) ) DEALLOCATE( solution )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;GOTO 1000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print an error message and exit&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;999 WRITE(*,*) "Solver returned error code ", error&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;STOP 1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;1000 CONTINUE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;END PROGRAM solver_f90_test&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 10 May 2010 14:35:22 GMT</pubDate>
    <dc:creator>haijunwu</dc:creator>
    <dc:date>2010-05-10T14:35:22Z</dc:date>
    <item>
      <title>problem in DSS_FACTOR_complex</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823086#M4932</link>
      <description>&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;I just modified the test program dss_sym_f90 in examples\\solver\\source &lt;/SPAN&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;by converting the real data to complex type with real part are zero. the program complies well without error,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;but exit at calling DSS_FACTOR_complex.  I do not know why?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, sans-serif; white-space: pre;"&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!               INTEL CONFIDENTIAL&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Copyright(C) 2004-2009 Intel Corporation. All Rights Reserved.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  The source code contained or described herein and all documents related to&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  the source code ("Material") are owned by Intel Corporation or its suppliers&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  or licensors. Title to the Material remains with Intel Corporation or its&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  suppliers and licensors. The Material contains trade secrets and proprietary&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  and confidential information of Intel or its suppliers and licensors. The&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Material is protected by worldwide copyright and trade secret laws and&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  treaty provisions. No part of the Material may be used, copied, reproduced,&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  modified, published, uploaded, posted, transmitted, distributed or disclosed&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  in any way without Intel's prior express written permission.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  No license under any patent, copyright, trade secret or other intellectual&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  property right is granted to or conferred upon you by disclosure or delivery&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  of the Materials, either expressly, by implication, inducement, estoppel or&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  otherwise. Any license under such intellectual property rights must be&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  express and approved by Intel in writing.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!  Content : MKL DSS Fortran-90 example&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!*******************************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!--------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Example program for solving a symmetric positive definite system of&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! equations.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!--------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INCLUDE 'mkl_dss.f90' ! Include the standard DSS "header file."&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PROGRAM solver_f90_test&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;use mkl_dss&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IMPLICIT NONE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, PARAMETER :: dp = KIND(1.0D0)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: error&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: i&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, PARAMETER :: bufLen = 20&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Define the data arrays and the solution and rhs vectors.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, ALLOCATABLE :: columns( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nCols&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nNonZeros&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nRhs&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER :: nRows&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP), ALLOCATABLE :: rhst( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(kind=dp),allocatable :: rhs(:)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER, ALLOCATABLE :: rowIndex( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!REAL(KIND=DP), ALLOCATABLE :: solution( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!REAL(KIND=DP), ALLOCATABLE :: values( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(KIND=DP), ALLOCATABLE :: solution( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP), ALLOCATABLE :: valuest( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(KIND=DP), ALLOCATABLE :: values(:)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;TYPE(MKL_DSS_HANDLE) :: handle ! Allocate storage for the solver handle.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;REAL(KIND=DP),ALLOCATABLE::statOUt( : )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;CHARACTER*15 statIn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER perm(1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER buff(bufLen)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;complex(kind=dp) ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Set the problem to be solved.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ci = (0_DP,1_DP)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nRows = 5&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nCols = 5&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nNonZeros = 9&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;nRhs = 1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;perm(1) = 0&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( rowIndex( nRows + 1 ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rowIndex = (/ 1, 6, 7, 8, 9, 10 /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( columns( nNonZeros ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;columns = (/ 1, 2, 3, 4, 5, 2, 3, 4, 5 /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( valuest( nNonZeros ), values(nNonZeros ))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;valuest = (/ 9.0_DP, 1.5_DP, 6.0_DP, 0.75_DP, 3.0_DP, 0.5_DP, 12.0_DP, &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&amp;amp; 0.625_DP, 16.0_DP /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;values = valuest*ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( rhs( nRows ),rhst(nrows) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rhst = (/ 1.0_DP, 2.0_DP, 3.0_DP, 4.0_DP, 5.0_DP /)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;rhs = rhst*ci&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Initialize the solver.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_CREATE( handle, MKL_DSS_DEFAULTS )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Define the non-zero structure of the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_DEFINE_STRUCTURE( handle, MKL_DSS_SYMMETRIC_COMPLEX, rowIndex, nRows, &amp;amp;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&amp;amp; nCols, columns, nNonZeros )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Reorder the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_REORDER( handle, MKL_DSS_DEFAULTS, perm )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Factor the matrix.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_FACTOR_complex( handle, MKL_DSS_DEFAULTS, values )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Allocate the solution vector and solve the problem.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE( solution( nRows ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_SOLVE_complex(handle, MKL_DSS_DEFAULTS, rhs, nRhs, solution )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print Out the determinant of the matrix (no statistics for a diagonal matrix)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF( nRows .LT. nNonZeros ) THEN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;ALLOCATE(statOut( 5 ) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;statIn = 'determinant'&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;call mkl_cvt_to_null_terminated_str(buff,bufLen,statIn)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_STATISTICS(handle, MKL_DSS_DEFAULTS, buff, statOut )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('pow of determinant is '(5F10.3))") ( statOut(1) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('base of determinant is '(5F10.3))") ( statOut(2) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('Determinant is '(5F10.3))") ( (10**statOut(1))*statOut(2) )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;END IF&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Deallocate solver storage and various local arrays.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;error = DSS_DELETE( handle, MKL_DSS_DEFAULTS )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF (error /= MKL_DSS_SUCCESS ) GOTO 999&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( rowIndex) ) DEALLOCATE( rowIndex )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( columns ) ) DEALLOCATE( columns )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( values ) ) DEALLOCATE( values )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( rhs ) ) DEALLOCATE( rhs )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( statOut ) ) DEALLOCATE( statOut )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print the solution vector, deallocate it and exit&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;WRITE(*,"('Solution Array: '(5F10.3))") ( solution(i), i = 1, nCols )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IF ( ALLOCATED( solution ) ) DEALLOCATE( solution )&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;GOTO 1000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! Print an error message and exit&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;999 WRITE(*,*) "Solver returned error code ", error&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;STOP 1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;1000 CONTINUE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;END PROGRAM solver_f90_test&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 10 May 2010 14:35:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823086#M4932</guid>
      <dc:creator>haijunwu</dc:creator>
      <dc:date>2010-05-10T14:35:22Z</dc:date>
    </item>
    <item>
      <title>problem in DSS_FACTOR_complex</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823087#M4933</link>
      <description>&lt;P&gt;Example dss_sym_f90handles withpositive definite matrices. If you convert it into complex test with zero real part, the new matrix becomes indefinite. So, you should factorize matrix as indefinite: &lt;BR /&gt;error = DSS_FACTOR_complex( handle, MKL_DSS_INDEFINITE, values )&lt;/P&gt;</description>
      <pubDate>Tue, 11 May 2010 05:11:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823087#M4933</guid>
      <dc:creator>Sergey_Solovev__Inte</dc:creator>
      <dc:date>2010-05-11T05:11:20Z</dc:date>
    </item>
    <item>
      <title>problem in DSS_FACTOR_complex</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823088#M4934</link>
      <description>Thanks it works.&lt;DIV&gt;For general complex matrix, if I just can make sure itsdeterminant is not zero, which option should I set toDSS_FACTOR_complex.&lt;/DIV&gt;</description>
      <pubDate>Wed, 12 May 2010 02:03:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/problem-in-DSS-FACTOR-complex/m-p/823088#M4934</guid>
      <dc:creator>haijunwu</dc:creator>
      <dc:date>2010-05-12T02:03:27Z</dc:date>
    </item>
  </channel>
</rss>

