update solve function

This commit is contained in:
wyq 2020-08-03 11:23:13 +08:00
parent 325d43eed1
commit 7d145d4dc7
12 changed files with 53 additions and 24 deletions

View File

@ -31,6 +31,11 @@
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central" />
<option name="url" value="https://repo1.maven.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />

View File

@ -1,34 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<MeteoInfo File="milconfig.xml" Type="configurefile">
<Path OpenPath="D:\Working\MIScript\Jython\mis\map\topology">
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\meteo\wrf"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\array"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\chart\legend"/>
<Path OpenPath="D:\Working\MIScript\Jython\mis\common_math\linalg">
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\data_process"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\dataset"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\hdf"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\grib"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\scatter"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\wind"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\chart\axis"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\chart"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\interpolate"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\fitting"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\grads"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\dataframe"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map\projection"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map\topology"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\linalg"/>
</Path>
<File>
<OpenedFiles>
<OpenedFile File="D:\Working\MIScript\Jython\mis\toolbox\miml\model_selection\train_test_split_2.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\toolbox\miml\deep_learning\mnist_1.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\map\projection\ortho_proj.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\map\topology\symdiff.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\plot_cuace_3d_particles_relief.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\solve_1.py"/>
</OpenedFiles>
<RecentFiles>
<RecentFile File="D:\Working\MIScript\Jython\mis\toolbox\miml\model_selection\train_test_split_2.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\toolbox\miml\deep_learning\mnist_1.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\map\projection\ortho_proj.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\map\topology\symdiff.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\plot_cuace_3d_particles_relief.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\solve_1.py"/>
</RecentFiles>
</File>
<Font>
@ -36,5 +36,5 @@
</Font>
<LookFeel Name="FlatDarkLaf"/>
<Figure DoubleBuffering="true"/>
<Startup MainFormLocation="-7,0" MainFormSize="1340,763"/>
<Startup MainFormLocation="-7,-7" MainFormSize="1293,693"/>
</MeteoInfo>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>org.meteothink</groupId>
<artifactId>MeteoInfo</artifactId>
<version>2.2.7</version>
<version>2.2.8</version>
</parent>
<artifactId>MeteoInfoLab</artifactId>
<packaging>jar</packaging>

View File

@ -15,6 +15,22 @@ __all__ = [
'solve','cholesky','det','lu','qr', 'svd','eig','inv','lstsq','solve_triangular'
]
class LinAlgError(Exception):
"""
Generic Python-exception-derived object raised by linalg functions.
General purpose exception class, derived from Python's exception.Exception
class, programmatically raised in linalg functions when a Linear
Algebra-related condition would prevent further correct execution of the
function.
"""
pass
def _assert_2d(*arrays):
for a in arrays:
if a.ndim != 2:
raise LinAlgError('%d-dimensional array given. Array must be '
'two-dimensional' % a.ndim)
def solve(a, b):
'''
Solve a linear matrix equation, or system of linear scalar equations.
@ -34,8 +50,16 @@ def solve(a, b):
x : {(M), (M, K)} ndarray
Solution to the system a x = b. Returned shape is identical to ``b``.
'''
_assert_2d(a)
r_2d = False
if b.ndim == 2:
b = b.flatten()
r_2d = True
x = LinalgUtil.solve(a.asarray(), b.asarray())
return NDArray(x)
r = NDArray(x)
if r_2d:
r = r.reshape((len(r),1))
return r
def solve_triangular(a, b, lower=False):
'''

View File

@ -5,7 +5,7 @@
<parent>
<groupId>org.meteothink</groupId>
<artifactId>MeteoInfo</artifactId>
<version>2.2.7</version>
<version>2.2.8</version>
</parent>
<artifactId>MeteoInfoLib</artifactId>
@ -22,7 +22,7 @@
<repository>
<id>central</id>
<name>Maven Central</name>
<url>http://repo1.maven.org/maven2/</url>
<url>https://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>unidata-all</id>

View File

@ -63,7 +63,7 @@ public class GlobalUtil {
* @return Software version
*/
public static String getVersion(){
return "2.2.7";
return "2.2.8";
}
/**

View File

@ -4,7 +4,7 @@
<parent>
<groupId>org.meteothink</groupId>
<artifactId>MeteoInfo</artifactId>
<version>2.2.7</version>
<version>2.2.8</version>
</parent>
<artifactId>MeteoInfoMap</artifactId>
<packaging>jar</packaging>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.meteothink</groupId>
<artifactId>MeteoInfo</artifactId>
<version>2.2.7</version>
<version>2.2.8</version>
<packaging>pom</packaging>
<parent>