MCPcopy Create free account
hub / github.com/catboost/catboost / SolveLower

Function SolveLower

library/cpp/linear_regression/linear_regression.cpp:255–276  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

253 }
254
255 TVector<double> SolveLower(const TVector<TVector<double>>& decompositionMatrix,
256 const TVector<double>& decompositionTrace,
257 const TVector<double>& olsVector) {
258 const size_t featuresCount = olsVector.size();
259
260 TVector<double> solution(featuresCount);
261 for (size_t featureNumber = 0; featureNumber < featuresCount; ++featureNumber) {
262 double& solutionElement = solution[featureNumber];
263 solutionElement = olsVector[featureNumber];
264
265 const TVector<double>& decompositionRow = decompositionMatrix[featureNumber];
266 for (size_t i = 0; i < featureNumber; ++i) {
267 solutionElement -= solution[i] * decompositionRow[i];
268 }
269 }
270
271 for (size_t featureNumber = 0; featureNumber < featuresCount; ++featureNumber) {
272 solution[featureNumber] /= decompositionTrace[featureNumber];
273 }
274
275 return solution;
276 }
277
278 TVector<double> SolveUpper(const TVector<TVector<double>>& decompositionMatrix,
279 const TVector<double>& lowerSolution) {

Callers 1

SolveFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected