Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
sharder.h File Reference
#include <cstdint>
#include <functional>
#include <type_traits>
#include <vector>
#include "Eigen/Core"
#include "Eigen/SparseCore"
#include "absl/log/check.h"
#include "ortools/base/threadpool.h"

Go to the source code of this file.

Classes

class  operations_research::pdlp::Sharder
 
class  operations_research::pdlp::Sharder::Shard
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::pdlp
 Validation utilities for solvers.proto.
 

Functions

Eigen::VectorXd operations_research::pdlp::TransposedMatrixVectorProduct (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &vector, const Sharder &sharder)
 
void operations_research::pdlp::SetZero (const Sharder &sharder, Eigen::VectorXd &dest)
 
VectorXd operations_research::pdlp::ZeroVector (const Sharder &sharder)
 Like VectorXd::Zero(sharder.NumElements()).
 
VectorXd operations_research::pdlp::OnesVector (const Sharder &sharder)
 Like VectorXd::Ones(sharder.NumElements()).
 
void operations_research::pdlp::AddScaledVector (double scale, const Eigen::VectorXd &increment, const Sharder &sharder, Eigen::VectorXd &dest)
 Like dest += scale * increment.
 
void operations_research::pdlp::AssignVector (const Eigen::VectorXd &vec, const Sharder &sharder, Eigen::VectorXd &dest)
 Like dest = vec. dest is resized if needed.
 
Eigen::VectorXd operations_research::pdlp::CloneVector (const Eigen::VectorXd &vec, const Sharder &sharder)
 Returns a copy of vec.
 
void operations_research::pdlp::CoefficientWiseProductInPlace (const Eigen::VectorXd &scale, const Sharder &sharder, Eigen::VectorXd &dest)
 Like dest = dest.cwiseProduct(scale).
 
void operations_research::pdlp::CoefficientWiseQuotientInPlace (const Eigen::VectorXd &scale, const Sharder &sharder, Eigen::VectorXd &dest)
 Like dest = dest.cwiseQuotient(scale).
 
double operations_research::pdlp::Dot (const Eigen::VectorXd &v1, const Eigen::VectorXd &v2, const Sharder &sharder)
 Like v1.dot(v2).
 
double operations_research::pdlp::LInfNorm (const Eigen::VectorXd &vector, const Sharder &sharder)
 Like vector.lpNorm<Eigen::Infinity>(), a.k.a. LInf norm.
 
double operations_research::pdlp::L1Norm (const Eigen::VectorXd &vector, const Sharder &sharder)
 Like vector.lpNorm<1>(), a.k.a. L_1 norm.
 
double operations_research::pdlp::SquaredNorm (const Eigen::VectorXd &vector, const Sharder &sharder)
 Like vector.squaredNorm().
 
double operations_research::pdlp::Norm (const Eigen::VectorXd &vector, const Sharder &sharder)
 Like vector.norm().
 
double operations_research::pdlp::SquaredDistance (const Eigen::VectorXd &vector1, const Eigen::VectorXd &vector2, const Sharder &sharder)
 Like (vector1 - vector2).squaredNorm().
 
double operations_research::pdlp::Distance (const Eigen::VectorXd &vector1, const Eigen::VectorXd &vector2, const Sharder &sharder)
 Like (vector1 - vector2).norm().
 
double operations_research::pdlp::ScaledLInfNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 ScaledL1Norm is omitted because it's not needed (yet).
 
double operations_research::pdlp::ScaledSquaredNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 
double operations_research::pdlp::ScaledNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 L2 norm of a rescaled vector, i.e., vector.cwiseProduct(scale).norm().
 
Eigen::VectorXd operations_research::pdlp::ScaledColLInfNorm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &col_scaling_vec, const Sharder &sharder)
 Computes the LInf norm of each column of a scaled matrix.
 
Eigen::VectorXd operations_research::pdlp::ScaledColL2Norm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &col_scaling_vec, const Sharder &sharder)
 Computes the L2 norm of each column of a scaled matrix.