prophet-rb 0.3.2 → 0.4.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/LICENSE.txt +1 -1
- data/README.md +158 -6
- data/data-raw/LICENSE-holidays.txt +20 -0
- data/data-raw/README.md +3 -0
- data/data-raw/generated_holidays.csv +29302 -61443
- data/lib/prophet/diagnostics.rb +349 -0
- data/lib/prophet/forecaster.rb +219 -15
- data/lib/prophet/holidays.rb +5 -2
- data/lib/prophet/plot.rb +60 -10
- data/lib/prophet/stan_backend.rb +10 -1
- data/lib/prophet/version.rb +1 -1
- data/lib/prophet.rb +5 -0
- data/stan/{unix/prophet.stan → prophet.stan} +8 -7
- data/vendor/aarch64-linux/bin/prophet +0 -0
- data/vendor/aarch64-linux/lib/libtbb.so.2 +0 -0
- data/vendor/aarch64-linux/lib/libtbbmalloc.so.2 +0 -0
- data/vendor/aarch64-linux/lib/libtbbmalloc_proxy.so.2 +0 -0
- data/vendor/aarch64-linux/licenses/sundials-license.txt +25 -63
- data/vendor/aarch64-linux/licenses/sundials-notice.txt +21 -0
- data/vendor/arm64-darwin/bin/prophet +0 -0
- data/vendor/arm64-darwin/lib/libtbb.dylib +0 -0
- data/vendor/arm64-darwin/lib/libtbbmalloc.dylib +0 -0
- data/vendor/arm64-darwin/licenses/sundials-license.txt +25 -63
- data/vendor/arm64-darwin/licenses/sundials-notice.txt +21 -0
- data/vendor/x86_64-darwin/bin/prophet +0 -0
- data/vendor/x86_64-darwin/lib/libtbb.dylib +0 -0
- data/vendor/x86_64-darwin/lib/libtbbmalloc.dylib +0 -0
- data/vendor/x86_64-darwin/licenses/sundials-license.txt +25 -63
- data/vendor/x86_64-darwin/licenses/sundials-notice.txt +21 -0
- data/vendor/x86_64-linux/bin/prophet +0 -0
- data/vendor/x86_64-linux/lib/libtbb.so.2 +0 -0
- data/vendor/x86_64-linux/lib/libtbbmalloc.so.2 +0 -0
- data/vendor/x86_64-linux/lib/libtbbmalloc_proxy.so.2 +0 -0
- data/vendor/x86_64-linux/licenses/sundials-license.txt +25 -63
- data/vendor/x86_64-linux/licenses/sundials-notice.txt +21 -0
- metadata +10 -4
- 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])
         | 
| @@ -128,7 +183,7 @@ module Prophet | |
| 128 183 | 
             
                    ax.plot(fcst_t, fcst["floor"].to_a, ls: "--", c: "k")
         | 
| 129 184 | 
             
                  end
         | 
| 130 185 | 
             
                  if uncertainty && @uncertainty_samples
         | 
