Commit 015eb174 authored by Conor McCoid's avatar Conor McCoid
Browse files

Merge branch 'master' of gitlab.unige.ch:Conor.Mccoid/UNIGE

parents d0c38927 9e3d588f
X1=[15.5,14.7,13.8,17.0,16.5,15.5,17.0,16.4,14.8];
X2=[14.6,13.0,14.5,16.9,14.1,15.6,16.9,16.6,14.8];
D=X2-X1;
mu=mean(D);
sigma=std(D);
T=mu*sqrt(9)/sigma;
disp(['mean: ', num2str(mu)])
disp(['std: ', num2str(sigma)])
disp(['test: ', num2str(T)])
y=[91;94;82;88;81;81;82]; X=[ones(7,1),(1:7)'];
alpha=(X'*X) \ (X'*y);
disp(['intercept: ',num2str(alpha(1))]);
disp(['slope: ',num2str(alpha(2))]);
\ No newline at end of file
......@@ -43,6 +43,14 @@ YYYYMMDD: date of initial creation of the image. This is done largely for archiv
\end{document}
2. Open the resulting TIKZ_...pdf file in Inkscape and save as a TIKZ_...svg.
%====Instructions for saving MATLAB figures without whitespace
1. Set h to figure:
h=figure(1);
2. Export as .eps or other file type:
exportgraphics(h,'PLOT_filename.eps')
3. File will be found in the current MATLAB folder.
%--Publications
Publications will probably be shared via links sent by publishers.
......
@article {mccoid_mini_17_davidenko1953new,
AUTHOR = {Davidenko, D. F.},
TITLE = {On a new method of numerical solution of systems of nonlinear
equations},
JOURNAL = {Doklady Akad. Nauk SSSR (N.S.)},
VOLUME = {88},
YEAR = {1953},
PAGES = {601--602},
MRCLASS = {65.0X},
MRNUMBER = {0054339},
MRREVIEWER = {A. S. Householder},
}
@article {mccoid_mini_17_branin1972widely,
AUTHOR = {Branin, Jr., F. H.},
TITLE = {Widely convergent method for finding multiple solutions of
simultaneous nonlinear equations},
JOURNAL = {IBM J. Res. Develop.},
FJOURNAL = {International Business Machines Corporation. Journal of
Research and Development},
VOLUME = {16},
YEAR = {1972},
PAGES = {504--522},
ISSN = {0018-8646},
MRCLASS = {65H10},
MRNUMBER = {418449},
DOI = {10.1147/rd.165.0504},
URL = {https://doi.org/10.1147/rd.165.0504},
}
@article {mccoid_mini_17_brent1972davidenko,
AUTHOR = {Brent, R. P.},
TITLE = {On the {D}avidenko-{B}ranin method for solving simultaneous
nonlinear equations},
NOTE = {Mathematics of numerical computation},
JOURNAL = {IBM J. Res. Develop.},
FJOURNAL = {International Business Machines Corporation. Journal of
Research and Development},
VOLUME = {16},
YEAR = {1972},
PAGES = {434--436},
ISSN = {0018-8646},
MRCLASS = {65H10},
MRNUMBER = {334498},
MRREVIEWER = {N. N. Abdelmalek},
DOI = {10.1147/rd.164.0434},
URL = {https://doi.org/10.1147/rd.164.0434},
}
@article {mccoid_mini_17_lui1999schwarz,
AUTHOR = {Lui, S. H.},
TITLE = {On {S}chwarz alternating methods for nonlinear elliptic
{PDE}s},
JOURNAL = {SIAM J. Sci. Comput.},
FJOURNAL = {SIAM Journal on Scientific Computing},
VOLUME = {21},
YEAR = {1999/00},
NUMBER = {4},
PAGES = {1506--1523},
ISSN = {1064-8275},
MRCLASS = {65N55 (65J15)},
MRNUMBER = {1756041},
MRREVIEWER = {Stephen W. Brady},
DOI = {10.1137/S1064827597327553},
URL = {https://doi.org/10.1137/S1064827597327553},
}
@article {mccoid_mini_17_Cai2002,
AUTHOR = {Cai, X-C. and Keyes, D. E.},
TITLE = {Nonlinearly preconditioned inexact {N}ewton algorithms},
JOURNAL = {SIAM J. Sci. Comput.},
FJOURNAL = {SIAM Journal on Scientific Computing},
VOLUME = {24},
YEAR = {2002},
NUMBER = {1},
PAGES = {183--200},
ISSN = {1064-8275},
MRCLASS = {65H10 (76M25)},
MRNUMBER = {1924420},
MRREVIEWER = {R. P. Tewarson},
DOI = {10.1137/S106482750037620X},
URL = {https://doi.org/10.1137/S106482750037620X},
}
@article {mccoid_mini_17_Dolean2016,
AUTHOR = {Dolean, V. and Gander, M. J. and Kheriji, W. and Kwok, F. and
Masson, R.},
TITLE = {Nonlinear preconditioning: how to use a nonlinear {S}chwarz
method to precondition {N}ewton's method},
JOURNAL = {SIAM J. Sci. Comput.},
FJOURNAL = {SIAM Journal on Scientific Computing},
VOLUME = {38},
YEAR = {2016},
NUMBER = {6},
PAGES = {A3357--A3380},
ISSN = {1064-8275},
MRCLASS = {65F08 (65F10 65N22 65N55)},
MRNUMBER = {3566907},
MRREVIEWER = {Judith M. Ford},
DOI = {10.1137/15M102887X},
URL = {https://doi.org/10.1137/15M102887X},
}
@incollection {mccoid_mini_17_Gander2017,
AUTHOR = {Gander, M. J.},
TITLE = {On the origins of linear and non-linear preconditioning},
BOOKTITLE = {Domain decomposition methods in science and engineering
{XXIII}},
SERIES = {Lect. Notes Comput. Sci. Eng.},
VOLUME = {116},
PAGES = {153--161},
PUBLISHER = {Springer, Cham},
YEAR = {2017},
MRCLASS = {65F08 (01A55 65-03)},
MRNUMBER = {3718350},
DOI = {10.1007/978-3-319-52389-7\_1},
URL = {https://doi.org/10.1007/978-3-319-52389-7_1},
}
@article {mccoid_mini_17_liu2015field,
AUTHOR = {Liu, L. and Keyes, D. E.},
TITLE = {Field-split preconditioned inexact {N}ewton algorithms},
JOURNAL = {SIAM J. Sci. Comput.},
FJOURNAL = {SIAM Journal on Scientific Computing},
VOLUME = {37},
YEAR = {2015},
NUMBER = {3},
PAGES = {A1388--A1409},
ISSN = {1064-8275},
MRCLASS = {65H10 (65H20 65N22 65N55)},
MRNUMBER = {3352613},
MRREVIEWER = {Luca Gemignani},
DOI = {10.1137/140970379},
URL = {https://doi.org/10.1137/140970379},
}
@book {mccoid_mini_17_gander2014scientific,
AUTHOR = {Gander, W. and Gander, M. J. and Kwok, F.},
TITLE = {Scientific computing},
SERIES = {Texts in Computational Science and Engineering},
VOLUME = {11},
NOTE = {An introduction using Maple and MATLAB},
PUBLISHER = {Springer, Cham},
YEAR = {2014},
PAGES = {xviii+905},
ISBN = {978-3-319-04324-1; 978-3-319-04325-8},
MRCLASS = {65-01},
MRNUMBER = {3287477},
DOI = {10.1007/978-3-319-04325-8},
URL = {https://doi.org/10.1007/978-3-319-04325-8},
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -523,7 +523,7 @@ For Schwarz methods, this would necessitate a theorem similar to Theorem \ref{th
% section on 2D extensions?
\bibliographystyle{plain}
\bibliography{references.bib}
\bibliography{references}
%\bibliography{export.bib}
\end{document}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
%%%% This is a source file for an abstract of a contributed talk
%%%% at CH numerics day 2018
\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
%%%%
%
% About citations:
% your abstract might not need them. But if it does then
% feel free to make it work in your favorite package and
% bibliographystyle. But don't send the bibtex file. Instead
% just copy-paste the bbl file into your LaTeX source.
%
%\usepackage{natbib} % Change this if you like but make sure what you do comes out ok
% or it might end up wrong in the abstract
% You might be tempted to put in \newcommand and \def and a few
% \usepackage. If possible put in none of those. Otherwise the minimum.
% We will almost surely encounter conflicts among them and resort to
% labor intensive and error prone hand edits. Arggh.
%%%%
\begin{document}
%Titel:
\begin{center}
{\bf Robust algorithms for the intersection of simplices}
\end{center}
\begin{center}
{\it Author and Presenter:} \\[0.5ex]
Conor McCoid (Universit\'e de Gen\`eve)
\end{center}
%Co-authors:
\begin{center}
{\it Co-authors:}\\[0.5ex]
\begin{tabular}{ll}
& Martin J. Gander (Universit\'e de Gen\`eve)\\
\end{tabular}
\end{center}
\bigskip\noindent
%Abstract: max. 1 page
{\bf Abstract:} At times even the smallest of floating-point errors can cause intersection algorithms to destabilize.
The final result may then have an error several magnitudes larger.
Robust algorithms are then required to avoid such instabilities.
One way to achieve this is to write them parsimoniously \cite{fortune1989}, that is, by using the smallest number of direct calculations as necessary.
A given calculation may provide underutilized information that can eliminate the need for additional calculations.
In this talk we present methodology for maximizing information output of intersection calculations for $n$-simplices, with a focus on triangles \cite{mccoid2021} and tetrahedra.
\bigskip\noindent
\bibliographystyle{plain}
\begin{thebibliography}{1}
\bibitem{fortune1989} S.~Fortune,
Stable maintenance of point set triangulations in two dimensions.
Annual Symposium on Foundations of Computer Sicence (proceedings).
\bibitem{mccoid2021} C.~McCoid, M.~J.~Gander,
A provably robust algorithm for triangle-triangle intersections in floating-point arithmetic.
Transactions on Mathematical Software (in review).
\end{thebibliography}
\end{document}
function [u1,u2] = ALGO_extrap_AltS_v1_20210708(F1,F2,u2,N)
% ALTS Performs alternating Schwarz
% [u1,u2] = AltS(F1,F2,u2,N) returns u1 and u2, the solution on the first
% and second subdomains, respectively, using N iterations of the
% alternating Schwarz method. The functionals F1 and F2 compute the
% solutions on the respective subdomains by taking the solution on the
% previous subdomain for its boundary data.
%
% nb: This implementation is not designed for efficiency, as each call of
% F1 and F2 will contain extraneous calculations. An efficient
% implenentation would not subdivide the algorithm into base components,
% but this makes it easier to try out different problems.
for i=1:N
u1=F1(u2);
u2=F2(u1);
end
\ No newline at end of file
function [u1,u2,G] = ALGO_extrap_AltS_v2_20210713(A,b,f,u2,B1,B2,ind1,ind2,n,m,x)
% ALTS performs alternating Schwarz, in a compact implementation
% [u1,u2] = AltS(?)
N=length(A); I=speye(N);
R1=I(ind1,:); P1=I(:,ind1); % restriction and prolongation operators
R2=I(ind2,:); P2=I(:,ind2);
A1=R1*A*P1; b1=R1*b; % restrict and prolong A and b
A2=R2*A*P2; b2=R2*b;
C1=R1*A*B1*P2; C2=R2*A*B2*P1; % info passed between subdomains
u1=zeros(N,1); u1=u1(ind1); % initial guess for u1
for i=1:n
for j=1:m
u1 = A1 \ (f(u1) - C1*u2 - b1);
end
for j=1:m
u2 = A2 \ (f(u2) - C2*u1 - b2);
end
if nargin==11
plot(x(ind1),u1,'r',x(ind2),u2,'b')
axis([0,1,-1,0])
pause(0.1)
end
if nargout==3
G=B1*P2*u2;
end
end
\ No newline at end of file
% EX_extrap_1DLaplace_v1_20210713
% 1DLAPLACE solves the 1D Laplace problem on [0,1] using alternating Schwarz
N=64; x=1:N-1; x=x'/N; M=N-1;
L=ones(M,1); L=spdiags([L,-2*L,L],0:2,M,M+2)*N^2;
B=[-L(:,1),sparse(M,M),-L(:,end)]; L=L(:,2:end-1);
u=ones(N+1,1); f=1;
vexact=-x.^2/2 + x/2 + 1;
v=SUB_extrap_SubdomainSolve_v1_20210713(L,B,f,u,'linear');
figure(1)
plot(x,v,'r*-',x,vexact,'k')
% Subdomains: [0,a] and [b,1]
a=0.6; b=0.4;
ind1=x<a; ind2=x>b; l1=sum(ind1); l2=M-sum(ind2);
I=speye(M); P1=I(:,ind1); R1=I(ind1,:); B1=sparse(l1+1,l1+1,1,M,M)*P2;
P2=I(:,ind2); R2=I(ind2,:); B2=sparse(l2,l2,1,M,M)*P1;
F1=@(u2) SUB_extrap_SubdomainSolve_v1_20210713(R1*L*P1,-R1*L*B1,R1*(f-B*u),u2,'linear');
F2=@(u1) SUB_extrap_SubdomainSolve_v1_20210713(R2*L*P2,-R2*L*B2,R2*(f-B*u),u1,'linear');
gamma=-5:0.01:5; G=zeros(size(gamma));
for k=1:length(gamma)
u2=gamma(k)*ones(sum(ind2),1);
[u1,u2] = ALGO_extrap_AltS_v1_20210708(F1,F2,u2,1);
u2=P2*u2; G(k)=u2(l1+1);
end
plot(gamma,G,'k.--')
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment