def nk_singular(a, k, opt): (size, _) = a.shape nseq = rdft.all_leading_sequence(size)[-1] seq = rdft.all_leading_sequence(k)[-1] if opt == 0: _, sings, _ = linalg.svd(a[np.ix_(nseq, seq)]) else: _, sings, _ = linalg.svd(a[np.ix_(seq, nseq)]) return sings
def nk_singular(a,k, opt): (size,_) = a.shape nseq = rdft.all_leading_sequence(size)[-1] seq = rdft.all_leading_sequence(k)[-1] if opt == 0: _, sings, _ = linalg.svd(a[np.ix_(nseq,seq)]) else: _, sings, _ = linalg.svd(a[np.ix_(seq,nseq)]) return sings
def const_a_detection(sample, size, rand_range): test_result = main.const_a(sample, size, rand_range) condition_satisfy = 0 failed_satisfy = 0 mcfras, fras, a_subconds, fra_subconds, a_subsingulars, fra_subsingulars = [], [], 0.0, [], 0.0, [] mca_flg = 0 for i in range(0, sample): [a, mca, mcfra, fra, a_subcond, fra_subcond] = test_result[i] fras.append(fra) mcfras.append(mcfra) _, a_subsingulars, _ = linalg.svd(a) for seq in rdft.all_leading_sequence(size): _, fra_subsing, _ = linalg.svd(fra[np.ix_(seq, seq)]) fra_subsingulars.append(fra_subsing) fra_subconds.append(fra_subcond) if mca < 20: mca_flg = 1 # this is not what we want to detect even as a sample continue if mcfra < 1.5: condition_satisfy = condition_satisfy + 1 if mcfra > 10: failed_satisfy = failed_satisfy + 1 return [ condition_satisfy, mca_flg, failed_satisfy, a, mca, mcfras, fras, a_subcond, fra_subconds, a_subsingulars, fra_subsingulars ]
def get_singular(a, fra): (size, _) = a.shape a_fra_subsings = [] _, a_sings, _ = linalg.svd(a) i = 0 for seq in rdft.all_leading_sequence(size): _, fra_subsing, _ = linalg.svd(fra[np.ix_(seq, seq)]) a_fra_subsings.append((a_sings[i], fra_subsing[-1])) i = i + 1 return a_fra_subsings
def get_singular(a,fra): (size,_) = a.shape a_fra_subsings = [] _, a_sings, _ = linalg.svd(a) i = 0 for seq in rdft.all_leading_sequence(size): _, fra_subsing, _ = linalg.svd(fra[np.ix_(seq,seq)]) a_fra_subsings.append( (a_sings[i], fra_subsing[-1]) ) i = i + 1 return a_fra_subsings
def const_a_detection(sample, size, rand_range): test_result = main.const_a(sample, size, rand_range) condition_satisfy = 0 failed_satisfy = 0 mcfras, fras, a_subconds, fra_subconds, a_subsingulars, fra_subsingulars = [], [], 0.0, [], 0.0, [] mca_flg = 0 for i in range(0,sample): [a, mca, mcfra, fra, a_subcond, fra_subcond] = test_result[i] fras.append(fra) mcfras.append(mcfra) _, a_subsingulars, _ = linalg.svd(a) for seq in rdft.all_leading_sequence(size): _, fra_subsing, _ = linalg.svd(fra[np.ix_(seq,seq)]) fra_subsingulars.append(fra_subsing) fra_subconds.append(fra_subcond) if mca < 20: mca_flg = 1 # this is not what we want to detect even as a sample continue if mcfra < 1.5: condition_satisfy = condition_satisfy + 1 if mcfra > 10: failed_satisfy = failed_satisfy + 1 return [condition_satisfy, mca_flg, failed_satisfy, a, mca, mcfras, fras, a_subcond, fra_subconds, a_subsingulars, fra_subsingulars]