File: changes.htm

package info (click to toggle)
slepc 3.7.3%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 23,788 kB
  • ctags: 100,221
  • sloc: ansic: 79,324; makefile: 3,897; python: 2,734; fortran: 1,139; f90: 225; sh: 100
file content (580 lines) | stat: -rw-r--r-- 20,279 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
<html>
<head>
<title>SLEPc - Changes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
table.version {
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: small;
  margin: 4em;
  border: 1px solid blue;
}
table.version th, table.version td {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
table.version th {
  background-color: #99CCFF;
}
table.version td {
  background-color: #EBF5FF;
}
ul.changes {
  margin-left: 0em;
  list-style: bullet;
}
ul.changes li {
  font-family: Arial, Helvetica, sans-serif;
  font-size: small;
  margin-top: 0.3em;
}
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align ="center">
[ <a href="manual.htm">Manual</a> 
| <a href="instal.htm">Installation</a> 
| Changes
| <a href="faq.htm">FAQ</a>
| <a href="mail_list.htm">Contact</a>
] </div>
<table width="700" border="0" cellpadding="0" cellspacing="0">
  <tr> 
    <td width="700" height="18"><p>&nbsp;</p>
      <p>&nbsp;</p></td>
  </tr>
  <tr> 
    <td valign="top" height="18">
      <p><font face="Arial, Helvetica, sans-serif" size="2">The following table 
        lists the versions of SLEPc and shows the correspondence between SLEPc 
        and PETSc releases. Versions marked as major releases are those which 
        incorporate some new functionality. The rest are just adaptations required 
        for a new PETSc release and may also include bug fixes.</font></p>
    </td>
  </tr>
</table>

<table class=version cellpadding=0 cellspacing=0 align=center>
  <tr> 
    <th width="138"> SLEPc version </th>
    <th width="175"> PETSc versions </th>
    <th width="75"> Major </th>
    <th width="146"> Release date </th>
  </tr>
  <tr>
    <td> 2.1.0 </td>
    <td> 2.1.0 </td>
    <td> * </td>
    <td> Not released </td>
  </tr>
  <tr>
    <td> 2.1.1 </td>
    <td> 2.1.1, 2.1.2, 2.1.3 </td>
    <td> </td>
    <td> Dec 2002 </td>
  </tr>
  <tr>
    <td> 2.1.5 </td>
    <td> 2.1.5, 2.1.6 </td>
    <td> </td>
    <td> May 2003 </td>
  </tr>
  <tr>
    <td> 2.2.0 </td>
    <td> 2.2.0 </td>
    <td> * </td>
    <td> Apr 2004 </td>
  </tr>
  <tr>
    <td> 2.2.1 </td>
    <td> 2.2.1 </td>
    <td> * </td>
    <td> Aug 2004 </td>
  </tr>
  <tr>
    <td> 2.3.0 </td>
    <td> 2.3.0 </td>
    <td> * </td>
    <td> Jun 2005 </td>
  </tr>
  <tr>
    <td> 2.3.1 </td>
    <td> 2.3.1 </td>
    <td> </td>
    <td> Mar 2006 </td>
  </tr>
  <tr>
    <td> 2.3.2 </td>
    <td> 2.3.1, 2.3.2 </td>
    <td> * </td>
    <td> Oct 2006 </td>
  </tr>
  <tr>
    <td> 2.3.3 </td>
    <td> 2.3.3 </td>
    <td> * </td>
    <td> Jun 2007 </td>
  </tr>
  <tr>
    <td> 3.0.0 </td>
    <td> 3.0.0 </td>
    <td> * </td>
    <td> Feb 2009 </td>
  </tr>
  <tr>
    <td> 3.1 </td>
    <td> 3.1 </td>
    <td> * </td>
    <td> Aug 2010 </td>
  </tr>
  <tr>
    <td> 3.2 </td>
    <td> 3.2 </td>
    <td> * </td>
    <td> Oct 2011 </td>
  </tr>
  <tr>
    <td> 3.3 </td>
    <td> 3.3 </td>
    <td> * </td>
    <td> Aug 2012 </td>
  </tr>
  <tr>
    <td> 3.4 </td>
    <td> 3.4 </td>
    <td> * </td>
    <td> Jul 2013 </td>
  </tr>
  <tr>
    <td> 3.5 </td>
    <td> 3.5 </td>
    <td> * </td>
    <td> Jul 2014 </td>
  </tr>
  <tr>
    <td> 3.6 </td>
    <td> 3.6 </td>
    <td> * </td>
    <td> Jun 2015 </td>
  </tr>
  <tr>
    <td> 3.7 </td>
    <td> 3.7 </td>
    <td> * </td>
    <td> May 2016 </td>
  </tr>
</table>

<tr><td>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.7</font></b>
</p>

<ul class=changes>
  <li> NEP: new solver 'nleigs' that implements a (rational) Krylov method operating
       on a companion-type linearization of a rational interpolant of the nonlinear function.
  <li> PEP: the 'jd' solver can now compute more than one eigenpair.
  <li> MFN: added a new solver 'krylov' that works for different functions,
       not only the exponential. The solver available in previous versions
       has been renamed to 'expokit'.
  <li> EPS: in spectrum slicing in multi-communicator mode now it is possible to
       update the problem matrices directly on the sub-communicators.
  <li> EPS: the contour integral solver now provides Chebyshev quadrature rule and
       Hankel extraction; all options are documented in STR-11.
  <li> Now most solvers allow a user-defined criterion to stop iterating based on a
       callback function.
  <li> Optimized solution of linear systems in Newton refinement for PEP and NEP.
  <li> Added download option for most external packages.
  <li> GPU support updated to use VECCUDA instead of VECCUSP, now including complex scalars.
  <li> Interface changes: EPS_CONV_EIG has been renamed to EPS_CONV_REL;
       BVAXPY has been removed, use BVMult instead;
       BVSetRandom no longer takes a PetscRandom argument, use BVSetRandomContext instead.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.6</font></b>
</p>

<ul class=changes>
  <li> New EPS solver: locally optimal block preconditioned conjugate gradient
       (LOBPCG).
  <li> New PEP solvers: Jacobi-Davidson (JD), and symmetric TOAR (STOAR).
  <li> New NEP solver: contour integral spectrum slice (CISS).
  <li> Improved BLOPEX interface by adding hard locking. Now the user can specify
       the block size. 
  <li> Spectrum slicing in EPS can now be run in multi-communicator mode, where
       each process group computes a sub-interval.
  <li> Added functions and command-line options to view the computed solution
       after solve, e.g. -eps_view_vectors binary:myvecs.bin
  <li> The MFN solver class now takes an FN object to define the function.
       The functionality for computing functions of small, dense matrices has
       been moved from DS to FN. MFNSetScaleFactor has been removed, now this
       scale factor must be specified in FN.
  <li> FN now allows the definition of functions by combining two other functions.
  <li> Added two new RG regions: &quot;ring&quot; a stripe along an
       ellipse with optional start and end angles; &quot;polygon&quot; an
       arbitrary polygon made up of a list of vertices.
  <li> User makefiles must now include 
       <code>${SLEPC_DIR}/lib/slepc/conf/slepc_common</code>.
  <li> Interface changes: EPSComputeRelativeError and EPSComputeResidualNorm have
       been deprecated (use EPSComputeError instead); the same for PEP, NEP and SVD;
       PEPSetScale now allows passing two Vecs for diagonal scaling;
       XXXPrintSolution has been replaced with XXXErrorView;
       STGetOperationCounters has been removed, its functionality is available
       via the log summary and with KSPGetTotalIterations;
       BVGetVec has been renamed to BVCreateVec;
       the interface for defining FN functions of rational type has changed;
       BVSetOrthogonalization takes one more argument.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.5</font></b>
</p>

<ul class=changes>
  <li>
    A new solver class PEP for polynomial eigenvalue problems has been added.
    It replaces the former QEP class, that has been removed.
    PEP contains a new solver TOAR that can handle polynomials of arbitrary
    degree. Q-Lanczos has been removed since it did not have guaranteed stability.
  <li>
    New NEP solver: polynomial interpolation using PEP.
  <li>
    Added Newton iterative refinement in both PEP and NEP.
  <li>
    A new auxiliary class RG allows the user to define a region in the complex plane.
    This can be used for filtering out unwanted eigenvalues in EPS and PEP.
  <li>
    The auxiliary object IP has been removed and a new object BV has been
    added that subsumes its functionality.
  <li>
    Support for requesting left eigenvectors has been removed, since none of the
    solvers were computing them internally.
  <li>
    The STFOLD spectral transformation has been removed. Example ex24.c reproduces
    this functionality.
  <li>
    Interface changes: SVDSetTransposeMode has been renamed to SVDSetImplicitTranspose;
    in STSHIFT the sign of sigma is the opposite to previous versions;
    EPSJDSetBOrth now takes a boolean argument instead of an enum.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.4</font></b>
</p>

<ul class=changes>
  <li>
    Added new class of solvers NEP for the nonlinear eigenvalue problem.
  <li>
    Added new class of solvers MFN for computing the action of a matrix
    function on a vector.
  <li>
    New EPS solver: Contour integral spectrum slice (CISS). Allows to compute
    all eigenvalues inside a region.
  <li>
    New QEP solver: Q-Lanczos is a specialized variant of Q-Arnoldi for
    problems with symmetric matrices.
  <li>
    Added support for shift-and-invert in QEP.
  <li>
    Added a new auxiliary class FN: Mathematical Function, to be used in
    the definition of nonlinear eigenproblems.
  <li>
    Added interface to external solver FEAST.
  <li>
    Changed options -xxx_monitor_draw to -xxx_monitor_lg, and similarly for 
    -xxx_monitor_draw_all.
</ul>
 
<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.3</font></b>
</p>

<ul class=changes>
  <li>
    New EPS solver: Rayleigh quotient conjugate gradient (RQCG).
    This is the first CG-type eigensolver in SLEPc. It can be used for computing
    smallest eigenvalues of symmetric-definite matrix pairs without inverting
    any matrix (a preconditioner can be used instead).
  <li>
    Added a customizable parameter to specify how to restart in Krylov-Schur, see
    EPSKrylovSchurSetRestart.
    Tunning this parameter may speed up convergence significantly in some cases.
  <li>
    Added support for generalized symmetric-indefinite eigenproblems in
    Krylov-Schur and the Davidson solvers. 
    To use this, set the problem type to EPS_GHIEP.
  <li>
    New variant of Generalized Davidson for generalized eigenproblems that
    expands the subspace with two vectors (GD2). It can be activated with
    -eps_gd_double_expansion.
  <li>
    Added experimental support for arbitrary selection of eigenpairs, where the
    solver chooses the most wanted ones based on a user-defined function of
    the eigenvectors rather than simply sorting the eigenvalues.
  <li>
    Added a new auxiliary class DS: Direct Solver (or Dense System), which is
    intended for developers rather than normal users.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.2</font></b>
</p>

<ul class=changes>
  <li>
    Computational intervals for symmetric eigenproblems, that activate a spectrum slicing mechanism to obtain all eigenvalues in a given interval, see EPSSetInterval.
  <li>
    Partial support (experimental) for GPU computing via PETSc's VECCUSP and MATAIJCUSP.
  <li>
    Improved performance and robustness of GD and JD solvers in (generalized) Hermitian problems.
  <li>
    Performance improvement of solvers with explicit matrix such as SVDCYCLIC and QEPLINEAR
    (now use matrix preallocation).
  <li>
    Added Matlab interface.
  <li>
    Added support for parallel builds with CMake.
  <li>
    Added support for quad precision (configure PETSc --with-precision=__float128 with gcc-4.6 or later).
  <li>
    Interface changes: now all XXXDestroy() routines take a pointer to the object.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.1</font></b>
</p>

<ul class=changes>
  <li>
    New EPS solvers: Generalized Davidson (GD) and Jacobi-Davidson (JD). These are the first
    eigensolvers in SLEPc that belong to the class of preconditioned eigensolvers.
  <li>
    Added a new instance of ST called STPRECOND. This is not really a spectral transformation
    but rather a convenient way of handling the preconditioners in the new eigensolvers.
  <li>
    Added a new class QEP for solving quadratic eigenvalue problems. Currently, it contains
    two solvers: the Q-Arnoldi method and another one that provides a linearization of the
    problem and then invokes an eigensolver from EPS.
  <li>
    Added support for balancing of non-Hermitian problems, see EPSSetBalance.
  <li>
    Improved sorting of eigenvalues, now with the possibility of sorting with respect to
    a target value. With shift-and-invert, now the ordering
    of eigenvalues is the expected one, relative to the target.
    Also added support for user-defined orderings. For details, see EPSSetWhichEigenpairs.
  <li>
    Added support for user-defined convergence tests, see EPSSetConvergenceTest.
    Several predefined convergence criteria are available. Also, there is a new
    flag for computing the true residual for the convergence test, see EPSSetTrueResidual.
  <li>
    Monitors have been reorganized and now more possibilities are available. See the Users
    Manual for details.
  <li>
    Changes in user interface: EPSAttachDeflationSpace has been renamed to EPSSetDeflationSpace,
    EPSSetLeftVectorsWanted replaces EPSSetClass for requesting left eigenvectors;
    Change in arguments: EPSSetDeflationSpace; Deprecated function: EPSSetInitialVector, 
    replaced by EPSSetInitialSpace; STSINV has been renamed to STSINVERT.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 3.0.0</font></b>
</p>

<ul class=changes>
  <li>
      Released under GNU LGPL license.
  <li>
      Improved support for the case that many eigenpairs are to be
      computed. This is especially so in the default eigensolver (Krylov-Schur)
      for symmetric problems, as well as for SVD computations. The user
      can control the behaviour of the solver with a new parameter, mpd
      (see EPSSetDimensions).
  <li>
      Support for harmonic projection in the default eigensolver (Krylov-Schur),
      see EPSSetExtraction. This can be useful for computing interior or 
      rightmost eigenvalues without the need of a spectral transformation.
  <li>
      Memory usage has been optimized in most solvers. In some cases,
      memory requirements have been halved with respect to the previous
      versions.
  <li>
      In the spectral transformations (ST) the linear solver used internally
      has been changed to a direct solver by default. The user can still
      employ an iterative linear solver by setting the appropriate options.
  <li>
      Added better support for Fortran 90.
  <li>
      Improved support for 'make install', see the Users Manual for details.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.3.3</font></b>
</p>

<ul class=changes>
  <li>
    A new solver class, SVD, has been introduced for computing the singular
    value decomposition of a rectangular matrix. The structure of this new
    type is very similar to that of EPS, and it simplifies the computation
    of singular values and vectors. A complete chapter in the users manual
    is devoted to SVD.
  <li>
    Better support for generalized problems. Eigenvector purification has
    been added to improve accuracy in the case of generalized eigenproblems
    with singular B. Also, a new problem type (EPS_PGNHEP) has been added
    for better addressing generalized problems in which A is non-Hermitian
    but B is Hermitian and positive definite.
  <li>
    Now 'make install' is available thus facilitating system-wide installation.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.3.2</font></b>
</p>

<ul class=changes>
  <li>
    A new 'krylovschur' eigensolver has been added, that implements the
    Krylov-Schur method. This method is related to the Arnoldi and Lanczos
    algorithms, but incorporates a new restarting scheme that makes it
    competitive with respect to implicit restart. This eigensolver is now 
    the default for both symmetric and non-symmetric problems.
  <li>
    A new wrapper has been developed to interface with the PRIMME library.
    This library provides Davidson-type eigensolvers.
  <li>
    The 'lanczos' solver has been improved, in particular, the different
    reorthogonalization strategies are now more robust.
  <li>
    Now the 'arnoldi' eigensolver supports the computation of eigenvalues
    other than those of largest magnitude.
  <li>
    EPSGetLinearIterations has been replaced with EPSGetOperationCounters,
    providing more statistics about the solution process.
  <li>
    EPSGetIterationNumber now returns the number corresponding to outer
    iterations.
  <li>
    The 'lobpcg' wrapper has been renamed to 'blopex'.
  <li>
    The 'planso' wrapper has been removed since PLANSO is no longer being
    distributed.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.3.1</font></b>
</p>

<ul class=changes>
  <li>
    New variant of the Arnoldi method added to the 'arnoldi' eigensolver 
    (with delayed reorthogonalization, see EPSArnoldiSetDelayed).
  <li>
    Several optimizations for improving performance and scalability, in particular
    the orthogonalization steps.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.3.0</font></b>
</p>

<ul class=changes>
  <li>
    New 'lanczos' eigensolver, an explicitly restarted version of the Lanczos method
    for symmetric eigenproblems. Allows the user to choose among 5 reorthogonalization
    strategies.
  <li>
    New spectrum folding spectral transformation.
  <li>
    New configuration system, similar to PETSc's configure.py.
  <li>
    New interface to an external eigensolver: LOBPCG implemented in Hypre.
  <li>
    Added graphical convergence monitor (with -eps_xmonitor).
  <li>
    Improvement of Arnoldi solver in terms of efficiency and robustness.
  <li>
    Now the 'lapack' solver uses specific Lapack routines for symmetric and generalized problems.
  <li>
    Bug fix in the ARPACK interface.
</ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.2.1</font></b>
</p>

<ul class=changes>
  <li>
    The 'power' eigensolver has been replaced by a simpler implementation.
  <li>
    The 'rqi' eigensolver has been removed. Now the Rayleigh Quotient Iteration is embedded in the 'power' method.
  <li>
    The 'subspace' eigensolver has been rewritten. Now it follows the SRRIT implementation, which is much faster than the old one.
  <li>
    The 'arnoldi' eigensolver has been re-implemented as well. The new implementation is much more robust and efficient.
  <li>
    A new Spectral Tranformation (ST) has been added: the generalized Cayley transform.
  <li>
    Support for user-provided deflation subspaces has been added (see EPSAttachDeflationSpace).
  <li>
    Support for preservation of symmetry in eigensolvers. For this feature, the user must explicitly call EPSSetProblemType in symmetric problems.
  <li>
    The two types of monitors (error estimates and values) have been merged in a single one.
  <li>
    New function EPSGetInvariantSubspace.
  <li>
    Better support for spectrum slicing in 'blzpack'.
  </ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.2.0</font></b>
</p>

<ul class=changes>
  <li>
    EPSSolve does not return the number of iterations. Use EPSGetIterationNumber for this purpose.
  <li>
    EPSGetSolution has been replaced by EPSGetEigenpair with a cleaner interface.
  <li>
    EPSComputeError has been replaced by EPSComputeRelativeError and EPSComputeResidualNorm with better error computing for zero eigenvalues. These functions now are oriented to single eigenpairs, as well as EPSGetErrorEstimate.
  <li>
    The possibilities of EPSSetWhichEigenpairs have been reduced and now are more coherent across problem types.
  <li>
    Removed STNONE spectral transformation. The default of STSHIFT with 0 shift is equivalent.
  <li>
    Added STSinvertSetMatStructure to optimize performance of MatAXPY in shift-and-invert transformation.
  <li>
    Classical and modified Gram-Schmidt orthogonalization use iterative refinement, with user options for parameter adjustment.
  </ul>

<p>
<font size="3" face="Arial, Helvetica, sans-serif"><b>
Changes in Version 2.1.5</font></b>
</p>

<ul class=changes>
  <li>
    Added call to MatGetInertia in BLZPACK interface.
</ul>
<p>&nbsp;</p>
      </body>
</html>