Python numpy.linalg.pinv() Examples
The following are 30
code examples of numpy.linalg.pinv().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
numpy.linalg
, or try the search function
.
Example #1
Source File: test_linalg.py From recruit with Apache License 2.0 | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #2
Source File: mixed.py From Splunking-Crime with GNU Affero General Public License v3.0 | 6 votes |
def _compute_a(self): """fixed effects parameters Display (3.1) of Laird, Lange, Stram (see help(Mixed)). """ for unit in self.units: unit.fit(self.a, self.D, self.sigma) S = sum([unit.compute_xtwx() for unit in self.units]) Y = sum([unit.compute_xtwy() for unit in self.units]) self.Sinv = L.pinv(S) self.a = np.dot(self.Sinv, Y)
Example #3
Source File: test_linalg.py From ImageFusion with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #4
Source File: OLSims_methods.py From SIPPY with GNU Lesser General Public License v3.0 | 6 votes |
def algorithm_1(y, u, l, m, f, N, U_n, S_n, V_n, W1, O_i, threshold, max_order, D_required): U_n, S_n, V_n = reducingOrder(U_n, S_n, V_n, threshold, max_order) V_n = V_n.T n = S_n.size S_n = np.diag(S_n) if W1 is None: #W1 is identity Ob = np.dot(U_n, sc.linalg.sqrtm(S_n)) else: Ob = np.dot(np.linalg.inv(W1), np.dot(U_n, sc.linalg.sqrtm(S_n))) X_fd = np.dot(np.linalg.pinv(Ob), O_i) Sxterm = impile(X_fd[:, 1:N], y[:, f:f + N - 1]) Dxterm = impile(X_fd[:, 0:N - 1], u[:, f:f + N - 1]) if D_required == True: M = np.dot(Sxterm, np.linalg.pinv(Dxterm)) else: M = np.zeros((n + l, n + m)) M[0:n, :] = np.dot(Sxterm[0:n], np.linalg.pinv(Dxterm)) M[n::, 0:n] = np.dot(Sxterm[n::], np.linalg.pinv(Dxterm[0:n, :])) residuals = Sxterm - np.dot(M, Dxterm) return Ob, X_fd, M, n, residuals
Example #5
Source File: test_linalg.py From mxnet-lambda with Apache License 2.0 | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #6
Source File: test_linalg.py From elasticintel with GNU General Public License v3.0 | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #7
Source File: util.py From gbdxtools with MIT License | 6 votes |
def __init__(self, A, B, offset, scale, px_offset, px_scale, gsd=None, proj=None, default_z=0): self.proj = proj self._A = A self._B = B self._offset = offset self._scale = scale self._px_offset = px_offset self._px_scale = px_scale self._gsd = gsd self._offscl = np.vstack([offset, scale]) self._offscl_rev = np.vstack([-offset/scale, 1.0/scale]) self._px_offscl_rev = np.vstack([px_offset, px_scale]) self._px_offscl = np.vstack([-px_offset/px_scale, 1.0/px_scale]) self._default_z = default_z self._A_rev = np.dot(pinv(np.dot(np.transpose(A), A)), np.transpose(A)) # only using the numerator (more dynamic range for the fit?) # self._B_rev = np.dot(pinv(np.dot(np.transpose(B), B)), np.transpose(B))
Example #8
Source File: test_linalg.py From pySINDy with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #9
Source File: test_linalg.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #10
Source File: test_linalg.py From GraphicDesignPatternByPython with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #11
Source File: test_linalg.py From coffeegrindsize with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #12
Source File: test_linalg.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #13
Source File: test_linalg.py From Computable with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #14
Source File: test_linalg.py From Serverless-Deep-Learning-with-TensorFlow-and-AWS-Lambda with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #15
Source File: test_linalg.py From twitter-stock-recommendation with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #16
Source File: test_linalg.py From lambda-packs with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #17
Source File: test_linalg.py From auto-alt-text-lambda-api with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #18
Source File: test_linalg.py From vnpy_crypto with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #19
Source File: mixed.py From vnpy_crypto with MIT License | 6 votes |
def _compute_a(self): """fixed effects parameters Display (3.1) of Laird, Lange, Stram (see help(Mixed)). """ for unit in self.units: unit.fit(self.a, self.D, self.sigma) S = sum([unit.compute_xtwx() for unit in self.units]) Y = sum([unit.compute_xtwy() for unit in self.units]) self.Sinv = L.pinv(S) self.a = np.dot(self.Sinv, Y)
Example #20
Source File: test_linalg.py From keras-lambda with MIT License | 6 votes |
def test_byteorder_check(): # Byte order check should pass for native order if sys.byteorder == 'little': native = '<' else: native = '>' for dtt in (np.float32, np.float64): arr = np.eye(4, dtype=dtt) n_arr = arr.newbyteorder(native) sw_arr = arr.newbyteorder('S').byteswap() assert_equal(arr.dtype.byteorder, '=') for routine in (linalg.inv, linalg.det, linalg.pinv): # Normal call res = routine(arr) # Native but not '=' assert_array_equal(res, routine(n_arr)) # Swapped assert_array_equal(res, routine(sw_arr))
Example #21
Source File: test_linalg.py From Serverless-Deep-Learning-with-TensorFlow-and-AWS-Lambda with MIT License | 5 votes |
def do(self, a, b, tags): a_ginv = linalg.pinv(a) # `a @ a_ginv == I` does not hold if a is singular dot = dot_generalized assert_almost_equal(dot(dot(a, a_ginv), a), a, single_decimal=5, double_decimal=11) assert_(consistent_subclass(a_ginv, a))
Example #22
Source File: test_orbital.py From PyRate with Apache License 2.0 | 5 votes |
def test_offset_inversion(self): """ Ensure pinv(DM)*obs gives equal results given constant change to fd """ def get_orbital_params(): """Returns pseudo-inverse of the DM""" ncells = self.ifgs[0].num_cells data = concatenate([i.phase_data.reshape(ncells) for i in self.ifgs]) dm = get_network_design_matrix(self.ifgs, PLANAR, True)[~isnan(data)] fd = data[~isnan(data)].reshape((dm.shape[0], 1)) return dot(pinv(dm, self.nc_tol), fd) tol = 1e-5 nifgs = len(self.ifgs) params0 = get_orbital_params() # apply constant change to the observed values (fd) for value in [5.2, -23.5]: for i in self.ifgs: # change ifgs in place i.phase_data += value self.assertTrue(isnan(i.phase_data).any()) params = get_orbital_params() diff = params - params0 self.assertTrue((diff[:-nifgs] < tol).all()) assert_array_almost_equal(diff[-nifgs:], value, decimal=5) # reset back to orig data for i in self.ifgs: i.phase_data -= value # These functions test full size data for orbital correction. The options # are separated as the ifg.phase_data arrays are modified in place, allowing # setUp() reset phase data between tests.
Example #23
Source File: test_linalg.py From recruit with Apache License 2.0 | 5 votes |
def do(self, a, b, tags): a_ginv = linalg.pinv(a) # `a @ a_ginv == I` does not hold if a is singular dot = dot_generalized assert_almost_equal(dot(dot(a, a_ginv), a), a, single_decimal=5, double_decimal=11) assert_(consistent_subclass(a_ginv, a))
Example #24
Source File: mixed.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def initialize(self): S = sum([np.dot(unit.X.T, unit.X) for unit in self.units]) Y = sum([np.dot(unit.X.T, unit.Y) for unit in self.units]) self.a = L.lstsq(S, Y)[0] D = 0 t = 0 sigmasq = 0 for unit in self.units: unit.r = unit.Y - np.dot(unit.X, self.a) if self.q > 1: unit.b = L.lstsq(unit.Z, unit.r)[0] else: Z = unit.Z.reshape((unit.Z.shape[0], 1)) unit.b = L.lstsq(Z, unit.r)[0] sigmasq += (np.power(unit.Y, 2).sum() - (self.a * np.dot(unit.X.T, unit.Y)).sum() - (unit.b * np.dot(unit.Z.T, unit.r)).sum()) D += np.multiply.outer(unit.b, unit.b) t += L.pinv(np.dot(unit.Z.T, unit.Z)) #TODO: JP added df_resid check self.df_resid = (self.N - (self.m - 1) * self.q - self.p) sigmasq /= (self.N - (self.m - 1) * self.q - self.p) self.sigma = np.sqrt(sigmasq) self.D = (D - sigmasq * t) / self.m
Example #25
Source File: contrast_old.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def compute_matrix(self, *args, **kw): """ Construct a contrast matrix C so that colspan(dot(D, C)) = colspan(dot(D, dot(pinv(D), T))) where pinv(D) is the generalized inverse of D=self.D=self.formula(). If the design, self.D is already set, then evaldesign can be set to False. """ t = copy.copy(self.term) t.namespace = self.formula.namespace T = np.transpose(np.array(t(*args, **kw))) if T.ndim == 1: T.shape = (T.shape[0], 1) self.T = utils.clean0(T) self.D = self.formula.design(*args, **kw) self._matrix = contrastfromcols(self.T, self.D) try: self.rank = self.matrix.shape[1] except: self.rank = 1
Example #26
Source File: costrank.py From ruptures with BSD 2-Clause "Simplified" License | 5 votes |
def fit(self, signal): """Set parameters of the instance. Args: signal (array): signal. Shape (n_samples,) or (n_samples, n_features) Returns: self """ if signal.ndim == 1: signal = signal.reshape(-1, 1) obs, vars = signal.shape # Convert signal data into ranks in the range [1, n] ranks = rankdata(signal, axis=0) # Center the ranks into the range [-(n+1)/2, (n+1)/2] centered_ranks = (ranks - ((obs + 1) / 2)) # Sigma is the covariance of these ranks. # If it's a scalar, reshape it into a 1x1 matrix cov = np.cov(centered_ranks, rowvar=False, bias=True).reshape(vars, vars) # Use the pseudoinverse to handle linear dependencies # see Lung-Yut-Fong, A., Lévy-Leduc, C., & Cappé, O. (2015) try: self.inv_cov = pinv(cov) except LinAlgError as e: raise LinAlgError( "The covariance matrix of the rank signal is not invertible and the " "pseudo-inverse computation did not converge." ) from e self.ranks = centered_ranks return self
Example #27
Source File: test_linalg.py From twitter-stock-recommendation with MIT License | 5 votes |
def do(self, a, b, tags): a_ginv = linalg.pinv(a) # `a @ a_ginv == I` does not hold if a is singular dot = dot_generalized assert_almost_equal(dot(dot(a, a_ginv), a), a, single_decimal=5, double_decimal=11) assert_(consistent_subclass(a_ginv, a))
Example #28
Source File: test_linalg.py From elasticintel with GNU General Public License v3.0 | 5 votes |
def do(self, a, b, tags): a_ginv = linalg.pinv(a) # `a @ a_ginv == I` does not hold if a is singular assert_almost_equal(dot(a, a_ginv).dot(a), a, single_decimal=5, double_decimal=11) assert_(imply(isinstance(a, matrix), isinstance(a_ginv, matrix)))
Example #29
Source File: test_orbital.py From PyRate with Apache License 2.0 | 5 votes |
def _expand_corrections(ifgs, dm, params, ncoef, offsets): """ Convenience func returns model converted to data points. dm: design matrix (do not filter/remove nan cells) params: model parameters array from pinv() * dm ncoef: number of model coefficients (2 planar, 5 quadratic) offsets: True/False to calculate correction with offsets """ # NB: cannot work on singular ifgs due to date ID id/indexing requirement date_ids = get_date_ids(ifgs) corrections = [] for ifg in ifgs: jbm = date_ids[ifg.master] * ncoef # starting row index for master jbs = date_ids[ifg.slave] * ncoef # row start for slave par = params[jbs:jbs + ncoef] - params[jbm:jbm + ncoef] # estimate orbital correction effects # corresponds to "fullorb = B*parm + offset" in orbfwd.m cor = dm.dot(par).reshape(ifg.phase_data.shape) if offsets: off = np.ravel(ifg.phase_data - cor) # bring all ifgs to same base level cor -= nanmedian(off) corrections.append(cor) return corrections
Example #30
Source File: test_linalg.py From keras-lambda with MIT License | 5 votes |
def do(self, a, b): a_ginv = linalg.pinv(a) assert_almost_equal(dot(a, a_ginv), identity(asarray(a).shape[0])) assert_(imply(isinstance(a, matrix), isinstance(a_ginv, matrix)))