prophet-rb 0.3.1 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -2
  3. data/LICENSE.txt +1 -1
  4. data/README.md +149 -2
  5. data/data-raw/LICENSE-holidays.txt +20 -0
  6. data/data-raw/README.md +3 -0
  7. data/data-raw/generated_holidays.csv +29302 -61443
  8. data/lib/prophet/diagnostics.rb +349 -0
  9. data/lib/prophet/forecaster.rb +214 -4
  10. data/lib/prophet/holidays.rb +6 -10
  11. data/lib/prophet/plot.rb +56 -6
  12. data/lib/prophet/stan_backend.rb +10 -1
  13. data/lib/prophet/version.rb +1 -1
  14. data/lib/prophet.rb +23 -7
  15. data/stan/{unix/prophet.stan → prophet.stan} +8 -7
  16. data/vendor/aarch64-linux/bin/prophet +0 -0
  17. data/vendor/aarch64-linux/lib/libtbb.so.2 +0 -0
  18. data/vendor/aarch64-linux/lib/libtbbmalloc.so.2 +0 -0
  19. data/vendor/aarch64-linux/lib/libtbbmalloc_proxy.so.2 +0 -0
  20. data/vendor/aarch64-linux/licenses/sundials-license.txt +25 -63
  21. data/vendor/aarch64-linux/licenses/sundials-notice.txt +21 -0
  22. data/vendor/arm64-darwin/bin/prophet +0 -0
  23. data/vendor/arm64-darwin/lib/libtbb.dylib +0 -0
  24. data/vendor/arm64-darwin/lib/libtbbmalloc.dylib +0 -0
  25. data/vendor/arm64-darwin/licenses/sundials-license.txt +25 -63
  26. data/vendor/arm64-darwin/licenses/sundials-notice.txt +21 -0
  27. data/vendor/x86_64-darwin/bin/prophet +0 -0
  28. data/vendor/x86_64-darwin/lib/libtbb.dylib +0 -0
  29. data/vendor/x86_64-darwin/lib/libtbbmalloc.dylib +0 -0
  30. data/vendor/x86_64-darwin/licenses/sundials-license.txt +25 -63
  31. data/vendor/x86_64-darwin/licenses/sundials-notice.txt +21 -0
  32. data/vendor/x86_64-linux/bin/prophet +0 -0
  33. data/vendor/x86_64-linux/lib/libtbb.so.2 +0 -0
  34. data/vendor/x86_64-linux/lib/libtbbmalloc.so.2 +0 -0
  35. data/vendor/x86_64-linux/lib/libtbbmalloc_proxy.so.2 +0 -0
  36. data/vendor/x86_64-linux/licenses/sundials-license.txt +25 -63
  37. data/vendor/x86_64-linux/licenses/sundials-notice.txt +21 -0
  38. metadata +10 -4
  39. data/stan/win/prophet.stan +0 -175
data/lib/prophet/plot.rb CHANGED
@@ -111,6 +111,61 @@ module Prophet
111
111
  artists
112
112
  end
113
113
 
114
+ def self.plot_cross_validation_metric(df_cv, metric:, rolling_window: 0.1, ax: nil, figsize: [10, 6], color: "b", point_color: "gray")
115
+ if ax.nil?
116
+ fig = plt.figure(facecolor: "w", figsize: figsize)
117
+ ax = fig.add_subplot(111)
118
+ else
119
+ fig = ax.get_figure
120
+ end
121
+ # Get the metric at the level of individual predictions, and with the rolling window.
122
+ df_none = Diagnostics.performance_metrics(df_cv, metrics: [metric], rolling_window: -1)
123
+ df_h = Diagnostics.performance_metrics(df_cv, metrics: [metric], rolling_window: rolling_window)
124
+
125
+ # Some work because matplotlib does not handle timedelta
126
+ # Target ~10 ticks.
127
+ tick_w = df_none["horizon"].max * 1e9 / 10.0
128
+ # Find the largest time resolution that has <1 unit per bin.
129
+ dts = ["D", "h", "m", "s", "ms", "us", "ns"]
130
+ dt_names = ["days", "hours", "minutes", "seconds", "milliseconds", "microseconds", "nanoseconds"]
131
+ dt_conversions = [
132
+ 24 * 60 * 60 * 10 ** 9,
133
+ 60 * 60 * 10 ** 9,
134
+ 60 * 10 ** 9,
135
+ 10 ** 9,
136
+ 10 ** 6,
137
+ 10 ** 3,
138
+ 1.0
139
+ ]
140
+ # TODO update
141
+ i = 0
142
+ # dts.each_with_index do |dt, i|
143
+ # if np.timedelta64(1, dt) < np.timedelta64(tick_w, "ns")
144
+ # break
145
+ # end
146
+ # end
147
+
148
+ x_plt = df_none["horizon"] * 1e9 / dt_conversions[i].to_f
149
+ x_plt_h = df_h["horizon"] * 1e9 / dt_conversions[i].to_f
150
+
151
+ ax.plot(x_plt.to_a, df_none[metric].to_a, ".", alpha: 0.1, c: point_color)
152
+ ax.plot(x_plt_h.to_a, df_h[metric].to_a, "-", c: color)
153
+ ax.grid(true)
154
+
155
+ ax.set_xlabel("Horizon (#{dt_names[i]})")
156
+ ax.set_ylabel(metric)
157
+ fig
158
+ end
159
+
160
+ def self.plt
161
+ begin
162
+ require "matplotlib/pyplot"
163
+ rescue LoadError
164
+ raise Error, "Install the matplotlib gem for plots"
165
+ end
166
+ Matplotlib::Pyplot
167
+ end
168
+
114
169
  private
115
170
 
116
171
  def plot_forecast_component(fcst, name, ax: nil, uncertainty: true, plot_cap: false, figsize: [10, 6])
@@ -263,12 +318,7 @@ module Prophet
263
318
  end
264
319
 
265
320
  def plt
266
- begin
267
- require "matplotlib/pyplot"
268
- rescue LoadError
269
- raise Error, "Install the matplotlib gem for plots"
270
- end
271
- Matplotlib::Pyplot
321
+ Plot.plt
272
322
  end
273
323
 
274
324
  def dates
@@ -13,6 +13,11 @@ module Prophet
13
13
 
14
14
  def fit(stan_init, stan_data, **kwargs)
15
15
  stan_init, stan_data = prepare_data(stan_init, stan_data)
16
+
17
+ if !kwargs[:inits] && kwargs[:init]
18
+ kwargs[:inits] = prepare_data(kwargs.delete(:init), stan_data)[0]
19
+ end
20
+
16
21
  kwargs[:algorithm] ||= stan_data["T"] < 100 ? "Newton" : "LBFGS"
17
22
  iterations = 10000
18
23
 
@@ -49,6 +54,10 @@ module Prophet
49
54
  def sampling(stan_init, stan_data, samples, **kwargs)
50
55
  stan_init, stan_data = prepare_data(stan_init, stan_data)
51
56
 
57
+ if !kwargs[:inits] && kwargs[:init]
58
+ kwargs[:inits] = prepare_data(kwargs.delete(:init), stan_data)[0]
59
+ end
60
+
52
61
  kwargs[:chains] ||= 4
53
62
  kwargs[:warmup_iters] ||= samples / 2
54
63
 
@@ -128,7 +137,7 @@ module Prophet
128
137
  stan_data["t_change"] = stan_data["t_change"].to_a
129
138
  stan_data["s_a"] = stan_data["s_a"].to_a
130
139
  stan_data["s_m"] = stan_data["s_m"].to_a
131
- stan_data["X"] = stan_data["X"].to_numo.to_a
140
+ stan_data["X"] = stan_data["X"].respond_to?(:to_numo) ? stan_data["X"].to_numo.to_a : stan_data["X"].to_a
132
141
  stan_init["delta"] = stan_init["delta"].to_a
133
142
  stan_init["beta"] = stan_init["beta"].to_a
134
143
  [stan_init, stan_data]
@@ -1,3 +1,3 @@
1
1
  module Prophet
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.1"
3
3
  end
data/lib/prophet.rb CHANGED
@@ -8,6 +8,7 @@ require "logger"
8
8
  require "set"
9
9
 
10
10
  # modules
