當前位置: 首頁>>代碼示例>>Python>>正文


Python sparse.isspmatrix_csc方法代碼示例

本文整理匯總了Python中scipy.sparse.isspmatrix_csc方法的典型用法代碼示例。如果您正苦於以下問題:Python sparse.isspmatrix_csc方法的具體用法?Python sparse.isspmatrix_csc怎麽用?Python sparse.isspmatrix_csc使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在scipy.sparse的用法示例。


在下文中一共展示了sparse.isspmatrix_csc方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: GetPreconditioner

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def GetPreconditioner(self,A, type="amg_smoothed_aggregation"):
        """Applies a suitable preconditioner to sparse matrix A
            based on algebraic multigrid of incomplete LU/Cholesky factorisation

            input:
                A:                      [csc_matrix or csc_matrix]
                type:                   [str] either "amg_smoothed_aggregation" for
                                        a preconditioner based on algebraic multigrid
                                        or "incomplete_lu" for scipy's spilu linear
                                        operator

            returns:                    A preconditioner that can be used in conjunction
                                        with scipy's sparse linear iterative solvers
                                        (the M keyword in scipy's iterative solver)
        """

        if not (isspmatrix_csc(A) or isspmatrix_csr(A)):
            raise TypeError("Matrix must be in CSC or CSR sparse format for preconditioning")

        ml = smoothed_aggregation_solver(A)
        return ml.aspreconditioner() 
開發者ID:romeric,項目名稱:florence,代碼行數:23,代碼來源:LinearSolver.py

示例2: GetCuthillMcKeePermutation

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def GetCuthillMcKeePermutation(self,A):
        """Applies Cuthill-Mckee permutation to reduce the sparse matrix bandwidth

            input:
                A:                    [csc_matrix or csr_matrix]

            returns:
                perm:                 [1D array] of permutation such that A[perm,:][:,perm]
                                      has its non-zero elements closer to the diagonal
        """

        if not (isspmatrix_csc(A) or isspmatrix_csr(A)):
            raise TypeError("Matrix must be in CSC or CSR sparse format "
                "for Cuthill-McKee permutation")

        if int(sp.__version__.split('.')[1]) >= 15:
            from scipy.sparse.csgraph import reverse_cuthill_mckee
            perm = reverse_cuthill_mckee(A)
        else:
            from Florence.Tensor import symrcm
            perm = symrcm(A)

        return perm 
開發者ID:romeric,項目名稱:florence,代碼行數:25,代碼來源:LinearSolver.py

示例3: csc_matvec

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def csc_matvec(csc, x):
    """
        Matrix vector multiplication
        using csc format
    """

    if not sparse.isspmatrix_csc(csc):
        raise Exception("Matrix must be in csc format")

    nrow, ncol = csc.shape
    nnz = csc.data.shape[0]
    if x.size != ncol:
      print(x.size, ncol)
      raise ValueError("wrong dimension!")

    xx = np.require(x, requirements="C")

    if csc.dtype == np.float32:
        y = np.zeros((nrow), dtype=np.float32)
        libsparsetools.scsc_matvec(c_int(nrow), c_int(ncol), c_int(nnz), 
                csc.indptr.ctypes.data_as(POINTER(c_int)),
                csc.indices.ctypes.data_as(POINTER(c_int)), 
                csc.data.ctypes.data_as(POINTER(c_float)),
                xx.ctypes.data_as(POINTER(c_float)), 
                y.ctypes.data_as(POINTER(c_float)))

    elif csc.dtype == np.float64:
        y = np.zeros((nrow), dtype=np.float64)
        libsparsetools.dcsc_matvec(c_int(nrow), c_int(ncol), c_int(nnz), 
                csc.indptr.ctypes.data_as(POINTER(c_int)),
                csc.indices.ctypes.data_as(POINTER(c_int)), 
                csc.data.ctypes.data_as(POINTER(c_double)),
                xx.ctypes.data_as(POINTER(c_double)), 
                y.ctypes.data_as(POINTER(c_double)))
    else:
        raise ValueError("Not implemented")

    return y 
開發者ID:pyscf,項目名稱:pyscf,代碼行數:40,代碼來源:m_sparsetools.py

