Commit 763affb711eafc214b3237d84e81b9500a6381a0
1 parent
7d0297f3
Exists in
master
staged.
Showing
9 changed files
with
113 additions
and
96 deletions
Show diff stats
chap1/1_3_infinite.py
| ... | ... | @@ -2,6 +2,7 @@ __author__ = 'chunk' |
| 2 | 2 | |
| 3 | 3 | import struct |
| 4 | 4 | import numpy as np |
| 5 | +import math | |
| 5 | 6 | |
| 6 | 7 | from common import * |
| 7 | 8 | |
| ... | ... | @@ -30,7 +31,7 @@ def double2bin(num): |
| 30 | 31 | return ''.join(bits) |
| 31 | 32 | |
| 32 | 33 | |
| 33 | -def infinite_float(): | |
| 34 | +def infinite_limit(): | |
| 34 | 35 | s = np.float32(0) |
| 35 | 36 | tmp = np.float32(-1) |
| 36 | 37 | i = 0 |
| ... | ... | @@ -41,6 +42,11 @@ def infinite_float(): |
| 41 | 42 | |
| 42 | 43 | print i, s, tmp, float2bin(s) |
| 43 | 44 | |
| 45 | +def infinite_float(n): | |
| 46 | + s = np.float32(0) | |
| 47 | + for i in range(1, n + 1): | |
| 48 | + s += np.float32(1.0 / i) | |
| 49 | + return s | |
| 44 | 50 | |
| 45 | 51 | def infinite_double(n): |
| 46 | 52 | s = np.float64(0) |
| ... | ... | @@ -58,14 +64,23 @@ def testn0(): |
| 58 | 64 | |
| 59 | 65 | if __name__ == '__main__': |
| 60 | 66 | # testn0() |
| 61 | - # infinite_float() | |
| 67 | + infinite_limit() | |
| 68 | + | |
| 69 | + for i in range(1,11): | |
| 70 | + print infinite_float(i) | |
| 71 | + for i in range(1,11): | |
| 72 | + print infinite_double(i) | |
| 62 | 73 | |
| 63 | 74 | # i = 1 |
| 64 | 75 | # while infinite_double(i) < 16: |
| 65 | 76 | # i += 1 |
| 66 | 77 | # print i, infinite_double(i) |
| 78 | + | |
| 67 | 79 | timer = Timer() |
| 68 | - timer.mark() | |
| 69 | - infinite_double(10000000) # 1125899906842624 | |
| 70 | - timer.report() | |
| 80 | + | |
| 81 | + for i in range(1,8): | |
| 82 | + n = math.pow(10,i) | |
| 83 | + timer.mark() | |
| 84 | + infinite_double(int(n)) # 1125899906842624 | |
| 85 | + timer.report() | |
| 71 | 86 | pass | ... | ... |
| ... | ... | @@ -0,0 +1,76 @@ |
| 1 | +""" | |
| 2 | +Common utils. | |
| 3 | + | |
| 4 | +@author: chunk | |
| 5 | +chunkplus@gmail.com | |
| 6 | +2014 Dec | |
| 7 | +""" | |
| 8 | +__author__ = 'hadoop' | |
| 9 | + | |
| 10 | +import os, sys | |
| 11 | +import time | |
| 12 | +import StringIO | |
| 13 | +import ConfigParser | |
| 14 | + | |
| 15 | +import numpy as np | |
| 16 | + | |
| 17 | +package_dir_imager = os.path.dirname(os.path.abspath(__file__)) | |
| 18 | + | |
| 19 | + | |
| 20 | +class Timer(): | |
| 21 | + def __init__(self): | |
| 22 | + self.__newtime = time.time() | |
| 23 | + self.__oldtime = self.__newtime | |
| 24 | + | |
| 25 | + def mark(self): | |
| 26 | + self.__oldtime = self.__newtime | |
| 27 | + self.__newtime = time.time() | |
| 28 | + return self.__newtime - self.__oldtime | |
| 29 | + | |
| 30 | + def report(self): | |
| 31 | + print "%-24s%fs" % ("time elapsed:", self.mark()) | |
| 32 | + | |
| 33 | + | |
| 34 | +def ttimer(): | |
| 35 | + newtime = time.time() | |
| 36 | + while True: | |
| 37 | + oldtime = newtime | |
| 38 | + newtime = time.time() | |
| 39 | + yield newtime - oldtime | |
| 40 | + | |
| 41 | + | |
| 42 | +def ctimer(): | |
| 43 | + newtime = time.clock() | |
| 44 | + while True: | |
| 45 | + oldtime = newtime | |
| 46 | + newtime = time.clock() | |
| 47 | + yield newtime - oldtime | |
| 48 | + | |
| 49 | + | |
| 50 | +def bytes2bits(arry_bytes): | |
| 51 | + """ | |
| 52 | + :param arry_bytes: 1-D np.unit8 array | |
| 53 | + :return: 1-D 0/1 array | |
| 54 | + """ | |
| 55 | + hid_data_bits = [map(int, '{0:08b}'.format(byte)) for byte in arry_bytes] | |
| 56 | + return np.array(hid_data_bits).ravel() | |
| 57 | + | |
| 58 | + | |
| 59 | +def bits2bytes(arry_bits): | |
| 60 | + """ | |
| 61 | + :param arry_bits: 1-D 0/1 array | |
| 62 | + :return: 1-D np.unit8 array | |
| 63 | + """ | |
| 64 | + str_bits = ''.join(map(str, arry_bits)) | |
| 65 | + arry_bytes = [int(str_bits[i:i + 8], 2) for i in range(0, len(str_bits), 8)] | |
| 66 | + return np.array(arry_bytes, dtype=np.uint8).ravel() | |
| 67 | + | |
| 68 | + | |
| 69 | +def test_grammer(): | |
| 70 | + a = 'fsaf' | |
| 71 | + b = ['dasf', 'dff'] | |
| 72 | + c = 'dgfsfdg' | |
| 73 | + # print a + b | |
| 74 | + print [a] + b # ['fsaf', 'dasf', 'dff'] | |
| 75 | + print [a] + [b] # ['fsaf', ['dasf', 'dff']] | |
| 76 | + print [a] + [c] # ['fsaf', 'dgfsfdg'] | ... | ... |
No preview for this file type
chap3/cholesky.py
| ... | ... | @@ -108,23 +108,23 @@ def test(): |
| 108 | 108 | def test1(): |
| 109 | 109 | print "[origin(n=10)]" |
| 110 | 110 | x, r, delta = calculate0(10) |
| 111 | - print "x:%s\nr:%s\ndelta:%s\n" % (x, r, delta) | |
| 112 | - print "norm(r):%s\nnorm(delta):%s\n" % (norm(r), norm(delta)) | |
| 111 | + print "x:%s\nr:%s\ndelta:%s" % (x, r, delta) | |
| 112 | + print "norm(r):%s\nnorm(delta):%s" % (norm(r), norm(delta)) | |
| 113 | 113 | |
| 114 | 114 | print "[disturbed(n=10)]" |
| 115 | 115 | x, r, delta = calculate1(10) |
| 116 | - print "x:%s\nr:%s\ndelta:%s\n" % (x, r, delta) | |
| 117 | - print "norm(r):%s\nnorm(delta):%s\n" % (norm(r), norm(delta)) | |
| 116 | + print "x:%s\nr:%s\ndelta:%s" % (x, r, delta) | |
| 117 | + print "norm(r):%s\nnorm(delta):%s" % (norm(r), norm(delta)) | |
| 118 | 118 | |
| 119 | 119 | print "[n=8]" |
| 120 | 120 | x, r, delta = calculate0(8) |
| 121 | - print "x:%s\nr:%s\ndelta:%s\n" % (x, r, delta) | |
| 122 | - print "norm(r):%s\nnorm(delta):%s\n" % (norm(r), norm(delta)) | |
| 121 | + print "x:%s\nr:%s\ndelta:%s" % (x, r, delta) | |
| 122 | + print "norm(r):%s\nnorm(delta):%s" % (norm(r), norm(delta)) | |
| 123 | 123 | |
| 124 | 124 | print "[n=12]" |
| 125 | 125 | x, r, delta = calculate0(12) |
| 126 | - print "x:%s\nr:%s\ndelta:%s\n" % (x, r, delta) | |
| 127 | - print "norm(r):%s\nnorm(delta):%s\n" % (norm(r), norm(delta)) | |
| 126 | + print "x:%s\nr:%s\ndelta:%s" % (x, r, delta) | |
| 127 | + print "norm(r):%s\nnorm(delta):%s" % (norm(r), norm(delta)) | |
| 128 | 128 | |
| 129 | 129 | |
| 130 | 130 | if __name__ == '__main__': | ... | ... |
chap3/cholesky.pyc
No preview for this file type
chap4/iterative.py
chap5/power.py
| ... | ... | @@ -44,17 +44,18 @@ def power_method(A, epsilon=0.00001, v=None): |
| 44 | 44 | |
| 45 | 45 | |
| 46 | 46 | def test(): |
| 47 | - ll = [0, 2, 0.5, 1, -3, 0.2] | |
| 48 | - ll2 = [i * 2 for i in ll] | |
| 49 | - print norm_vec(ll) | |
| 50 | - print norm_vec(ll2) | |
| 47 | + # ll = [0, 2, 0.5, 1, -3, 0.2] | |
| 48 | + # ll2 = [i * 2 for i in ll] | |
| 49 | + # print norm_vec(ll) | |
| 50 | + # print norm_vec(ll2) | |
| 51 | 51 | |
| 52 | - A = [[3, 1], [1, 3]] | |
| 53 | - print power_method(A) | |
| 52 | + # A = [[3, 1], [1, 3]] | |
| 53 | + # print power_method(A) | |
| 54 | 54 | |
| 55 | 55 | A = [[5, -4, 1], [-4, 6, -4], [1, -4, 7]] |
| 56 | 56 | B = [[25, -41, 10, -6], [-41, 68, -17, 10], [10, -17, 5, -3], [-6, 10, -3, 2]] |
| 57 | 57 | print power_method(A) |
| 58 | + print "" | |
| 58 | 59 | print power_method(B) |
| 59 | 60 | |
| 60 | 61 | ... | ... |
common.py
| ... | ... | @@ -1,76 +0,0 @@ |
| 1 | -""" | |
| 2 | -Common utils. | |
| 3 | - | |
| 4 | -@author: chunk | |
| 5 | -chunkplus@gmail.com | |
| 6 | -2014 Dec | |
| 7 | -""" | |
| 8 | -__author__ = 'hadoop' | |
| 9 | - | |
| 10 | -import os, sys | |
| 11 | -import time | |
| 12 | -import StringIO | |
| 13 | -import ConfigParser | |
| 14 | - | |
| 15 | -import numpy as np | |
| 16 | - | |
| 17 | -package_dir_imager = os.path.dirname(os.path.abspath(__file__)) | |
| 18 | - | |
| 19 | - | |
| 20 | -class Timer(): | |
| 21 | - def __init__(self): | |
| 22 | - self.__newtime = time.time() | |
| 23 | - self.__oldtime = self.__newtime | |
| 24 | - | |
| 25 | - def mark(self): | |
| 26 | - self.__oldtime = self.__newtime | |
| 27 | - self.__newtime = time.time() | |
| 28 | - return self.__newtime - self.__oldtime | |
| 29 | - | |
| 30 | - def report(self): | |
| 31 | - print "%-24s%fs" % ("time elapsed:", self.mark()) | |
| 32 | - | |
| 33 | - | |
| 34 | -def ttimer(): | |
| 35 | - newtime = time.time() | |
| 36 | - while True: | |
| 37 | - oldtime = newtime | |
| 38 | - newtime = time.time() | |
| 39 | - yield newtime - oldtime | |
| 40 | - | |
| 41 | - | |
| 42 | -def ctimer(): | |
| 43 | - newtime = time.clock() | |
| 44 | - while True: | |
| 45 | - oldtime = newtime | |
| 46 | - newtime = time.clock() | |
| 47 | - yield newtime - oldtime | |
| 48 | - | |
| 49 | - | |
| 50 | -def bytes2bits(arry_bytes): | |
| 51 | - """ | |
| 52 | - :param arry_bytes: 1-D np.unit8 array | |
| 53 | - :return: 1-D 0/1 array | |
| 54 | - """ | |
| 55 | - hid_data_bits = [map(int, '{0:08b}'.format(byte)) for byte in arry_bytes] | |
| 56 | - return np.array(hid_data_bits).ravel() | |
| 57 | - | |
| 58 | - | |
| 59 | -def bits2bytes(arry_bits): | |
| 60 | - """ | |
| 61 | - :param arry_bits: 1-D 0/1 array | |
| 62 | - :return: 1-D np.unit8 array | |
| 63 | - """ | |
| 64 | - str_bits = ''.join(map(str, arry_bits)) | |
| 65 | - arry_bytes = [int(str_bits[i:i + 8], 2) for i in range(0, len(str_bits), 8)] | |
| 66 | - return np.array(arry_bytes, dtype=np.uint8).ravel() | |
| 67 | - | |
| 68 | - | |
| 69 | -def test_grammer(): | |
| 70 | - a = 'fsaf' | |
| 71 | - b = ['dasf', 'dff'] | |
| 72 | - c = 'dgfsfdg' | |
| 73 | - # print a + b | |
| 74 | - print [a] + b # ['fsaf', 'dasf', 'dff'] | |
| 75 | - print [a] + [b] # ['fsaf', ['dasf', 'dff']] | |
| 76 | - print [a] + [c] # ['fsaf', 'dgfsfdg'] |
common.pyc
No preview for this file type