11
+ require "prophet/diagnostics"
11
12
  require "prophet/holidays"
12
13
  require "prophet/plot"
13
14
  require "prophet/forecaster"
@@ -21,9 +22,12 @@ module Prophet
21
22
  Forecaster.new(**kwargs)
22
23
  end
23
24
 
24
- def self.forecast(series, count: 10)
25
+ def self.forecast(series, count: 10, country_holidays: nil, cap: nil, verbose: false, **options)
25
26
  raise ArgumentError, "Series must have at least 10 data points" if series.size < 10
26
27
 
28
+ # error early on unknown keywords
29
+ m = Prophet.new(**options)
30
+
27
31
  # check type to determine output format
28
32
  # check for before converting to time
29
33
  keys = series.keys
@@ -62,12 +66,14 @@ module Prophet
62
66
 
63
67
  # use series, not times, so dates are handled correctly
64
68
  df = Rover::DataFrame.new({"ds" => series.keys, "y" => series.values})
69
+ df["cap"] = cap if cap
65
70
 
66
- m = Prophet.new
67
- m.logger.level = ::Logger::FATAL # no logging
71
+ m.logger.level = ::Logger::FATAL unless verbose
72
+ m.add_country_holidays(country_holidays) if country_holidays
68
73
  m.fit(df)
69
74
 
70
75
  future = m.make_future_dataframe(periods: count, include_history: false, freq: freq)
76
+ future["cap"] = cap if cap
71
77
  forecast = m.predict(future)
72
78
  result = forecast[["ds", "yhat"]].to_a
73
79
 
@@ -84,13 +90,23 @@ module Prophet
84
90
  result.map { |v| [v["ds"], v["yhat"]] }.to_h
85
91
  end
86
92
 
87
- def self.anomalies(series)
88
- df = Rover::DataFrame.new(series.map { |k, v| {"ds" => k, "y" => v} })
89
- m = Prophet.new(interval_width: 0.99)
90
- m.logger.level = ::Logger::FATAL # no logging
93
+ # TODO better name for interval_width
94
+ # TODO DRY with forecast method
95
+ def self.anomalies(series, interval_width: 0.99, country_holidays: nil, cap: nil, verbose: false, **options)
96
+ df = Rover::DataFrame.new({"ds" => series.keys, "y" => series.values})
97
+ df["cap"] = cap if cap
98
+
99
+ m = Prophet.new(interval_width: interval_width, **options)
100
+ m.logger.level = ::Logger::FATAL unless verbose
101
+ m.add_country_holidays(country_holidays) if country_holidays
91
102
  m.fit(df)
103
+
92
104
  forecast = m.predict(df)
93
105
  # filter df["ds"] to ensure dates/times in same format as input
94
106
  df["ds"][(df["y"] < forecast["yhat_lower"]) | (df["y"] > forecast["yhat_upper"])].to_a
95
107
  end
108
+
109
+ def self.from_json(model_json)
110
+ Forecaster.from_json(model_json)
111
+ end
96
112
  end
@@ -101,8 +101,9 @@ data {
101
101
  }
102
102
 
