#include <stdio.h>
#include "kernel/mod2.h"
#include "Singular/svd_si.h"
#include "kernel/structs.h"
#include "kernel/polys.h"
#include "polys/matpol.h"
#include "Singular/lists.h"
Go to the source code of this file.
◆ p_svdInit()
poly p_svdInit |
( |
char * |
s | ) |
|
Definition at line 17 of file calcSVD.cc.
18{
22}
static FORCE_INLINE const char * n_Read(const char *s, number *a, const coeffs r)
!!! Recommendation: This method is too cryptic to be part of the user- !!! interface....
const CanonicalForm int s
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
#define pInit()
allocates a new monomial and initializes everything to 0
◆ testsvd()
Definition at line 27 of file calcSVD.cc.
28{
29
30 const unsigned int Precision=300;
31
36 int n;
37 int maxmn;
40 int gpass;
41 int pass;
42 bool waserrors;
43 bool wsorted;
44 bool wfailed;
51
52
53 materr = 0;
54 orterr = 0;
55 othererr = 0;
56 wsorted = true;
57 wfailed = false;
58 waserrors = false;
59 maxmn = 50;
63
64
65
66
67
68 for(
i=1;
i<=max_i;
i++)
69 {
70 for(
j=1;
j<=max_j;
j++)
71 {
73 Print(
" to svd:%d,%d=%s\n",
i,
j,str);
75 }
76 }
77
81 svd::svddecomposition<Precision>(a, max_i, max_j, 2, 2, 2,
w, u, vt);
83 Mu=
mpNew(max_i,max_i);
84 Mw=
mpNew(max_i,max_j);
85 Mvt=
mpNew(max_j,max_j);
87 {
89 {
91
92 }
93 }
95 {
97
98 }
100 {
101 for(
j=1;
j<=max_j;
j++)
102 {
104
105 }
106 }
112 L->
m[0].
data=(
char*)Mu;
113 L->
m[1].
data=(
char*)Mw;
114 L->
m[2].
data=(
char*)Mvt;
115 return L;
116}
static int si_min(const int a, const int b)
std::string toString(const gfan::ZCone *const c)
static const ampf getAlgoPascalEpsilon()
void setbounds(int iLow1, int iHigh1, int iLow2, int iHigh2)
INLINE_THIS void Init(int l=0)
matrix mpNew(int r, int c)
create a r x c zero-matrix
#define MATELEM(mat, i, j)
1-based access to matrix