// To compile this code: // c++ plotMatrixCalcs.c -o plotMatrix // or with root libraries: // g++ plotMatrixEigen.c $(root-config --cflags --glibs) -o plotMatrix // To run the executable: // ./plotMatrix int dimension = 100; // Matrix dimension double R = 18.; // m double a = 3.; // m double PI = 3.1415926; double mu0 = 4*PI*1.e-7; // N/A/A int nLoops = 10; // Number of current loops #include #include #include #include #include // Full path here helps to compile. //#include #include Eigen::MatrixXd GetM() { Eigen::MatrixXd M(dimension, dimension); for (int i=0; iSetTitle("U = M^{-1} B, B = 1.0, 0 < i < 100, 0 < j < 100"); gMatrix->GetXaxis()->SetTitle("index i"); gMatrix->GetYaxis()->SetTitle("U ( i ), unnormalized"); gMatrix->SetLineWidth(2); gMatrix->GetXaxis()->SetLabelSize(0.045); gMatrix->GetYaxis()->SetLabelSize(0.045); gMatrix->GetXaxis()->SetTitleSize(0.05); gMatrix->GetYaxis()->SetTitleSize(0.05); gMatrix->Draw("alp"); } */ int main() { printf("hello world\n"); // Eigen::VectorXd U = GetU(); Eigen::MatrixXd M = GetM(); // Eigen::MatrixXd B = M*U; // PlotHisto(B); Eigen::VectorXd B = GetB(); Eigen::MatrixXd U = ((M).inverse())*B; // PlotHisto(U); return 0; }