| 131 | 
            -
                    artists += [ax.fill_between(fcst_t, fcst[name | 
| 186 | 
            +
                    artists += [ax.fill_between(fcst_t, fcst["#{name}_lower"].to_a, fcst["#{name}_upper"].to_a, color: "#0072B2", alpha: 0.2)]
         | 
| 132 187 | 
             
                  end
         | 
| 133 188 | 
             
                  # Specify formatting to workaround matplotlib issue #12925
         | 
| 134 189 | 
             
                  locator = dates.AutoDateLocator.new(interval_multiples: false)
         | 
| @@ -174,7 +229,7 @@ module Prophet | |
| 174 229 | 
             
                  days = days.map { |v| v.strftime("%A") }
         | 
| 175 230 | 
             
                  artists += ax.plot(days.size.times.to_a, seas[name].to_a, ls: "-", c: "#0072B2")
         | 
| 176 231 | 
             
                  if uncertainty && @uncertainty_samples
         | 
| 177 | 
            -
                    artists += [ax.fill_between(days.size.times.to_a, seas[name | 
| 232 | 
            +
                    artists += [ax.fill_between(days.size.times.to_a, seas["#{name}_lower"].to_a, seas["#{name}_upper"].to_a, color: "#0072B2", alpha: 0.2)]
         | 
| 178 233 | 
             
                  end
         | 
| 179 234 | 
             
                  ax.grid(true, which: "major", c: "gray", ls: "-", lw: 1, alpha: 0.2)
         | 
| 180 235 | 
             
                  ax.set_xticks(days.size.times.to_a)
         | 
| @@ -200,7 +255,7 @@ module Prophet | |
| 200 255 | 
             
                  seas = predict_seasonal_components(df_y)
         | 
| 201 256 | 
             
                  artists += ax.plot(to_pydatetime(df_y["ds"]), seas[name].to_a, ls: "-", c: "#0072B2")
         | 
| 202 257 | 
             
                  if uncertainty && @uncertainty_samples
         | 
| 203 | 
            -
                    artists += [ax.fill_between(to_pydatetime(df_y["ds"]), seas[name | 
| 258 | 
            +
                    artists += [ax.fill_between(to_pydatetime(df_y["ds"]), seas["#{name}_lower"].to_a, seas["#{name}_upper"].to_a, color: "#0072B2", alpha: 0.2)]
         | 
| 204 259 | 
             
                  end
         | 
| 205 260 | 
             
                  ax.grid(true, which: "major", c: "gray", ls: "-", lw: 1, alpha: 0.2)
         | 
| 206 261 | 
             
                  months = dates.MonthLocator.new((1..12).to_a, bymonthday: 1, interval: 2)
         | 
| @@ -233,7 +288,7 @@ module Prophet | |
| 233 288 | 
             
                  seas = predict_seasonal_components(df_y)
         | 
| 234 289 | 
             
                  artists += ax.plot(to_pydatetime(df_y["ds"]), seas[name].to_a, ls: "-", c: "#0072B2")
         | 
| 235 290 | 
             
                  if uncertainty && @uncertainty_samples
         | 
| 236 | 
            -
                    artists += [ax.fill_between(to_pydatetime(df_y["ds"]), seas[name | 
| 291 | 
            +
                    artists += [ax.fill_between(to_pydatetime(df_y["ds"]), seas["#{name}_lower"].to_a, seas["#{name}_upper"].to_a, color: "#0072B2", alpha: 0.2)]
         | 
| 237 292 | 
             
                  end
         | 
| 238 293 | 
             
                  ax.grid(true, which: "major", c: "gray", ls: "-", lw: 1, alpha: 0.2)
         | 
| 239 294 | 
             
                  step = (finish - start) / (7 - 1).to_f
         | 
| @@ -263,12 +318,7 @@ module Prophet | |
| 263 318 | 
             
                end
         | 
| 264 319 |  | 
| 265 320 | 
             
                def plt
         | 
| 266 | 
            -
                   | 
| 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
         | 
    
        data/lib/prophet/stan_backend.rb
    CHANGED
    
    | @@ -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]
         | 
    
        data/lib/prophet/version.rb
    CHANGED
    
    
    
        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"
         | 
| @@ -104,4 +105,8 @@ module Prophet | |
| 104 105 | 
             
                # filter df["ds"] to ensure dates/times in same format as input
         | 
| 105 106 | 
             
                df["ds"][(df["y"] < forecast["yhat_lower"]) | (df["y"] > forecast["yhat_upper"])].to_a
         | 
| 106 107 | 
             
              end
         | 
| 108 | 
            +
             | 
| 109 | 
            +
              def self.from_json(model_json)
         | 
| 110 | 
            +
                Forecaster.from_json(model_json)
         | 
| 111 | 
            +
              end
         | 
| 107 112 | 
             
            end
         | 
| @@ -101,8 +101,9 @@ data { | |
| 101 101 | 
             
            }
         | 
| 102 102 |  | 
| 103 103 | 
             
            transformed data {
         | 
| 104 | 
            -
              matrix[T, S] A;
         | 
| 105 | 
            -
               | 
| 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 ~  | 
| 137 | 
            -
             | 
| 138 | 
            -
             | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 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 | 
| Binary file | 
| Binary file | 
| @@ -1,67 +1,29 @@ | |
| 1 | 
            -
             | 
| 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 | 
            -
             | 
| 14 | 
            -
             | 
| 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 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 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 | 
| Binary file | 
| @@ -1,67 +1,29 @@ | |
| 1 | 
            -
             | 
| 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 | 
            -
             | 
| 14 | 
            -
             | 
| 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 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 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 | 
| Binary file | 
| @@ -1,67 +1,29 @@ | |
| 1 | 
            -
             | 
| 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 | 
            -
             | 
| 14 | 
            -
             | 
| 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 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 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 | 
| Binary file | 
| Binary file |