Commit Graph

158 Commits

Author SHA1 Message Date
Wirawan Purwanto
c8aad2e2f8 * Added facility for smoothed approximating spline instead of "exact"
interpolation.
2013-09-17 18:00:08 -04:00
Wirawan Purwanto
06fa307e84 * spline_2d: Use public scipy API functions. 2013-09-17 17:18:29 -04:00
Wirawan Purwanto
564d1f4364 * wpylib.math.fitting.fit_func: Added support for weight (or y uncertainty).
* For `leastsq' fit method, also introduced 'xerr' output (in outfmt=0)
  as the error estimate of the fitted parameters.
2013-08-19 15:43:49 -04:00
Wirawan Purwanto
37b0939671 * Documentation clarification. 2013-08-19 15:43:19 -04:00
Wirawan Purwanto
1421cf3bc5 * wpylib.math.fitting.fit_func: Allow Guess argument to override
machine-generated guess.
* Add 'funcalls' data key to the leastsq complete output to conform to the
  fmin-style output.
2013-08-19 10:50:54 -04:00
Wirawan Purwanto
2907b2ca77 * Set lcg48 default seed_index for user's reference 2013-08-19 10:11:09 -04:00
Wirawan Purwanto
42fdcc5253 * Added new module wpylib.math.random and its submodule (rng_lcg48).
The LCG48 generator is primarily for testing algorithms involving random
  numbers.
2013-08-14 15:29:26 -04:00
Wirawan Purwanto
e485cabbe8 * wpylib.math.fitting.fit_func: Added optional Funct_hook argument to
be called (for debugging purposes) every time "the" Funct function
  is called.
2013-08-13 01:05:38 -04:00
Wirawan Purwanto
cdad14e034 * Added BFGS minimization. 2013-08-09 16:51:38 -04:00
Wirawan Purwanto
f49d166a77 * wpylib.iofmt.fortbin: Added fortran_types class to manage and analyze
Fortran datatypes.

  First edition contains tool to estimate the size of datatypes,
  and size of file records (or sequence of records).
2013-06-26 16:24:19 -05:00
Wirawan Purwanto
2e21e2857a * Added function relpath() to compute relative path from one to another
path.
2013-06-25 17:01:26 -04:00
Wirawan Purwanto
fc0d97db1e * Parameters._flatten_(): Added workaround to avoid evaluating the
dict values while flattening the list.
  This is critical for avoiding evaluation of the 'active' members.
2013-04-25 16:54:36 -04:00
Wirawan Purwanto
2daca4af6e * tee_output: Allow None to be given in the `files' argument, which stands
for a null file.
2013-04-19 16:46:09 -04:00
Wirawan Purwanto
80961ed2bd * Added test7 and test8 for param_flat module.
- test7 tests active parameters which can work OK if the search dicts are
    flatten.
  - test8 tests the _flatten_() method.
2013-04-17 17:26:48 -04:00
Wirawan Purwanto
b326937d80 * Parameters: Now correctly implements _flatten_() method and flag.
- The _flatten_() method should recursively flatten the parameter
    search space into a single dict.
  - The _flatten_ flag will flatten the input dicts and keyword-based
    parameter (in the __init__() method only) in the expected order of
    priority (where the first found keyword is the most overriding one)
    into a single search dict.
2013-04-16 14:06:26 -04:00
Wirawan Purwanto
8d32c2c067 * Parameters: if _flatten_ is enabled, must flatten in reverse order to
give the firstly mentioned dict the priority.
2013-04-16 11:55:18 -04:00
Wirawan Purwanto
254aaca622 * Added tester for active Parameters value. 2013-04-11 14:38:04 -04:00
Wirawan Purwanto
0f58bc0f03 * params_flat.py: Added ActiveReadValue magic class to enable `active',
or executable, parameter, which will be executed upon `reading' such a
  value.
2013-04-11 14:36:52 -04:00
Wirawan Purwanto
fe9fa59e76 * params_flat.py: Documentation and note updates. 2013-04-11 14:06:14 -04:00
Wirawan Purwanto
f7c9ad7d34 * Added functions time_diff() and shift_time() for UNIX time manipulation. 2013-03-05 23:44:31 -05:00
Wirawan Purwanto
8f513ff5b4 * Added tests for Parameters._all_keys(). 2013-03-04 13:59:26 -05:00
Wirawan Purwanto
6709679af9 * Parameters: Added _all_keys_() and _flatten_() methods.
Warning: These are expensive, and not for general use.
2013-03-04 13:58:32 -05:00
Wirawan Purwanto
5a84a98b84 * Added tests for _append_() and _prepend_() methods. 2013-03-04 13:42:22 -05:00
Wirawan Purwanto
f04531a601 * Parameters: Added _append_() and _prepend_() methods. 2013-03-04 13:37:48 -05:00
Wirawan Purwanto
099f3e7e06 * Module wpylib.db.indexing_float: utility for floating-point (FP)-based
indexing, allowing tolerances to account for imprecise nature of FP
  numbers.

  Initial implementation, rather complicated.
  A simple rounding-based implementation can be put in later.

  Includes initial test.