103
103
  transformed data {
104
- matrix[T, S] A;
105
- A = get_changepoint_matrix(t, t_change, T, S);
104
+ matrix[T, S] A = get_changepoint_matrix(t, t_change, T, S);
105
+ matrix[T, K] X_sa = X .* rep_matrix(s_a', T);
106
+ matrix[T, K] X_sm = X .* rep_matrix(s_m', T);
106
107
  }
107
108
 
108
109
  parameters {
@@ -133,10 +134,10 @@ model {
133
134
  beta ~ normal(0, sigmas);
134
135
 
135
136
  // Likelihood
136
- y ~ normal(
137
- trend
138
- .* (1 + X * (beta .* s_m))
139
- + X * (beta .* s_a),
140
- sigma_obs
137
+ y ~ normal_id_glm(
138
+ X_sa,
139
+ trend .* (1 + X_sm * beta),
140
+ beta,
141
+ sigma_obs
141
142
  );
142
143
  }
Binary file
Binary file
@@ -1,67 +1,29 @@
1
- Copyright (c) 2002-2016, Lawrence Livermore National Security.
2
- Produced at the Lawrence Livermore National Laboratory.
3
- Written by A.C. Hindmarsh, D.R. Reynolds, R. Serban, C.S. Woodward,
4
- S.D. Cohen, A.G. Taylor, S. Peles, L.E. Banks, and D. Shumaker.
5
- LLNL-CODE-667205 (ARKODE)
6
- UCRL-CODE-155951 (CVODE)
7
- UCRL-CODE-155950 (CVODES)
8
- UCRL-CODE-155952 (IDA)
9
- UCRL-CODE-237203 (IDAS)
10
- LLNL-CODE-665877 (KINSOL)
11
- All rights reserved.
1
+ BSD 3-Clause License
12
2
 
13
- This file is part of SUNDIALS. For details,
14
- see http://computation.llnl.gov/projects/sundials
3
+ Copyright (c) 2002-2022, Lawrence Livermore National Security and Southern Methodist University.
4
+ All rights reserved.
15
5
 
16
6
  Redistribution and use in source and binary forms, with or without
17
- modification, are permitted provided that the following conditions
18
- are met:
19
-
20
- 1. Redistributions of source code must retain the above copyright
21
- notice, this list of conditions and the disclaimer below.
22
-
23
- 2. Redistributions in binary form must reproduce the above copyright
24
- notice, this list of conditions and the disclaimer (as noted below)
25
- in the documentation and/or other materials provided with the
26
- distribution.
27
-
28
- 3. Neither the name of the LLNS/LLNL nor the names of its contributors
29
- may be used to endorse or promote products derived from this software
30
- without specific prior written permission.
31
-
32
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
35
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
36
- LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF
37
- ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
39
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
40
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
41
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
42
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43
29
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44
-
45
- Additional BSD Notice
46
- ---------------------
47
- 1. This notice is required to be provided under our contract with
48
- the U.S. Department of Energy (DOE). This work was produced at
49
- Lawrence Livermore National Laboratory under Contract
50
- No. DE-AC52-07NA27344 with the DOE.
51
-
52
- 2. Neither the United States Government nor Lawrence Livermore
53
- National Security, LLC nor any of their employees, makes any warranty,
54
- express or implied, or assumes any liability or responsibility for the
55
- accuracy, completeness, or usefulness of any information, apparatus,
56
- product, or process disclosed, or represents that its use would not
57
- infringe privately-owned rights.
58
-
59
- 3. Also, reference herein to any specific commercial products, process,
60
- or services by trade name, trademark, manufacturer or otherwise does
61
- not necessarily constitute or imply its endorsement, recommendation,
62
- or favoring by the United States Government or Lawrence Livermore
63
- National Security, LLC. The views and opinions of authors expressed
64
- herein do not necessarily state or reflect those of the United States
65
- Government or Lawrence Livermore National Security, LLC, and shall
66
- not be used for advertising or product endorsement purposes.
67
-
@@ -0,0 +1,21 @@
1
+ This work was produced under the auspices of the U.S. Department of
2
+ Energy by Lawrence Livermore National Laboratory under Contract
3
+ DE-AC52-07NA27344.
4
+
5
+ This work was prepared as an account of work sponsored by an agency of
6
+ the United States Government. Neither the United States Government nor
7
+ Lawrence Livermore National Security, LLC, nor any of their employees
8
+ makes any warranty, expressed or implied, or assumes any legal liability
9
+ or responsibility for the accuracy, completeness, or usefulness of any
10
+ information, apparatus, product, or process disclosed, or represents that
11
+ its use would not infringe privately owned rights.
12
+
13
+ Reference herein to any specific commercial product, process, or service
14
+ by trade name, trademark, manufacturer, or otherwise does not necessarily
15
+ constitute or imply its endorsement, recommendation, or favoring by the
16
+ United States Government or Lawrence Livermore National Security, LLC.
17
+
18
+ The views and opinions of authors expressed herein do not necessarily
19
+ state or reflect those of the United States Government or Lawrence
20
+ Livermore National Security, LLC, and shall not be used for advertising
21
+ or product endorsement purposes.
Binary file
Binary file
@@ -1,67 +1,29 @@
1
- Copyright (c) 2002-2016, Lawrence Livermore National Security.
2
- Produced at the Lawrence Livermore National Laboratory.
3
- Written by A.C. Hindmarsh, D.R. Reynolds, R. Serban, C.S. Woodward,
4
- S.D. Cohen, A.G. Taylor, S. Peles, L.E. Banks, and D. Shumaker.
5
- LLNL-CODE-667205 (ARKODE)
6
- UCRL-CODE-155951 (CVODE)
7
- UCRL-CODE-155950 (CVODES)
8
- UCRL-CODE-155952 (IDA)
9
- UCRL-CODE-237203 (IDAS)
10
- LLNL-CODE-665877 (KINSOL)
11
- All rights reserved.
1
+ BSD 3-Clause License
12
2
 
13
- This file is part of SUNDIALS. For details,
14
- see http://computation.llnl.gov/projects/sundials
3
+ Copyright (c) 2002-2022, Lawrence Livermore National Security and Southern Methodist University.
4
+ All rights reserved.
15
5
 
16
6
  Redistribution and use in source and binary forms, with or without
17
- modification, are permitted provided that the following conditions
18
- are met:
19
-
20
- 1. Redistributions of source code must retain the above copyright
21
- notice, this list of conditions and the disclaimer below.
22
-
23
- 2. Redistributions in binary form must reproduce the above copyright
24
- notice, this list of conditions and the disclaimer (as noted below)
25
- in the documentation and/or other materials provided with the
26
- distribution.
27
-
28
- 3. Neither the name of the LLNS/LLNL nor the names of its contributors
29
- may be used to endorse or promote products derived from this software
30
- without specific prior written permission.
31
-
32
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
35
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
36
- LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF
37
- ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
39
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
40
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
41
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
42
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43
29
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44
-
45
- Additional BSD Notice
46
- ---------------------
47
- 1. This notice is required to be provided under our contract with
48
- the U.S. Department of Energy (DOE). This work was produced at
49
- Lawrence Livermore National Laboratory under Contract
50
- No. DE-AC52-07NA27344 with the DOE.
51
-
52
- 2. Neither the United States Government nor Lawrence Livermore
53
- National Security, LLC nor any of their employees, makes any warranty,
54
- express or implied, or assumes any liability or responsibility for the
55
- accuracy, completeness, or usefulness of any information, apparatus,
56
- product, or process disclosed, or represents that its use would not
57
- infringe privately-owned rights.
58
-
59
- 3. Also, reference herein to any specific commercial products, process,
60
- or services by trade name, trademark, manufacturer or otherwise does
61
- not necessarily constitute or imply its endorsement, recommendation,
62
- or favoring by the United States Government or Lawrence Livermore
63
- National Security, LLC. The views and opinions of authors expressed
64
- herein do not necessarily state or reflect those of the United States
65
- Government or Lawrence Livermore National Security, LLC, and shall
66
- not be used for advertising or product endorsement purposes.
67
-
@@ -0,0 +1,21 @@
1
+ This work was produced under the auspices of the U.S. Department of
2
+ Energy by Lawrence Livermore National Laboratory under Contract
3
+ DE-AC52-07NA27344.
4
+
5
+ This work was prepared as an account of work sponsored by an agency of
6
+ the United States Government. Neither the United States Government nor
7
+ Lawrence Livermore National Security, LLC, nor any of their employees
8
+ makes any warranty, expressed or implied, or assumes any legal liability
9
+ or responsibility for the accuracy, completeness, or usefulness of any
10
+ information, apparatus, product, or process disclosed, or represents that
11
+ its use would not infringe privately owned rights.
12
+
13
+ Reference herein to any specific commercial product, process, or service
14
+ by trade name, trademark, manufacturer, or otherwise does not necessarily
15
+ constitute or imply its endorsement, recommendation, or favoring by the
16
+ United States Government or Lawrence Livermore National Security, LLC.
17
+
18
+ The views and opinions of authors expressed herein do not necessarily
19
+ state or reflect those of the United States Government or Lawrence
20
+ Livermore National Security, LLC, and shall not be used for advertising
21
+ or product endorsement purposes.
Binary file
Binary file
@@ -1,67 +1,29 @@
1
- Copyright (c) 2002-2016, Lawrence Livermore National Security.
2
- Produced at the Lawrence Livermore National Laboratory.
3
- Written by A.C. Hindmarsh, D.R. Reynolds, R. Serban, C.S. Woodward,
4
- S.D. Cohen, A.G. Taylor, S. Peles, L.E. Banks, and D. Shumaker.
5
- LLNL-CODE-667205 (ARKODE)
6
- UCRL-CODE-155951 (CVODE)
7
- UCRL-CODE-155950 (CVODES)
8
- UCRL-CODE-155952 (IDA)
9
- UCRL-CODE-237203 (IDAS)
10
- LLNL-CODE-665877 (KINSOL)
11
- All rights reserved.
1
+ BSD 3-Clause License
12
2
 
13
- This file is part of SUNDIALS. For details,
14
- see http://computation.llnl.gov/projects/sundials
3
+ Copyright (c) 2002-2022, Lawrence Livermore National Security and Southern Methodist University.
4
+ All rights reserved.
15
5
 
16
6
  Redistribution and use in source and binary forms, with or without
17
- modification, are permitted provided that the following conditions
18
- are met:
19
-
20
- 1. Redistributions of source code must retain the above copyright
21
- notice, this list of conditions and the disclaimer below.
22
-
23
- 2. Redistributions in binary form must reproduce the above copyright
24
- notice, this list of conditions and the disclaimer (as noted below)
25
- in the documentation and/or other materials provided with the
26
- distribution.
27
-
28
- 3. Neither the name of the LLNS/LLNL nor the names of its contributors
29
- may be used to endorse or promote products derived from this software
30
- without specific prior written permission.
31
-
32
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
35
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
36
- LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF
37
- ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
39
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
40
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
41
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
42
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43
29
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44
-
45
- Additional BSD Notice
46
- ---------------------
47
- 1. This notice is required to be provided under our contract with
48
- the U.S. Department of Energy (DOE). This work was produced at
49
- Lawrence Livermore National Laboratory under Contract
50
- No. DE-AC52-07NA27344 with the DOE.
51
-
52
- 2. Neither the United States Government nor Lawrence Livermore
53
- National Security, LLC nor any of their employees, makes any warranty,
54
- express or implied, or assumes any liability or responsibility for the
55
- accuracy, completeness, or usefulness of any information, apparatus,
56
- product, or process disclosed, or represents that its use would not
57
- infringe privately-owned rights.
58
-
59
- 3. Also, reference herein to any specific commercial products, process,
60
- or services by trade name, trademark, manufacturer or otherwise does
61
- not necessarily constitute or imply its endorsement, recommendation,
62
- or favoring by the United States Government or Lawrence Livermore
63
- National Security, LLC. The views and opinions of authors expressed
64
- herein do not necessarily state or reflect those of the United States
65
- Government or Lawrence Livermore National Security, LLC, and shall
66
- not be used for advertising or product endorsement purposes.
67
-
@@ -0,0 +1,21 @@
1
+ This work was produced under the auspices of the U.S. Department of
2
+ Energy by Lawrence Livermore National Laboratory under Contract
3
+ DE-AC52-07NA27344.
4
+
5
+ This work was prepared as an account of work sponsored by an agency of
6
+ the United States Government. Neither the United States Government nor
7
+ Lawrence Livermore National Security, LLC, nor any of their employees
8
+ makes any warranty, expressed or implied, or assumes any legal liability
9
+ or responsibility for the accuracy, completeness, or usefulness of any
10
+ information, apparatus, product, or process disclosed, or represents that
11
+ its use would not infringe privately owned rights.
12
+
13
+ Reference herein to any specific commercial product, process, or service
14
+ by trade name, trademark, manufacturer, or otherwise does not necessarily
15
+ constitute or imply its endorsement, recommendation, or favoring by the
16
+ United States Government or Lawrence Livermore National Security, LLC.
17
+
18
+ The views and opinions of authors expressed herein do not necessarily
19
+ state or reflect those of the United States Government or Lawrence
20
+ Livermore National Security, LLC, and shall not be used for advertising
21
+ or product endorsement purposes.
Binary file
Binary file