摘要:
任何Java虚拟机实现的核心都是它的执行引擎,在Java虚拟机规范中,执行引擎的行为适用指令集来定义。对于每条指令,规范都详细规定了当实现执行到该指令时应该处理什么,但是却对如何处理言之甚少。 Java虚拟机指令集关注的中心是操作数栈,一般是把将要适用的值压入栈中。虽然Java虚拟机没有保存任意值的寄存器,但每个方法都有一个局部变量集合。指令集实际的工作就是把局部变量当成寄存器,用索引来访问,不过,不同于iinc指令——它可以直接增加一个局部变量的值,要使用保存在局部变量中的值之间,必须先将它压入栈中。 阅读全文
摘要:
一、牛顿迭代法求平方根求n的平方根,先设一猜测值X0=1,然后根据以下公式进行迭代:二、原理假设f(x)是关于X的函数:求出f(x)的一阶导,即斜率:然后利用最终式进行迭代运算直到求到一个比较准确的值。为什么可以用迭代法?如果f函数在闭区间[a,b]内连续,必存在一点X使得f(x)=c,c是函数f在闭区间[a,b]内的一点。 阅读全文
摘要:
在许多实际问题中,常常需要求解这样的线性方程组:他们的系数矩阵数很高,但非零元素很少,也就是大型稀疏线性代数方程组。对于这类方程组,如果不具备带状性,那么用直接发求解就不会很有效。因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致计算量的增加和存储单元的浪费。 迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代方法时要注意的问题。那么,是否可以构造一种适用于一般情况的迭代法?答案是否定的,这时因为不同的稀疏矩阵具有不同的性态,一般的,每一种迭代法都具有一定的适用范围。一,雅克比迭代考虑线性方程组,如下:采用矩阵和向量记号,可... 阅读全文