示例4: csc_matvecs

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def csc_matvecs(csc, B, transB = False, order="C"):
    """
        Matrix matrix multiplication
        using csc format
    """

    if not sparse.isspmatrix_csc(csc):
        raise Exception("Matrix must be in csc format")

    if transB:
        # Here need to be careful, since using the transpose of B
        # will change from row major to col major and vice-versa
        mat = np.require(B.T, dtype=B.dtype, requirements=["A", "O", order])
    else:
        mat = np.require(B, dtype=B.dtype, requirements=["A", "O", order])

    nrow, ncol = csc.shape
    nvecs = mat.shape[1]

    if csc.dtype == np.float32:
        C = np.zeros((nrow, nvecs), dtype=np.float32, order=order)
        libsparsetools.scsc_matvecs(c_int(nrow), c_int(ncol), c_int(nvecs), 
                csc.indptr.ctypes.data_as(POINTER(c_int)),
                csc.indices.ctypes.data_as(POINTER(c_int)), 
                csc.data.ctypes.data_as(POINTER(c_float)),
                mat.ctypes.data_as(POINTER(c_float)), 
                C.ctypes.data_as(POINTER(c_float)))

    elif csc.dtype == np.float64:
        C = np.zeros((nrow, nvecs), dtype=np.float64, order=order)
        libsparsetools.dcsc_matvecs(c_int(nrow), c_int(ncol), c_int(nvecs), 
                csc.indptr.ctypes.data_as(POINTER(c_int)),
                csc.indices.ctypes.data_as(POINTER(c_int)), 
                csc.data.ctypes.data_as(POINTER(c_double)),
                mat.ctypes.data_as(POINTER(c_double)), 
                C.ctypes.data_as(POINTER(c_double)))
    else:
        raise ValueError("Not implemented")

    return C 
開發者ID:pyscf,項目名稱:pyscf,代碼行數:42,代碼來源:m_sparsetools.py

示例5: _check_A

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def _check_A(self, A):
        if A.shape[0] != A.shape[1]:
            raise ValueError('Matrix A needs to be square, but has shape: {}'.format(A.shape))

        if sp.isspmatrix_csr(A):
            self._solve_transposed = False
            self._iparm[11] = 0
        elif sp.isspmatrix_csc(A):
            self._solve_transposed = True
            self._iparm[11] = 1
        else:
            msg = 'Pardiso requires matrix A to be in CSR or CSC format,' \
                  ' but matrix A is: {}'.format(type(A))
            raise TypeError(msg)

        # scipy allows unsorted csr-indices, which lead to completely wrong pardiso results
        if not A.has_sorted_indices:
            A.sort_indices()

        # scipy allows csr matrices with empty rows. a square matrix with an empty row is singular. calling 
        # pardiso with a matrix A that contains empty rows leads to a segfault, same applies for csc with 
        # empty columns
        if not np.diff(A.indptr).all():
            row_col = 'column' if self._solve_transposed else 'row'
            raise ValueError('Matrix A is singular, because it contains empty'
                             ' {}(s)'.format(row_col))

        if A.dtype != np.float64:
            raise TypeError('Pardiso currently only supports float64, '
                            'but matrix A has dtype: {}'.format(A.dtype)) 
開發者ID:simnibs,項目名稱:simnibs,代碼行數:32,代碼來源:pardiso.py

示例6: run

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def run(self):
        '''
        Loads data from csvs, executes basic data checks, runs loop.

        If roc is not False, will print ROC to the filename specified.
        '''
        # Run Data checks
        if self.method == 'pandas':
            self.data_checks(self.raw_X_train)
            self.data_checks(self.raw_X_test)
        if self.method == 'csc':
            if not isspmatrix_csc(self.raw_X_train):
                self.X_train = csc_matrix(self.raw_X_train)
                self.X_test = csc_matrix(self.raw_X_test)
                self.y_test = csc_matrix(self.y_test)
                self.y_train = csc_matrix(self.y_train)

        individuals = self.y_test

        # Generate features
        parser = spacy.load('en')
        if self.setting == 'all':
            params = [(True, False, 'no_tfidf'), (True, True, 'both'), (False, True, 'no_grammar')]
        if self.setting == 'both_only':
            params = [(True, True, 'both')]
        if self.setting == 'grammar_only':
            params = [(True, False, 'no_tfidf')]
        if self.setting == 'tfidf_only':
            params = [(False, True, 'no_grammar')]
        for params in params:
            print('Feature generation set to {} for this run'.format(params[2]))
            f = get_feature_transformer(parser, run_grammar=params[0], run_tfidf=params[1])
            self.X_train = f.fit_transform(self.raw_X_train).todense()
            self.X_test = f.transform(self.raw_X_test).todense()

            # Run the loop
            self.clf_loop(self.X_train, self.X_test, self.y_train, self.y_test, individuals, params[2]) 
