Stan Math Library
2.20.0
reverse mode automatic differentiation
stan
math
fwd
scal
fun
multiply_log.hpp
Go to the documentation of this file.
1
#ifndef STAN_MATH_FWD_SCAL_FUN_MULTIPLY_LOG_HPP
2
#define STAN_MATH_FWD_SCAL_FUN_MULTIPLY_LOG_HPP
3
4
#include <
stan/math/fwd/meta.hpp
>
5
#include <
stan/math/fwd/core.hpp
>
6
#include <
stan/math/prim/scal/fun/multiply_log.hpp
>
7
8
namespace
stan
{
9
namespace
math {
10
11
template
<
typename
T>
12
inline
fvar<T>
multiply_log
(
const
fvar<T>
& x1,
const
fvar<T>
& x2) {
13
using
std::log
;
14
return
fvar<T>
(
multiply_log
(x1.
val_
, x2.
val_
),
15
x1.
d_
*
log
(x2.
val_
) + x1.
val_
* x2.
d_
/ x2.
val_
);
16
}
17
18
template
<
typename
T>
19
inline
fvar<T>
multiply_log
(
double
x1,
const
fvar<T>
& x2) {
20
using
std::log
;
21
return
fvar<T>
(
multiply_log
(x1, x2.
val_
), x1 * x2.
d_
/ x2.
val_
);
22
}
23
24
template
<
typename
T>
25
inline
fvar<T>
multiply_log
(
const
fvar<T>
& x1,
double
x2) {
26
using
std::log
;
27
return
fvar<T>
(
multiply_log
(x1.
val_
, x2), x1.
d_
*
log
(x2));
28
}
29
}
// namespace math
30
}
// namespace stan
31
#endif
core.hpp
stan::math::fvar::d_
T d_
The tangent (derivative) of this variable.
Definition:
fvar.hpp:50
stan
Definition:
log_sum_exp.hpp:8
stan::math::log
fvar< T > log(const fvar< T > &x)
Definition:
log.hpp:12
multiply_log.hpp
stan::math::fvar::val_
T val_
The value of this variable.
Definition:
fvar.hpp:45
meta.hpp
stan::math::multiply_log
fvar< T > multiply_log(const fvar< T > &x1, const fvar< T > &x2)
Definition:
multiply_log.hpp:12
stan::math::fvar
This template class represents scalars used in forward-mode automatic differentiation, which consist of values and directional derivatives of the specified template type.
Definition:
fvar.hpp:41
[
Stan Home Page
]
© 2011–2018, Stan Development Team.