2013-03-03 09:15:43 -05:00
Wirawan Purwanto
4fb16c56b2 * Documentation update. 2013-02-28 14:01:18 -05:00
Wirawan Purwanto
9de8407dd9 * Added Test_3(). 2012-10-15 17:25:06 -04:00
Wirawan Purwanto
a0eb82ed2b * Mute debug printing. 2012-10-15 16:59:35 -04:00
Wirawan Purwanto
5b213b0ee7 * Little syntax optimization. 2012-10-15 16:45:37 -04:00
Wirawan Purwanto
414643ecde * Added testcase wpylib.math.fitting.linear.Test_2() against numpy.polyfit(). 2012-10-15 16:35:12 -04:00
Wirawan Purwanto
cb8124f699 * Provide uncertainty of both a and b fit parameters. 2012-10-15 16:12:37 -04:00
Wirawan Purwanto
87763d6e57 * wpylib.math.fitting.linear: for linear fit methods.
First method: linregr2d_SZ() from Shiwei's email in 2006.
2012-10-15 16:02:41 -04:00
Wirawan Purwanto
908a4e0682 * Rebase fit_result on result_base. 2012-10-15 16:01:46 -04:00
Wirawan Purwanto
348c204699 * Change wpylib.math.fitting module from a file into a subdirectory. 2012-10-15 15:16:02 -04:00
Wirawan Purwanto
332d9ae240 * wpylib.math: added choose() function. 2012-08-24 16:32:33 -04:00
Wirawan Purwanto
b58ea30ba8 * Added a facility to catch exception while capturing stdout, and deliver
the output printed so far (to stderr), plus re-raising the exception.
2012-08-24 16:31:48 -04:00
Wirawan Purwanto
f677dc1a81 * Added wpylib.py.stdout_capture as a hack tool to capture sys.stdout
output of a given function call (and its child subroutines).
2012-08-10 10:13:18 -04:00
Wirawan Purwanto
17d242213d * Added some useful functions from my pw2g_bench_MnO.py scriptlet collection:
- wpylib.math.roundup()
  - wpylib.shell_tools.dirname2()

* file_exists_nonempty() is moved to wpylib.shell_tools.
2012-07-25 09:40:37 -04:00
Wirawan Purwanto
96cec22fca * wpylib.file.file_utils: added file_exists_nonempty() function. 2012-07-24 17:11:36 -04:00
Wirawan Purwanto
7ebb4004dc * str_igrep(): use enumerate function. 2012-06-13 19:36:35 -04:00
Wirawan Purwanto
d70bcf2149 * In text_output methods, do the required action iff self.out is not None. 2012-06-13 19:35:06 -04:00
Wirawan Purwanto
81316af285 * Added os.path-like methods: isdir, isfile, islink.
The last one is not reliable, but is added for uniformity for the time
  being.
2012-06-03 20:35:40 -04:00
Wirawan Purwanto
dcb7fa304c * Added sftp_client.put() method.
* Added sftp_status_callback class.
2012-05-26 08:37:01 -04:00
Wirawan Purwanto
6433e5da3c * Added prefix and suffix options for matrix_str and vector_str. 2012-05-23 00:25:42 -04:00
Wirawan Purwanto
140b3b699c * Added wpylib.interactive_tools.printstr class to facilitate logging of
print-ed output in interactive python sessions.
2012-05-17 12:29:30 -04:00
Wirawan Purwanto
5c72506135 * New module: wpylib.file.tee
* Added class tee_output for splitting text output to multiple destinations.
2012-05-14 15:48:43 -04:00
Wirawan Purwanto
ad841e0b90 * text_input.read_items(): added option end_line_match' and last_line_match'
(mutually exclusive options) to allow the dataset reading to end upon
  encountering certain text pattern (or a more complicated match, if we
  specify a function for the option value).
  These options can be used to work with the `maxcount' option; the shortest
  of the two (maxcount records read first, or end/last_line_match finds a
  match) will end the reading of the dataset.
2012-04-17 11:03:29 -04:00
Wirawan Purwanto
501552a65a * Added zip_gen() to simulate the effect of built-in zip() function, but
implemented as a generator rather than yielding the list right away.
  This is used mainly in loops, where we don't want to generate all the
  elements due to memory concerns.
2012-04-17 11:00:30 -04:00
Wirawan Purwanto
606214eb66 * Changing all isinstance(STUFF, str)' to isinstance(STUFF, basestring)'
for future-proofing this code.
2012-04-13 17:10:32 -04:00
Wirawan Purwanto
6656d3d5e3 * In module text_input: Added head() and tail() to emulate the basic
behavior of UNIX commands with the same name.
  Output lines are already split into a list of strings.
2012-03-19 16:53:23 -04:00