Changeset 3672


Ignore:
Timestamp:
Apr 12, 2015 10:43:04 AM (5 years ago)
Author:
bradbell
Message:

merge to branch: trunk
from repository: https://github.com/coin-or/CppAD
start hash code: 5206ad739385a8aa124401c5dcaf04c7de56a216
end hash code: 65943182bbcf72a51ad9814fd7c2d933f7ed586c

commit 65943182bbcf72a51ad9814fd7c2d933f7ed586c
Author: Brad Bell <bradbell@…>
Date: Sun Apr 12 07:41:00 2015 -0700

Remove trialing white space.

commit 135165758d425f39aa9800f51a356723630165b1
Author: Brad Bell <bradbell@…>
Date: Sun Apr 12 07:40:36 2015 -0700

wish_list.omh: add atanh, asinh, and acosh to wish list.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/omh/wish_list.omh

    r3607 r3672  
    44
    55CppAD is distributed under multiple licenses. This distribution is under
    6 the terms of the 
     6the terms of the
    77                    Eclipse Public License Version 1.0.
    88
     
    3737        Atan
    3838        cppad
     39        atanh
     40        asinh
     41        acosh
    3942$$
    4043
     
    4447$index features, new$$
    4548
     49$head Standard Math Functions$$
     50The following functions are part of the C++11 standard math library
     51and could be added to CppAD:
     52$code atanh$$, $code asinh$$, $code acosh$$.
     53
     54$subhead atan2$$
     55The $cref/atan2/Atan2/$$ function could be made faster by adding
     56a special operator for it.
     57
    4658$head Adolc$$
    4759$index adolc$$
     
    4961CppAD commands.
    5062
    51 $head Atan2$$
    52 $index atan2$$
    53 The $cref/atan2/Atan2/$$ function could be made faster by adding
    54 a special operator for it.
    55 
    5663$head BenderQuad$$
    57 See the $cref/problem/BenderQuad/Problem/$$ with the 
     64See the $cref/problem/BenderQuad/Problem/$$ with the
    5865current $code BenderQuad$$ specifications.
    5966
    6067$head Checkpointing$$
    6168$index checkpoint$$
    62 It would be more flexible to also have a 
    63 $cref/checkpoint constructor/checkpoint/constructor/$$ 
     69It would be more flexible to also have a
     70$cref/checkpoint constructor/checkpoint/constructor/$$
    6471that passed in an $cref ADFun$$ object instead of a algorithm.
    6572Perhaps the syntax would be
     
    6875%$$
    6976where $icode copy$$ would determine if a separate copy of $icode ad_fun$$
    70 was made or if a pointer was used. 
     77was made or if a pointer was used.
    7178Note that if a pointer is used, it becomes invalid when the destructor
    7279for $icode ad_fun$$ is called.
     
    8289$$
    8390only two of the expressions
    84 $code true_x$$, $code false_x$$, $code true_y$$, $code false_y$$ 
    85 will be evaluated 
     91$code true_x$$, $code false_x$$, $code true_y$$, $code false_y$$
     92will be evaluated
    8693(two will be skipped depending on the result of $code left_z == right_z$$).
    8794Not all of the expressions corresponding to
    8895$code left_x$$, $code right_x$$, $code left_y$$, $code right_y$$ need to be
    8996evaluate, but they are.
    90 The optimizer could be improved to skip two more expressions 
     97The optimizer could be improved to skip two more expressions
    9198(depending on the result of $code left_z == right_z$$).
    9299
    93100$subhead Sparsity$$
    94 The $cref/optimizer/optimize/$$ uses 
     101The $cref/optimizer/optimize/$$ uses
    95102$cref/atomic reverse jacobian sparsity/atomic_rev_sparse_jac/$$
    96103to determine which arguments affect the value of the results
     
    104111$icode right$$.
    105112The $cref checkpoint$$ functions use the value true for
    106 $cref/nz_compare/RevSparseJac/nz_compare/$$ when computing 
     113$cref/nz_compare/RevSparseJac/nz_compare/$$ when computing
    107114reverse jacobian sparsity patterns.
    108115This enables the optimizer to properly track the dependencies.
     
    113120$index forward$$
    114121If the results of $cref forward_order$$ have already been computed and are still
    115 stored in the $cref ADFun$$ object (see $cref size_order$$), 
     122stored in the $cref ADFun$$ object (see $cref size_order$$),
    116123then they do not need to be recomputed and the results can just be returned.
    117124
     
    163170$index sequence, operation$$
    164171$index operation, sequence$$
    165 It is possible to detect if the 
    166 AD of $icode Base$$ 
    167 $cref/operation sequence/glossary/Operation/Sequence/$$ 
     172It is possible to detect if the
     173AD of $icode Base$$
     174$cref/operation sequence/glossary/Operation/Sequence/$$
    168175does not depend on any of the
    169176$cref/independent variable/glossary/Tape/Independent Variable/$$ values.
     
    180187They are now taped so that the $cref compare_change$$ interface
    181188works even for compiler optimize code.
    182 This caused a significant slow down in the 
     189This caused a significant slow down in the
    183190$cref cppad_det_lu.cpp$$ speed test (with no options specified).
    184191Perhaps there should be an option to skip the comparison taping.
     
    188195hash codes are used to detect expressions that have already
    189196been computed.
    190 Perhaps this should be done during the original forward mode recording. 
     197Perhaps this should be done during the original forward mode recording.
    191198
    192199$subhead Variable Pairs$$
    193 Suppose that $icode x$$ is a variable 
     200Suppose that $icode x$$ is a variable
    194201and $codei%sin(%x%)%$$ is used in an expression.
    195202The extra expression $codei%cos(%x%)%$$ is also computed
     
    197204This is because the derivative of the original expression
    198205is expressed in terms of the values of the other expression.
    199 In general, 
    200 the representation of the derivative of an expression to order $icode p$$ 
     206In general,
     207the representation of the derivative of an expression to order $icode p$$
    201208may include the derivative of another expression to order $icode%p%-1%$$.
    202 In our example, if only the value $codei%sin(%x%)%$$ 
     209In our example, if only the value $codei%sin(%x%)%$$
    203210is requested, it is not necessary to compute $codei%cos(%x%)%$$.
    204 We should remove the computation of extra expressions derivatives that are 
    205 not need to compute the requested derivative of the original expression. 
     211We should remove the computation of extra expressions derivatives that are
     212not need to compute the requested derivative of the original expression.
    206213
    207214$head Preprocessor Symbols$$
     
    219226
    220227$list number$$
    221 Names (except as noted below) 
     228Names (except as noted below)
    222229should be all lowercase, with words separated by underscores.
    223 For example, acronyms should be treated as ordinary names 
     230For example, acronyms should be treated as ordinary names
    224231(xml_parser instead of XML_parser).
    225232
     
    228235
    229236$lnext
    230 Use spaces rather than tabs. 
     237Use spaces rather than tabs.
    231238Currently, CppAD uses a tabs stops at column multiples of 5.
    232239Five columns were chosen to avoid high levels of indenting and to allow for
     
    237244$$
    238245with a tab after the else.
    239 Automatic conversion to actual spaces should be easy. 
     246Automatic conversion to actual spaces should be easy.
    240247
    241248$lend
     
    246253$index tracing, operation sequence$$
    247254Add tracing the operation sequence to the user API and documentation.
    248 Tracing the operation sequence is currently done by changing the CppAD 
     255Tracing the operation sequence is currently done by changing the CppAD
    249256source code. Use the command
    250257$codep
Note: See TracChangeset for help on using the changeset viewer.