開發者ID:aldengolab,項目名稱:fake-news-detection,代碼行數:39,代碼來源:model_loop.py

示例7: _getIndx

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def _getIndx(self, mtx):

        if sp.isspmatrix_csc(mtx):
            indx = mtx.indices
            self.isCSR = 0
        elif sp.isspmatrix_csr(mtx):
            indx = mtx.indices
            self.isCSR = 1
        else:
            raise TypeError('must be a CSC/CSR matrix (is %s)' % mtx.__class__)

        ##
        # Should check types of indices to correspond to familyTypes.
        if self.family[1] == 'i':
            if (indx.dtype != np.dtype('i')) \
                   or mtx.indptr.dtype != np.dtype('i'):
                raise ValueError('matrix must have int indices')
        else:
            if (indx.dtype != np.dtype('l')) \
                   or mtx.indptr.dtype != np.dtype('l'):
                raise ValueError('matrix must have long indices')

        if self.isReal:
            if mtx.data.dtype != np.dtype('f8'):
                raise ValueError('matrix must have float64 values')
        else:
            if mtx.data.dtype != np.dtype('c16'):
                raise ValueError('matrix must have complex128 values')

        return indx

    ##
    # 30.11.2005, c
    # last revision: 10.01.2007 
開發者ID:ktraunmueller,項目名稱:Computable,代碼行數:36,代碼來源:umfpack.py

示例8: test_add_dummy_feature_csc

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def test_add_dummy_feature_csc():
    X = sparse.csc_matrix([[1, 0], [0, 1], [0, 1]])
    X = add_dummy_feature(X)
    assert sparse.isspmatrix_csc(X), X
    assert_array_equal(X.toarray(), [[1, 1, 0], [1, 0, 1], [1, 0, 1]]) 
開發者ID:PacktPublishing,項目名稱:Mastering-Elasticsearch-7.0,代碼行數:7,代碼來源:test_data.py

示例9: test_csc

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def test_csc(self):
        x = sparse.csr_matrix(
            (cupy.array([], 'f'),
             cupy.array([], 'i'),
             cupy.array([0], 'i')),
            shape=(0, 0), dtype='f')
        self.assertFalse(sparse.isspmatrix_csc(x)) 
開發者ID:cupy,項目名稱:cupy,代碼行數:9,代碼來源:test_csr.py

示例10: test_csr

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def test_csr(self):
        x = sparse.csr_matrix(
            (cupy.array([], 'f'),
             cupy.array([], 'i'),
             cupy.array([0], 'i')),
            shape=(0, 0), dtype='f')
        self.assertFalse(sparse.isspmatrix_csc(x)) 
開發者ID:cupy,項目名稱:cupy,代碼行數:9,代碼來源:test_csc.py

示例11: test_csc

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def test_csc(self):
        x = sparse.csc_matrix(
            (cupy.array([], 'f'),
             cupy.array([], 'i'),
             cupy.array([0], 'i')),
            shape=(0, 0), dtype='f')
        self.assertTrue(sparse.isspmatrix_csc(x)) 
開發者ID:cupy,項目名稱:cupy,代碼行數:9,代碼來源:test_csc.py

示例12: _getIndx

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def _getIndx(self, mtx):

        if sp.isspmatrix_csc(mtx):
            indx = mtx.indices
            self.isCSR = 0
        elif sp.isspmatrix_csr(mtx):
            indx = mtx.indices
            self.isCSR = 1
        else:
            raise TypeError('must be a CSC/CSR matrix (is %s)' % mtx.__class__)

        ##
        # Should check types of indices to correspond to familyTypes.
        if self.family[1] == 'i':
            if (indx.dtype != np.dtype(np.int32)) \
                   or mtx.indptr.dtype != np.dtype(np.int32):
                raise ValueError('matrix must have int indices')
        else:
            if (indx.dtype != np.dtype(np.int64)) \
                   or mtx.indptr.dtype != np.dtype(np.int64):
                raise ValueError('matrix must have long indices')

        if self.isReal:
            if mtx.data.dtype != np.dtype(np.float64):
                raise ValueError('matrix must have float64 values')
        else:
            if mtx.data.dtype != np.dtype(np.complex128):
                raise ValueError('matrix must have complex128 values')

        return indx

    ##
    # 30.11.2005, c
    # last revision: 10.01.2007 
