Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
    ]
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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]