prophet-rb 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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