開發者ID:scikit-umfpack,項目名稱:scikit-umfpack,代碼行數:36,代碼來源:umfpack.py

示例13: _check_A

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def _check_A(self, A):
        if A.shape[0] != A.shape[1]:
            raise ValueError('Matrix A needs to be square, but has shape: {}'.format(A.shape))
        
        if sp.isspmatrix_csr(A):
            self._solve_transposed = False
            self.set_iparm(12,0)
        elif sp.isspmatrix_csc(A):
            self._solve_transposed = True
            self.set_iparm(12,1)
        else:
            msg = 'PyPardiso requires matrix A to be in CSR or CSC format, but matrix A is: {}'.format(type(A))
            raise TypeError(msg)
                 
        # scipy allows unsorted csr-indices, which lead to completely wrong pardiso results
        if not A.has_sorted_indices:
            A.sort_indices()
            
        # scipy allows csr matrices with empty rows. a square matrix with an empty row is singular. calling 
        # pardiso with a matrix A that contains empty rows leads to a segfault, same applies for csc with 
        # empty columns
        if not np.diff(A.indptr).all():
            row_col = 'column' if self._solve_transposed else 'row'
            raise ValueError('Matrix A is singular, because it contains empty {}(s)'.format(row_col))
        
        if A.dtype != np.float64:
            raise TypeError('PyPardiso currently only supports float64, but matrix A has dtype: {}'.format(A.dtype)) 
開發者ID:haasad,項目名稱:PyPardisoProject,代碼行數:29,代碼來源:pardiso_wrapper.py

示例14: test_add_dummy_feature_csc

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def test_add_dummy_feature_csc():
    X = sparse.csc_matrix([[1, 0], [0, 1], [0, 1]])
    X = add_dummy_feature(X)
    assert_true(sparse.isspmatrix_csc(X), X)
    assert_array_equal(X.toarray(), [[1, 1, 0], [1, 0, 1], [1, 0, 1]]) 
開發者ID:alvarobartt,項目名稱:twitter-stock-recommendation,代碼行數:7,代碼來源:test_data.py

示例15: validate_graph

# 需要導入模塊: from scipy import sparse [as 別名]
# 或者: from scipy.sparse import isspmatrix_csc [as 別名]
def validate_graph(csgraph, directed, dtype=DTYPE,
                   csr_output=True, dense_output=True,
                   copy_if_dense=False, copy_if_sparse=False,
                   null_value_in=0, null_value_out=np.inf,
                   infinity_null=True, nan_null=True):
    """Routine for validation and conversion of csgraph inputs"""
    if not (csr_output or dense_output):
        raise ValueError("Internal: dense or csr output must be true")

    # if undirected and csc storage, then transposing in-place
    # is quicker than later converting to csr.
    if (not directed) and isspmatrix_csc(csgraph):
        csgraph = csgraph.T

    if isspmatrix(csgraph):
        if csr_output:
            csgraph = csr_matrix(csgraph, dtype=DTYPE, copy=copy_if_sparse)
        else:
            csgraph = csgraph_to_dense(csgraph, null_value=null_value_out)
    elif np.ma.isMaskedArray(csgraph):
        if dense_output:
            mask = csgraph.mask
            csgraph = np.array(csgraph.data, dtype=DTYPE, copy=copy_if_dense)
            csgraph[mask] = null_value_out
        else:
            csgraph = csgraph_from_masked(csgraph)
    else:
        if dense_output:
            csgraph = csgraph_masked_from_dense(csgraph,
                                                copy=copy_if_dense,
                                                null_value=null_value_in,
                                                nan_null=nan_null,
                                                infinity_null=infinity_null)
            mask = csgraph.mask
            csgraph = np.asarray(csgraph.data, dtype=DTYPE)
            csgraph[mask] = null_value_out
        else:
            csgraph = csgraph_from_dense(csgraph, null_value=null_value_in,
                                         infinity_null=infinity_null,
                                         nan_null=nan_null)

    if csgraph.ndim != 2:
        raise ValueError("compressed-sparse graph must be two dimensional")

    if csgraph.shape[0] != csgraph.shape[1]:
        raise ValueError("compressed-sparse graph must be shape (N, N)")

    return csgraph 
開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:50,代碼來源:_validation.py


注:本文中的scipy.sparse.isspmatrix_csc方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。