#include<iostream>
using namespace std;

#include<wxmaths.h>
using namespace wxmaths;

int main() {

Array<Vector> v;
cout << "Array of node positions:\n";
cin >> v; cout << v;

Array<Vector> f1(v.n);
cout << "corresponding Vector-valued functions:\n";
f1.Read_elements(cin); f1.Write_elements(cout);
cout << "div f = " << div(v,f1) << endl; 

Array<double> f2(v.n);
cout << "corresponding scalar-valued functions:\n";
f2.Read_elements(cin); f2.Write_elements(cout); cout << endl;
cout << "grad f = " << grad(v,f2) << endl; 

return 0;

}
