Introduction to IBEX. Jordan Ninin LAB-STICC / ENSTA-Bretagne Brest, France
|
|
- Tabitha Poole
- 6 years ago
- Views:
Transcription
1 Introduction to IBEX Jordan Ninin LAB-STICC / ENSTA-Bretagne Brest, France Jan, 2014 Jordan Ninin IBEX Jan, / 51
2 First Use Progamming Langage: C++ using your favorite editor (Eclipse, QtCreator, Gedit, vi,...) Minimal integration: #include ibex.h using namespase ibex; First Program: #include ibex.h using namespace std; using namespace ibex; int main(int argc, char argv) { // write your own code here } Jordan Ninin IBEX Jan, / 51
3 Architecture 1 Arithmetic: Interval, IntervalVector,... 2 Symbolic: Function, Variable, 3 Modelisation: NumConstraint, System, SystemFactory, 4 Contractor: CtcFwdBwd, CtcUnion, CtcCompo,... 5 Strategy: DefaultSolver, DefaultOptimizer,... * Tools: Bsc, LinearSolver, CellBuffer,... Jordan Ninin IBEX Jan, / 51
4 Outline 1 Arithmetic Interval IntervalVector IntervalMatrix 2 Symbolic Function, Variable Evaluation 3 Modelisation NumConstraint System 4 Contractor Contractor Algebra Advanced Contractors 5 Tools 6 Strategy Jordan Ninin IBEX Jan, / 51
5 Interval Interval Fundamental rules IBEX is entire based over the type Interval. Each usual arithmetic function are extended to the intervals. Each real number are represented by an interval of 2 floating-point numbers which enclose it. Each operator of the interval arithmetic are computed to respect the inclusion property over the floating-point number. Jordan Ninin IBEX Jan, / 51
6 Interval Basic Constructors and Operators Interval x(1,2); // create the interval [1,2] Interval y(3); // create the interval [3,3] Interval y1; // create the interval [ oo,oo] Interval y2=interval::all_reals; // y2 =[ oo,oo] Interval y3=interval::empty_set; // create the empty interval Interval y4=interval::pi; // y4=[ , Succ( )] Interval z1 = x+y; Interval z2 = x + Interval(5,6) + 4; Interval z3 = z1 + exp(x) acos(y) +log(x z2); Interval z4 = z1 & z2 // z4 = the intersection of z1 and z2 Interval z5 = z1 z2 // z5 = the hull of the union of z1 and z2 Jordan Ninin IBEX Jan, / 51
7 Interval Addition Methods x.lb() x = inf([x]), x.contains(d) True iff d [x], x.ub() x = sup([x]), x.is subset(y) True iff [x] [y], x.mid() the middle of [x], x.is disjoint(y) True iff [x] [y] =, x.rad() the radius of [x], x.is empty() True iff [x] ==, x.diam() the diameter of [x], x.mag() max( x, x ),... ==,!=, +=, -=, *=, /=, &=, =, x.is unbounded(), x.is strict subset(y), x.is bisectable(), x.inflate(d),... Jordan Ninin IBEX Jan, / 51
8 IntervalVector IntervalVector Definie a vector of Interval. // create the interval vector ([ oo,oo],[ oo,oo]) IntervalVector x1(2); // create the intervalvector ([1,3],[1,3]) IntervalVector x2(2,interval(1,3)); //create the interval vector ([0,1],[2,3],[4,5]) double x[3][2]={{0,1},{2,3},{4,5}}; IntervalVector x3(3,x); //create the interval vector ([3.6,3.6],[3.6,3.6],[3.6,3.6],[3.6,3.6]) Vector yy(4,3.6); IntervalVector y(yy); // modify the first element of y y[0] = x3[2] + x2[1]; Jordan Ninin IBEX Jan, / 51
9 IntervalVector IntervalVector x2.init(interval(2,3)); x3.perimeter(); x3.volume(); x3.max_diam(); x3.size(); x1.set_empty(); x2.resize(4); IntervalVector x5= x3.subvector(start,end); Other basic operators are available like in Interval: x.lb(), x.ub(), x.mid(), x.diam(), x.rad(), ==,!=, +=, -=, *=, /=, &=, =, x.is unbounded(), x.is strict subset(y), x.is bisectable(), x.inflate(d),... Jordan Ninin IBEX Jan, / 51
10 IntervalMatrix IntervalMatrix Since we cannot build 3-dimensional arrays in C++, all the bounds must be set in a single n*2 array representing the matrix row by row double _M[9][2]={{0,1},{0,1},{0,1}, {0,2},{0,2},{0,2}, {0,3},{0,3},{0,3}}; IntervalMatrix M(3,3,_M); / create M = (([0,1] [0,1] [0,1]) ; ([0,2] [0,2] [0,2]) ; ([0,3] [0,3] [0,3]) ) / Jordan Ninin IBEX Jan, / 51
11 IntervalMatrix Operator between IntervalVector and IntervalMatrix double _x[3][2]={{0,1},{2,3},{4,5}}; IntervalVector x(3,_x); IntervalMatrix M(3,3); M=Matrix::eye(3)+Interval( 1,1) Matrix::ones(3); IntervalVector y=m x; // matrix vector multiplication IntervalMatrix N=M.transpose(); // N is MˆT Jordan Ninin IBEX Jan, / 51
12 Symbolic Type Variable Variable x ; // create a scalar variable Variable v(3); // create a vector variable of size 3 Variable m(4,4); // create a Matrix 4x4 symbolic variable Function Variable x(2), y; Function f(x, x[0] pow(x[2],2) exp(x[0] x[2]); Function h(x,y, x[1] (x[0]+y)); Warning! the maximal number of variable is limited to 6: Solution: compress all the variables in a single vector variable. Jordan Ninin IBEX Jan, / 51
13 Function, Variable Example: f(x) = x 0 x 2 1 exp(x 0x 1 ) exp x 0 x 2 x 1 x 0 x 1 a Function is the expression tree of a mathematical equation, a Variable is a leaf of the expression tree. Jordan Ninin IBEX Jan, / 51
14 Function, Variable Create a Function Vector-valued/Matrix-valued function: Return Variable x,y; Function f(x,y, Return(x y, x y)); Function g(x,y, Return(Return(exp(x),sqrt(y)), Return(x y,log(x) ) ); Using the Minibex syntax function f(x) return ((2 x, x); ( x,3 x)); end Function f( myfunction.txt ); Listing 1: myfunction.txt Jordan Ninin IBEX Jan, / 51
15 Function, Variable Other Composing Function / create the distance function with 2 arguments / Variable a(2), b(2); Function dist(a,b,sqrt(sqr(a[0] b[0])+sqr(a[1] b[1]))); / create the constant vector pt=(1,2) / Vector pt(2); pt[0]=1; pt[1]=2; / create the function x >dist(x,pt). / Variable x(2); Function f(x,dist(x,pt)); Symbolic Differentiation: Function::DIFF Function gf(f, Function::DIFF); = Create the expression tree of the gradient of the function f. Jordan Ninin IBEX Jan, / 51
16 Evaluation Interval Evaluation The interval evaluation of f is an enclosure of the image of the given input interval vector [x] by f: {f(x),x [x]} f([x]) The input of a Evaluation is an IntervalVector in any case (no matter the dimension of the variable). The order of the input IntervalVector is the same order as the one of the variable at the creation of the function. The type of the output depends of the evaluator: IntervalVector x(5,interval( 1,1)); Interval y = f.eval(x); IntervalVector yv= g.eval_vector(x); IntervalMatrix ym= h.eval_matrix(x); Jordan Ninin IBEX Jan, / 51
17 Evaluation Example: x [1,2] [1,3], f(x) = x 0 x1 2 exp(x 0x 1 ) [ , ] [ , ] [1, 18] exp [2.718, ] [1,2] x 0 x 2 [1,9] [1,6] [1,3] x 1 x 0 x 1 [1,3] [1,2] Jordan Ninin IBEX Jan, / 51
18 Evaluation Gradient/Jacobian evaluation The interval evaluation of f is an enclosure of the image of the gradient/jacobian of f over an interval vector [x]: { f(x),x [x]} f([x]) The type of the output depends of the evaluator: IntervalVector x(5,interval( 1,1)); IntervalVector yv= f.gradient(x); IntervalMatrix ym= g.jacobian(x); Jordan Ninin IBEX Jan, / 51
19 Evaluation Example: x [1,2] [1,3], f(x) = x 0 x 2 1 exp(x 0x 1 ), f ( [ ,6.282] [ , 9.282] [ , 6.282] [ , ] [ , 9.282] [2.718, ] [2.718, ] [1,9] [1, 18] exp [2.718, ] [2, 12] [0,0] [2,6] [1,1] x 0 x 2 [1,2] [1,2] [1,9] [1,6] [0,0] [1,3] [0,0][1,3] x 1 x 0 x 1 [1,3][0,0] [1,1] [1,1] [1,1] [1,2] [0,0] Jordan Ninin IBEX Jan, / 51 )
20 Evaluation Backward evaluation The backward evaluation is the reverse process of an evaluation. Given two intervals [y] and [x], it compute an interval [z]: [z] = [x] {z,f(z) [y]} or [z] = [x] f 1 ([y]) This algorithm does not return a new interval [z] but contract the input interval [x] which is therefore an input-output argument. Variable x1, x2; Function f(x1,x2,sin(x1+x2)); double _box[2][2]={{1,2},{3,4}}; IntervalVector box(2,_box); f.backward( 1.0,box); / box = ([1, ] ; [3, ]) / Jordan Ninin IBEX Jan, / 51
21 Evaluation Example: Let f(x) = x 0 x 2 1 exp(x 0 +x 1 ) f.backward(-100, ([1,2],[2,6])) [ , [ 100, 100] ] [4, 72] exp [104, [ , 172] ] [1,2] x 0 x 2 [4,36] + [4.6443, [3, 8] ] [2.6443, ] [2,6] x 1 x 0 x 1 [2.6443, [2,6] ] [1,2] After the backward, box = [1,2] [2.6443,4.1474] Jordan Ninin IBEX Jan, / 51
22 Evaluation Exercice: If I have an scalar variable, an Vector variable and an Matrix variable, how can I arrange this in a single IntervalVector to compute a evaluation? = Use the backward algorithm to insert in an IntervalVector and the eval algorithm to extract from it!!! Jordan Ninin IBEX Jan, / 51
23 Evaluation Variable x, v(6), m(5,5); Function proj_x(x,v,m, x); Function proj_v(x,v,m, v); Function proj_m(x,v,m, m); Function f(x,v,m, transpose(v) m v x); Interval xi(3,5); IntervalVector vi(6,interval(0,1)); IntervalMatrix mi(5,5,interval( 1,3)); IntervalVector box( ); proj_x.backward(xi,box); // insert xi in the right position of x in box proj_v.backward(vi,box); // insert vi in the right position of v in box proj_m.backward(mi,box); // insert mi in the right position of m in box Interval res=f.eval(box) Jordan Ninin IBEX Jan, / 51
24 NumConstraint NumConstraint a NumConstraint is a mathematical constraint: f(x) 0, g(x) = 0,... It composes by a function and a comparison sign. The possible signs are: LT (<), LEQ ( ), EQ (=), GEQ ( ), GT (>). Like in Function, the number of variable is limited to 6. Variable x;variable x; NumConstraint c(x,sin(x)=0.5); // the constraint sin(x)=0.5 Function f(x,x+1); NumConstraint c(f,leq); // the constraint x+1<=0 Jordan Ninin IBEX Jan, / 51
25 System System A System in IBEX is a set of constraints with, optionnaly, a goal function to minimize and an initial domain for variables. a System can be created with a file (in MinIbex language) or with a SystemFactory. Variables x1 in [0,1]; x2, x3; Minimize 5 x1 x3ˆ4 (10 x2ˆ2) Constraints 2 x1 + 2 x2 + log(x3) <= 10; end System sys( mysystem.txt ); Jordan Ninin IBEX Jan, / 51
26 System SystemFactory Simplify the construction of System. Warning! each NumConstraint must have the same number of variables. The order of each variable must be respected. Variable x, y; NumConstraint c(x,y, x sqrt(y) >= 0); SystemFactory fac; fac.add_var(x); // add a variable to the system fac.add_var(y); // add a variable to the system fac.add_goal(x+y);// add a objective function fac.add_ctr(c); // add a constraint System sys(fac); Jordan Ninin IBEX Jan, / 51
27 Contractor Programming The key idea behind contractor programming is to abstract the algorithm from the underlying constraint and to view it as function Ctc : Advantage Ctc : IR n IR n such that C([x]) [x] Standardize the interface between algorithms, Simplify Interfaces, Combination, Composition,... Propose building blocks to create high-level algorithm. Jordan Ninin IBEX Jan, / 51
28 Forward-Backward The standard way to contract with respect to a constraint is by using the forward-bacwkard algorithm. Variable x,y,z; NumConstraint c(x,y,z,x+y=z); CtcFwdBwd ctc1(c); Function f(x,y,z, x+y z); CtcFwdBwd ctc2(f); // create the contractor with the constraint f=0 Jordan Ninin IBEX Jan, / 51
29 Forward-Backward This contractor reduces the input box to an enclosure of the domain which respect the constraint, using the method contract. Variable x,y; double = 0.5 sqrt(2); Function f(x,y,return(sqrt(sqr(x)+sqr(y)) d, sqrt(sqr(x 1.0)+sqr(y 1.0)) d); IntervalVector box(2,interval( 10,10)); CtcFwdBwd c(f); c.contract(box); // now box= ([0.2929, ] ; [0.2929, ]) The behavior is the same as: f.backward(0,box); Jordan Ninin IBEX Jan, / 51
30 Fixpoint The fixpoint operator applies a contractor Ctc iteratively, while the gain is more than the given ratio: fixpoint(ctc) : [x] Ctc(...Ctc(Ctc([x]))...), CtcFwdBwd ctc(f); CtcFixPoint ctcfix(ctc,1.e 3); ctcfix.contract(box); Jordan Ninin IBEX Jan, / 51
31 CtcFwdBwd composed with a CtcFixPoint Let c(x) = x 0 x1 2 exp(x 0 +x 1 ) = 100 where [x] [1,2] [2,6]. [ , [ 100, 100] ] [7.12, [6.99, [4, 72] 30.4] 34.4] exp [ , [104, [106.99, 172] 134.4] ] [1,2] x 0 x 2 [7.12, [4,36] [6.99,17.2] 15.2] + [3, [4.6443, [4.67, 8] 4.9] ] [2.6443, [2.67, ] [2,6] 3.9] x 1 x 0 x 1 [2.67, [2.6443, [2,6] 3.9] ] [1,2] C([1,2] [2,6]) [1,2] [ ,3.8667] Jordan Ninin IBEX Jan, / 51
32 Contractor Algebra Union, Composition The interest of the contractor programming is to compose, to intersect, to make the union of contractor: union(c 1,...,C n ) : [x] C 1 ([x])... C n ([x]). inter(c 1,...,C n ) : [x] C 1 ([x])... C n ([x]). compo(c 1,...,C n ) : [x] C n (...C 2 (C 1 ([x])...). The Union corresponds to a logical OR between the NumConstraint of the contractor. The composition is more efficient than the intersection, that is why the composition is always preferred. CtcUnion c_union(c1,c2); CtcCompo c_compo1(c1,c2); Array<Ctc> array(c1,c2,c_union); CtcCompo c_compo2(array); Jordan Ninin IBEX Jan, / 51
33 Advanced Contractors Interval Newton This contractor find a zero of a vector-valued function. It is very efficient if the box contains only one solution. If the box is contracted, it is a mathematical proof that the box contain a solution. Variable x,y; double d = 0.5 sqrt(2); Function f(x,y,return(sqrt(sqr(x)+sqr(y)) d, sqrt(sqr(x 1.0)+sqr(y 1.0)) d); IntervalVector box(2,interval(0.2,0.4)); CtcNewton c(f); c.contract(box); Jordan Ninin IBEX Jan, / 51
34 Advanced Contractors Propagation, Linear Relaxation CtcPropa: The propagation operator calculates the fixpoint of (the composition of) n contractors by using a more sophisticated ( incremental ) strategy than a simple loop. it can be defined as follows: propagation(c 1,...,C n ) := fixpoint(compo(c 1,...,C n )). Array<Ctc> array(c0,c1,c2,c3); CtcPropag(array); CtcPolytopeHull: This contractor computes the convex hull of a System using Linear Relaxation Technique (XTaylor, Affine Arithmetic, Composition). CtcPolytopeHull( new LinearRelaxCombo(sys)); Jordan Ninin IBEX Jan, / 51
35 Advanced Contractors Ctc3BCid, CtcAcid Other improvement of the propagation algorithm, such as: Ctc3BCid(ctc), CtcAcid(sys,ctc): B B 3 B 4 2 B 1 x C([x]) B 1 B 2 B 3 B 4 Jordan Ninin IBEX Jan, / 51
36 Advanced Contractors Q-Intersection The Q-Intersection contract the box, by calculating the union of the boxes resulting from the contraction with all combinations of q contractors among n. q inter(c 1,...,C n,q) := union(...,inter(c i1,...,c iq ),...) This contractor is typically used where we have a set of contractors that result from measurements (each measurement enforces a constraint), some of which can be incorrect. CtcQInter(const Array<Ctc>& list, int q); Jordan Ninin IBEX Jan, / 51
37 Advanced Contractors Your own Contractor To create a contractor, you just have to declare a class that extends Ctc and create: a constructor that calls the constructor of Ctc. The later need the size of the input box. a method: void contract(intervalvector& box) #include ibex.h namespace ibex{ class MyContractor : public Ctc { public: MyContractor(int n) : Ctc(n) { } // Constructor void contract(intervalvector& box) { // Contractor box=box.mid()+0.5 Interval( 1,1) box.rad(); } }; } Jordan Ninin IBEX Jan, / 51
38 Advanced Contractors Other Contractors CtcEmpty(int n): Return the empty box. CtcIdentity(int n): Return the box without modifying. CtcInteger(int nb var, const BoolMask& is int): Contract the box to integer set (according to the mask). CtcInverse(Ctc& c, Function& f): Make a evaluation, then contract the result using c and insert the contraction in the original box using backward algorithm. Interval res= f.eval(box); c.contract(res); f.backward(res,box); CtcNotIn(Function& f, const Interval& y): Contract according the constraint f(x) y. CtcPrecision(int nb var, double ceil): Empty the box if its diameter is smaller than ceil. Jordan Ninin IBEX Jan, / 51
39 Advanced Contractors How to interact two Modelizations of one problem? C 0 ([x] [y]) C 1 ([x]) Model 1 C 11 ([x]): Linear Relaxation C 12 ([x]): Local minimization C 3 ([x],[y]) C 2 ([y]) Link between Model 1 and Model 2 Interaction between [x] and [y] Model 2 C 21 ([y]): Forward-Backward C 22 ([y]): Fixed point over C 21 C 23 ([y]): Local minimization C 0 ([x] [y]) = C 3 ( (C11 C 12 )([x]), (C 21 C 23 )([y]) ) Jordan Ninin IBEX Jan, / 51
40 Advanced Contractors Construct a Contractor depending of a problem C 0 ([x]) C 2 ([x]) = C 1 ([x]) Fixed Point of C 1 ([x]) Forward-Backward of the non-convex part C 3 ([x]) Linear Relaxation of the entire problem except the black-box constraint C 4 ([x]) If condition then Compute the black-box constraint Jordan Ninin IBEX Jan, / 51
41 Tools Bisector: Bsc object to bisect an IntervalVector following a strategy. LargestFirst bsc; pair<intervalvector,intervalvector> res=bsc.bisect(box); Storage: CellBuffer CellHeap stock; stock.push(box); IntervalVector res=stock.pop(); LinearSolver: Interface with a linear solver LinearSolver ls(int nb_vars, int nb_ctr); Jordan Ninin IBEX Jan, / 51
42 Solver: create a Solver/Paver with a contractor, a bisector and a Buffer. All the IntervalVector with a max diam less than prec will be considers as a solution. Solver(Ctc& ctc, Bsc& bsc, CellBuffer& buffer, double prec); std::vector<intervalvector> solve(init_box); Optimizer: create a global optimizer with a system, a contractor and a bisector. Optimizer opti(system& sys, Bsc& bsc, Ctc& ctc, double prec); void optimize(const IntervalVector& init_box); opti.loup point // access to the global minimum of sys Jordan Ninin IBEX Jan, / 51
43 Compiling, Linking Automatic linkage with: Soplex: implementation of a Linear Solver. FiLib or Goal: implementing the interval arithmetic. See the makefile or simple qt.pro and replace the????? by the path where IBEX is installed. Jordan Ninin IBEX Jan, / 51
44 Listing 2: makefile IBEXHOME :=??????????? CXXFLAGS = I$(IBEXHOME)/IBEX/include/ibex I$(IBEXHOME)/IBEX/ include I$(IBEXHOME)/soplex 1.7.2/src frounding math msse2 mfpmath=sse LIBS = L$(IBEXHOME)/IBEX/lib L$(IBEXHOME)/soplex 1.7.2/lib libex lsoplex lprim Listing 3: simple qt.pro IBEXHOME =??????????????????? INCLUDEPATH += $$IBEXHOME/IBEX/include/ibex $$IBEXHOME/IBEX/ include $$IBEXHOME/soplex 1.7.2/src frounding math msse2 mfpmath=sse LIBS += L$$IBEXHOME/IBEX/lib L$$IBEXHOME/soplex 1.7.2/lib libex lsoplex lprim Jordan Ninin IBEX Jan, / 51
45 In Practice DOWNLOAD IBEX Jordan Ninin IBEX Jan, / 51
ibex_snippets.cpp #include "ibex.h" using namespace std; using namespace ibex;
#include "ibex.h" using namespace std; using namespace ibex; int main() Example #1 Basic interval arithmetic > create the interval x=[1,2] and y=[3,4] > calculate the interval sum x+y > calculate interval
More informationGilles Chabert Ecole des Mines de Nantes Dec 2014
www.ibex-lib.org Gilles Chabert Ecole des Mines de Nantes Dec 2014 Outline Introduction Contractors Forward-backward XTaylor Q-intersection Getting started Conclusion Introduction IBEX is an open-source
More informationGlobal Optimization based on Contractor Programming: an Overview of the IBEX library
Global Optimization based on Contractor Programming: an Overview of the IBEX library Jordan Ninin ENSTA-Bretagne, LabSTIC, IHSEV team, 2 rue Francois Verny, 29806 Brest, France, jordan.ninin@ensta-bretagne.fr
More informationGlobal Optimization based on Contractor Programming: an Overview of the IBEX library
Global Optimization based on Contractor Programming: an Overview of the IBEX library Jordan Ninin To cite this version: Jordan Ninin. Global Optimization based on Contractor Programming: an Overview of
More informationAdvanced Systems Programming
Advanced Systems Programming Introduction to C++ Martin Küttler September 19, 2017 1 / 18 About this presentation This presentation is not about learning programming or every C++ feature. It is a short
More informationOrdinary Differential Equation Solver Language (ODESL) Reference Manual
Ordinary Differential Equation Solver Language (ODESL) Reference Manual Rui Chen 11/03/2010 1. Introduction ODESL is a computer language specifically designed to solve ordinary differential equations (ODE
More informationChapter 1. Fundamentals of Higher Order Programming
Chapter 1 Fundamentals of Higher Order Programming 1 The Elements of Programming Any powerful language features: so does Scheme primitive data procedures combinations abstraction We will see that Scheme
More informationFORM 1 (Please put your name and section number (001/10am or 002/2pm) on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each):
FORM 1 (Please put your name and section number (001/10am or 002/2pm) on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each): 1. If a function has default arguments, they can be located anywhere
More informationOUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.
1 LECTURE 3 OUTLINES Variable names in MATLAB Examples Matrices, Vectors and Scalar Scalar Vectors Entering a vector Colon operator ( : ) Mathematical operations on vectors examples 2 VARIABLE NAMES IN
More informationHaske k ll An introduction to Functional functional programming using Haskell Purely Lazy Example: QuickSort in Java Example: QuickSort in Haskell
Haskell An introduction to functional programming using Haskell Anders Møller amoeller@cs.au.dk The most popular purely functional, lazy programming language Functional programming language : a program
More informationC++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 6: User-Defined Functions I
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 6: User-Defined Functions I In this chapter, you will: Objectives Learn about standard (predefined) functions and discover
More informationPhysics 234: Computational Physics
Physics 234: Computational Physics In-class Midterm Exam Friday, February 12, 2010 Student s Name: Fill-in-the-blank and multiple choice questions (20 points) Mark your answers on the exam sheet in blue
More informationAn introduction introduction to functional functional programming programming using usin Haskell
An introduction to functional programming using Haskell Anders Møller amoeller@cs.au.dkau Haskell The most popular p purely functional, lazy programming g language Functional programming language : a program
More informationComputers in Engineering Root Finding Michael A. Hawker
Computers in Engineering COMP 208 Root Finding Michael A. Hawker Root Finding Many applications involve finding the roots of a function f(x). That is, we want to find a value or values for x such that
More informationMath 414 Lecture 2 Everyone have a laptop?
Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,
More informationCSCE 110 PROGRAMMING FUNDAMENTALS
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 2. Overview of C++ Prof. Amr Goneid, AUC 1 Overview of C++ Prof. Amr Goneid, AUC 2 Overview of C++ Historical C++ Basics Some Library
More informationALIAS-C++ A C++ Algorithms Library of Interval Analysis for equation Systems Version 2.7 September 2012 The COPRIN project Download ALIAS here!
ALIAS-C++ A C++ Algorithms Library of Interval Analysis for equation Systems Version 2.7 September 2012 The COPRIN project Download ALIAS here! 2 Chapter 1 Introduction ALIAS-C++ is a C++ library of algorithms,
More informationSummary of basic C++-commands
Summary of basic C++-commands K. Vollmayr-Lee, O. Ippisch April 13, 2010 1 Compiling To compile a C++-program, you can use either g++ or c++. g++ -o executable_filename.out sourcefilename.cc c++ -o executable_filename.out
More informationChapter 6: User-Defined Functions. Objectives (cont d.) Objectives. Introduction. Predefined Functions 12/2/2016
Chapter 6: User-Defined Functions Objectives In this chapter, you will: Learn about standard (predefined) functions Learn about user-defined functions Examine value-returning functions Construct and use
More informationArrays. Comp Sci 1570 Introduction to C++ Array basics. arrays. Arrays as parameters to functions. Sorting arrays. Random stuff
and Arrays Comp Sci 1570 Introduction to C++ Outline and 1 2 Multi-dimensional and 3 4 5 Outline and 1 2 Multi-dimensional and 3 4 5 Array declaration and An array is a series of elements of the same type
More informationA Constraint Satisfaction Problem (CSP) Approach to Design and Verify Cyber-Physical Systems (CPS)
A Constraint Satisfaction Problem (CSP) Approach to Design and Verify Cyber-Physical Systems (CPS) Alexandre Chapoutot joint work with Julien Alexandre dit Sandretto and Olivier Mullier U2IS, ENSTA ParisTech,
More informationMultiple Choice (Questions 1 13) 26 Points Select all correct answers (multiple correct answers are possible)
Name Closed notes, book and neighbor. If you have any questions ask them. Notes: Segment of code necessary C++ statements to perform the action described not a complete program Program a complete C++ program
More informationIntroduction to C++ Introduction to C++ Week 6 Dr Alex Martin 2013 Slide 1
Introduction to C++ Introduction to C++ Week 6 Dr Alex Martin 2013 Slide 1 Numerical Integration Methods The Trapezoidal Rule If one has an arbitrary function f(x) to be integrated over the region [a,b]
More informationDM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini
DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions
More informationApplied Programming and Computer Science, DD2325/appcs15 PODF, Programmering och datalogi för fysiker, DA7011
Applied Programming and Computer Science, DD2325/appcs15 PODF, Programmering och datalogi för fysiker, DA7011 Autumn 2015 Lecture 3, Simple C programming M. Eriksson (with contributions from A. Maki and
More informationConvexity and Optimization
Convexity and Optimization Richard Lusby DTU Management Engineering Class Exercises From Last Time 2 DTU Management Engineering 42111: Static and Dynamic Optimization (3) 18/09/2017 Today s Material Extrema
More informationCOMP80 Lambda Calculus Programming Languages Slides Courtesy of Prof. Sam Guyer Tufts University Computer Science History Big ideas Examples:
COMP80 Programming Languages Slides Courtesy of Prof. Sam Guyer Lambda Calculus Formal system with three parts Notation for functions Proof system for equations Calculation rules called reduction Idea:
More informationReliable Nonlinear Parameter Estimation Using Interval Analysis: Error-in-Variable Approach
Reliable Nonlinear Parameter Estimation Using Interval Analysis: Error-in-Variable Approach Chao-Yang Gau and Mark A. Stadtherr Λ Department of Chemical Engineering University of Notre Dame Notre Dame,
More informationLinear Programming in Small Dimensions
Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional
More informationIntroduction to C++ Introduction. Structure of a C++ Program. Structure of a C++ Program. C++ widely-used general-purpose programming language
Introduction C++ widely-used general-purpose programming language procedural and object-oriented support strong support created by Bjarne Stroustrup starting in 1979 based on C Introduction to C++ also
More informationLecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays)
Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) In this lecture, you will: Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of
More informationBSc (Hons) Computer Science. with Network Security. Examinations for / Semester1
BSc (Hons) Computer Science with Network Security Cohort: BCNS/15B/FT Examinations for 2015-2016 / Semester1 MODULE: PROGRAMMING CONCEPT MODULE CODE: PROG 1115C Duration: 3 Hours Instructions to Candidates:
More informationIntroduction to Matlab
Introduction to Matlab By:Mohammad Sadeghi *Dr. Sajid Gul Khawaja Slides has been used partially to prepare this presentation Outline: What is Matlab? Matlab Screen Basic functions Variables, matrix, indexing
More informationMultiple Choice (Questions 1 13) 26 Points Select all correct answers (multiple correct answers are possible)
Name Closed notes, book and neighbor. If you have any questions ask them. Notes: Segment of code necessary C++ statements to perform the action described not a complete program Program a complete C++ program
More informationApplied Interval Analysis
Luc Jaulin, Michel Kieffer, Olivier Didrit and Eric Walter Applied Interval Analysis With Examples in Parameter and State Estimation, Robust Control and Robotics With 125 Figures Contents Preface Notation
More informationIntroduction to C++ with content from
Introduction to C++ with content from www.cplusplus.com 2 Introduction C++ widely-used general-purpose programming language procedural and object-oriented support strong support created by Bjarne Stroustrup
More informationLecture 2: SML Basics
15-150 Lecture 2: SML Basics Lecture by Dan Licata January 19, 2012 I d like to start off by talking about someone named Alfred North Whitehead. With someone named Bertrand Russell, Whitehead wrote Principia
More informationSymbolic Subdifferentiation in Python
Symbolic Subdifferentiation in Python Maurizio Caló and Jaehyun Park EE 364B Project Final Report Stanford University, Spring 2010-11 June 2, 2011 1 Introduction 1.1 Subgradient-PY We implemented a Python
More informationSPM Add Math Form 5 Chapter 3 Integration
SPM Add Math Form Chapter Integration INDEFINITE INTEGRAL CHAPTER : INTEGRATION Integration as the reverse process of differentiation ) y if dy = x. Given that d Integral of ax n x + c = x, where c is
More informationExam 3 Chapters 7 & 9
Exam 3 Chapters 7 & 9 CSC 2100-002/003 29 Mar 2017 Read through the entire test first BEFORE starting Put your name at the TOP of every page The test has 4 sections worth a total of 100 points o True/False
More informationLECTURE 18 LECTURE OUTLINE
LECTURE 18 LECTURE OUTLINE Generalized polyhedral approximation methods Combined cutting plane and simplicial decomposition methods Lecture based on the paper D. P. Bertsekas and H. Yu, A Unifying Polyhedral
More informationChapter 2. Outline. Simple C++ Programs
Chapter 2 Simple C++ Programs Outline Objectives 1. Building C++ Solutions with IDEs: Dev-cpp, Xcode 2. C++ Program Structure 3. Constant and Variables 4. C++ Operators 5. Standard Input and Output 6.
More informationTutorial 13 Salary Survey Application: Introducing One- Dimensional Arrays
Tutorial 13 Salary Survey Application: Introducing One- Dimensional Arrays Outline 13.1 Test-Driving the Salary Survey Application 13.2 Introducing Arrays 13.3 Declaring and Initializing Arrays 13.4 Constructing
More informationComposition I. composition is a way to combine or compose multiple classes together to create new class
Composition I composition is a way to combine or compose multiple classes together to create new class composition has-a relationship a car has-a gear-box a graduate student has-a course list if XX has-a
More informationx 6 + λ 2 x 6 = for the curve y = 1 2 x3 gives f(1, 1 2 ) = λ actually has another solution besides λ = 1 2 = However, the equation λ
Math 0 Prelim I Solutions Spring 010 1. Let f(x, y) = x3 y for (x, y) (0, 0). x 6 + y (4 pts) (a) Show that the cubic curves y = x 3 are level curves of the function f. Solution. Substituting y = x 3 in
More informationMore Flow Control Functions in C++ CS 16: Solving Problems with Computers I Lecture #4
More Flow Control Functions in C++ CS 16: Solving Problems with Computers I Lecture #4 Ziad Matni Dept. of Computer Science, UCSB Administrative CHANGED T.A. OFFICE/OPEN LAB HOURS! Thursday, 10 AM 12 PM
More informationProject 1: Convex hulls and line segment intersection
MCS 481 / David Dumas / Spring 2014 Project 1: Convex hulls and line segment intersection Due at 10am on Monday, February 10 0. Prerequisites For this project it is expected that you already have CGAL
More informationExact real arithmetic. Keith Briggs
Exact real arithmetic Keith Briggs Keith.Briggs@bt.com more.btexact.com/people/briggsk2/xr.html 2002 Nov 20 15:00 Typeset in L A T E X2e on a linux system Exact real arithmetic p.1/35 Complexity Outline
More information= f (a, b) + (hf x + kf y ) (a,b) +
Chapter 14 Multiple Integrals 1 Double Integrals, Iterated Integrals, Cross-sections 2 Double Integrals over more general regions, Definition, Evaluation of Double Integrals, Properties of Double Integrals
More informationDistributed Real-Time Control Systems. Lecture 17 C++ Programming Intro to C++ Objects and Classes
Distributed Real-Time Control Systems Lecture 17 C++ Programming Intro to C++ Objects and Classes 1 Bibliography Classical References Covers C++ 11 2 What is C++? A computer language with object oriented
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationIntroduction to Programming for Engineers Spring Final Examination. May 10, Questions, 170 minutes
Final Examination May 10, 2011 75 Questions, 170 minutes Notes: 1. Before you begin, please check that your exam has 28 pages (including this one). 2. Write your name and student ID number clearly on your
More informationC introduction: part 1
What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation
More informationReals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.
Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be
More informationConvex sets and convex functions
Convex sets and convex functions Convex optimization problems Convex sets and their examples Separating and supporting hyperplanes Projections on convex sets Convex functions, conjugate functions ECE 602,
More informationLab 1: First Steps in C++ - Eclipse
Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the
More informationA506 / C201 Computer Programming II Placement Exam Sample Questions. For each of the following, choose the most appropriate answer (2pts each).
A506 / C201 Computer Programming II Placement Exam Sample Questions For each of the following, choose the most appropriate answer (2pts each). 1. Which of the following functions is causing a temporary
More informationVoronoi diagrams Delaunay Triangulations. Pierre Alliez Inria
Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria Voronoi Diagram Voronoi Diagram Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence
More informationMATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS
MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS GRADO EN A.D.E. GRADO EN ECONOMÍA GRADO EN F.Y.C. ACADEMIC YEAR 2011-12 INDEX UNIT 1.- AN INTRODUCCTION TO OPTIMIZATION 2 UNIT 2.- NONLINEAR PROGRAMMING
More informationQuestion 2. [5 points] Given the following symbolic constant definition
CS 101, Spring 2012 Mar 20th Exam 2 Name: Question 1. [5 points] Determine which of the following function calls are valid for a function with the prototype: void drawrect(int width, int height); Assume
More informationCS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension
CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture
More informationautomatic differentiation techniques used in jump
automatic differentiation techniques used in jump Miles Lubin, Iain Dunning, and Joey Huchette June 22, 2016 MIT Operations Research Center 1 / 36 - Solver-independent, fast, extensible, open-source algebraic
More informationUNIT - I. Introduction to C Programming. BY A. Vijay Bharath
UNIT - I Introduction to C Programming Introduction to C C was originally developed in the year 1970s by Dennis Ritchie at Bell Laboratories, Inc. C is a general-purpose programming language. It has been
More informationCAAM 420 Daily Note. Scriber: Qijia Jiang. Date: Oct.16. Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise.
CAAM 420 Daily Note Scriber: Qijia Jiang Date: Oct.16 1 Announcement Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise. 2 Make Convention Make syntax for library directories and library
More informationSketchpad Graphics Language Reference Manual. Zhongyu Wang, zw2259 Yichen Liu, yl2904 Yan Peng, yp2321
Sketchpad Graphics Language Reference Manual Zhongyu Wang, zw2259 Yichen Liu, yl2904 Yan Peng, yp2321 October 20, 2013 1. Introduction This manual provides reference information for using the SKL (Sketchpad
More informationPart 3: Function Pointers, Linked Lists and nd Arrays
Part 3: Function Pointers, Linked Lists and nd Arrays Prof. Dr. Ulrik Schroeder C++ - Einführung ins Programmieren WS 03/04 http://learntech.rwth-aachen.de/lehre/ws04/c++/folien/index.html Pointer to functions
More informationQuiz Start Time: 09:34 PM Time Left 82 sec(s)
Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability
More informationIntroduction to Mathcad
CHAPTER 1 Introduction to Mathcad Mathcad is a product of MathSoft inc. The Mathcad can help us to calculate, graph, and communicate technical ideas. It lets us work with mathematical expressions using
More informationCS201 Latest Solved MCQs
Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability
More informationAlgorithmic Differentiation of Implicit Functions and Optimal Values
Algorithmic Differentiation of Implicit Functions and Optimal Values Bradley M. Bell 1 and James V. Burke 2 1 Applied Physics Laboratory, University of Washington, Seattle, WA 98195, USA, bradbell@washington.edu
More informationPIC 10A. Lecture 3: More About Variables, Arithmetic, Casting, Assignment
PIC 10A Lecture 3: More About Variables, Arithmetic, Casting, Assignment Assigning values to variables Our variables last time did not seem very variable. They always had the same value! Variables stores
More informationProgramming 2. Object Oriented Programming. Daniel POP
Programming 2 Object Oriented Programming Daniel POP Week 5 Agenda 1. Modifiers: friend 2. Objects Wrap-up last week Self-reference Modifiers: static const mutable Object Oriented Programming Friends (I)
More informationCh. 3: The C in C++ - Continued -
Ch. 3: The C in C++ - Continued - QUIZ What are the 3 ways a reference can be passed to a C++ function? QUIZ True or false: References behave like constant pointers with automatic dereferencing. QUIZ What
More informationChapter 4: Basic C Operators
Chapter 4: Basic C Operators In this chapter, you will learn about: Arithmetic operators Unary operators Binary operators Assignment operators Equalities and relational operators Logical operators Conditional
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationA general introduction to Functional Programming using Haskell
A general introduction to Functional Programming using Haskell Matteo Rossi Dipartimento di Elettronica e Informazione Politecnico di Milano rossi@elet.polimi.it 1 Functional programming in a nutshell
More informationCMAT Language - Language Reference Manual COMS 4115
CMAT Language - Language Reference Manual COMS 4115 Language Guru: Michael Berkowitz (meb2235) Project Manager: Frank Cabada (fc2452) System Architect: Marissa Ojeda (mgo2111) Tester: Daniel Rojas (dhr2119)
More informationSONIC A Solver and Optimizer for Nonlinear Problems based on Interval Computation
SONIC A Solver and Optimizer for Nonlinear Problems based on Interval Computation Elke Just University of Wuppertal June 14, 2011 Contents About SONIC Miranda Borsuk Topological Degree Implementation Branch
More informationSMPL - A Simplified Modeling Language for Mathematical Programming
SMPL - A Simplified Modeling Language for Mathematical Programming Mihály Csaba Markót November 3, 2008 1 Purpose and Scope This working paper describes SMPL, an initiative of a Simplified Modeling Language
More informationMATH2070: LAB 4: Newton s method
MATH2070: LAB 4: Newton s method 1 Introduction Introduction Exercise 1 Stopping Tests Exercise 2 Failure Exercise 3 Introduction to Newton s Method Exercise 4 Writing Matlab code for functions Exercise
More informationLecture 19: Functions, Types and Data Structures in Haskell
The University of North Carolina at Chapel Hill Spring 2002 Lecture 19: Functions, Types and Data Structures in Haskell Feb 25 1 Functions Functions are the most important kind of value in functional programming
More informationbool_set and interval for the C++ standard
bool_set and interval for the C++ standard Sylvain Pion (INRIA Sophia Antipolis) Hervé Brönnimann (Bloomberg, Polytechnic University Brooklyn) Guillaume Melquiond (ENS Lyon) Plan 1 Motivation 2 Applications
More informationCS 376b Computer Vision
CS 376b Computer Vision 09 / 25 / 2014 Instructor: Michael Eckmann Today s Topics Questions? / Comments? Enhancing images / masks Cross correlation Convolution C++ Cross-correlation Cross-correlation involves
More informationInterpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections.
Image Interpolation 48 Interpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections. Fundamentally, interpolation is the process of using known
More informationConvex sets and convex functions
Convex sets and convex functions Convex optimization problems Convex sets and their examples Separating and supporting hyperplanes Projections on convex sets Convex functions, conjugate functions ECE 602,
More informationObject-Oriented Programming, Iouliia Skliarova
Object-Oriented Programming, Iouliia Skliarova CBook a = CBook("C++", 2014); CBook b = CBook("Physics", 1960); a.display(); b.display(); void CBook::Display() cout
More informationLAB 1 General MATLAB Information 1
LAB 1 General MATLAB Information 1 General: To enter a matrix: > type the entries between square brackets, [...] > enter it by rows with elements separated by a space or comma > rows are terminated by
More informationProgramming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan
Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah Lecturer Department of Computer Science & IT University of Balochistan 1 Outline p Introduction p Program development p C language and beginning with
More informationELEC 377 C Programming Tutorial. ELEC Operating Systems
ELE 377 Programming Tutorial Outline! Short Introduction! History & Memory Model of! ommon Errors I have seen over the years! Work through a linked list example on the board! - uses everything I talk about
More informationLab copy. Do not remove! Mathematics 152 Spring 1999 Notes on the course calculator. 1. The calculator VC. The web page
Mathematics 152 Spring 1999 Notes on the course calculator 1. The calculator VC The web page http://gamba.math.ubc.ca/coursedoc/math152/docs/ca.html contains a generic version of the calculator VC and
More informationIntroduction to Functional Programming in Haskell 1 / 56
Introduction to Functional Programming in Haskell 1 / 56 Outline Why learn functional programming? The essence of functional programming What is a function? Equational reasoning First-order vs. higher-order
More informationChapter 3 Numerical Methods
Chapter 3 Numerical Methods Part 1 3.1 Linearization and Optimization of Functions of Vectors 1 Problem Notation 2 Outline 3.1.1 Linearization 3.1.2 Optimization of Objective Functions 3.1.3 Constrained
More informationReview of the C Programming Language for Principles of Operating Systems
Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights
More informationSummer May 18, 2010
Summer 2010 to Department of Computer Science Engineering York University Toronto May 18, 2010 1 / 46 What have we done last time? to Basic information about testing: Black- Glass-box tests Rom tests Regression
More informationNumerical Methods Lecture 7 - Optimization
Numerical Methods Lecture 7 - Optimization Topics: numerical optimization - Newton again - Random search - Golden Section Search READING : text pgs. 331-349 Optimization - motivation What? Locating where
More informationWeek 2: Console I/O and Operators Arithmetic Operators. Integer Division. Arithmetic Operators. Gaddis: Chapter 3 (2.14,3.1-6,3.9-10,5.
Week 2: Console I/O and Operators Gaddis: Chapter 3 (2.14,3.1-6,3.9-10,5.1) CS 1428 Fall 2014 Jill Seaman 1 2.14 Arithmetic Operators An operator is a symbol that tells the computer to perform specific
More informationPROGRAMMING IN C++ CVIČENÍ
PROGRAMMING IN C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com REQUIREMENTS FOR COURSE CREDIT Basic requirements
More informationMidterm 2. CMSC 430 Introduction to Compilers Fall Instructions Total 100. Name: November 21, 2016
Name: Midterm 2 CMSC 430 Introduction to Compilers Fall 2016 November 21, 2016 Instructions This exam contains 7 pages, including this one. Make sure you have all the pages. Write your name on the top
More informationA Constraint Satisfaction Problem (CSP) Approach to Design and Verify Cyber-Physical Systems (CPS)
A Constraint Satisfaction Problem (CSP) Approach to Design and Verify Cyber-Physical Systems (CPS) Alexandre Chapoutot joint work with Julien Alexandre dit Sandretto and Olivier Mullier U2IS, ENSTA ParisTech,
More informationArrays. Defining arrays, declaration and initialization of arrays. Designed by Parul Khurana, LIECA.
Arrays Defining arrays, declaration and initialization of arrays Introduction Many applications require the processing of multiple data items that have common characteristics (e.g., a set of numerical
More information